> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jiekou.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Créer une requête de conversation

Génère une réponse du modèle selon le prompt et les paramètres spécifiés

## En-têtes de requête

<ParamField header="Content-Type" type="string" required={true}>
  Valeurs d’énumération : `application/json`
</ParamField>

<ParamField header="Authorization" type="string" required={true}>
  Format d’authentification Bearer : Bearer \{\{API Key}}.
</ParamField>

## Corps de la requête

<ParamField body="model" type="string" required={true}>
  Nom du modèle correspondant. Pour les noms de modèles disponibles, veuillez consulter la bibliothèque de modèles de [JieKou AI](https://jiekou.ai/#model-library).
</ParamField>

<ParamField body="prompt" type="string" required={true}>
  Le prompt utilisé pour générer la conversation (le prompt peut être une chaîne, un tableau de chaînes, un tableau de tokens ou un tableau de tableaux de tokens).
</ParamField>

<ParamField body="max_tokens" type="integer" required={false}>
  Nombre maximal de tokens pouvant être générés lors de la génération de la conversation.<br />Le nombre de tokens du prompt ajouté à max\_tokens ne doit pas dépasser la longueur de contexte du modèle.
</ParamField>

<ParamField body="stream" type="boolean | null">
  Indique s’il faut utiliser la transmission en streaming. La valeur par défaut est false. Si ce paramètre est défini, les tokens seront envoyés sous forme de server-sent events (SSE) data-only, et le flux se terminera par un message data: \[DONE].
</ParamField>

<ParamField body="stream_options" type="object">
  Options de réponse en streaming. À définir uniquement lorsque stream est défini sur true.

  <Expandable title="properties" defaultOpen={false}>
    <ParamField body="include_usage" type="boolean" required={false}>
      Si ce paramètre est défini, un chunk supplémentaire sera transmis en streaming avant le message data: \[DONE]. Le champ usage de ce chunk affiche les statistiques d’utilisation des tokens pour l’ensemble de la requête, tandis que le champ choices est toujours un tableau vide. Tous les autres chunks contiendront également un champ usage, mais sa valeur sera null.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="n" type="integer | null">
  Nombre de conversations à générer pour chaque prompt. La valeur par défaut est 1.<br /><br />Remarque : comme ce paramètre génère plusieurs conversations, il peut consommer rapidement votre quota de facturation de tokens. Utilisez-le avec prudence et veillez à définir des valeurs raisonnables pour max\_tokens et stop.<br />Plage requise : 1 \< x \< 128
</ParamField>

<ParamField body="seed" type="integer | null">
  Si ce paramètre est spécifié, notre système fera de son mieux pour effectuer un échantillonnage déterministe, afin que des requêtes répétées avec le même seed et les mêmes paramètres renvoient le même résultat.
</ParamField>

<ParamField body="frequency_penalty" type="number | null">
  La valeur par défaut est 0. Les valeurs positives pénalisent les nouveaux tokens en fonction de leur fréquence d’apparition dans le texte actuel, ce qui réduit la probabilité que le modèle répète le même contenu.<br /><br />Si l’objectif est simplement de réduire les échantillons répétés, des valeurs raisonnables se situent approximativement entre 0,1 et 1. Si l’objectif est de supprimer fortement les répétitions, le coefficient peut être augmenté jusqu’à 2, mais cela peut dégrader sensiblement la qualité des échantillons. Des valeurs négatives peuvent être utilisées pour augmenter la probabilité de répétition.<br /><br />Voir aussi presence\_penalty, utilisé pour pénaliser à un taux fixe les tokens apparus au moins une fois<br />Plage requise : -2 \< x \< 2
</ParamField>

<ParamField body="presence_penalty" type="number | null">
  La valeur par défaut est 0. Les valeurs positives pénalisent les nouveaux tokens selon qu’ils apparaissent ou non dans le texte actuel, ce qui augmente la probabilité que le modèle aborde de nouveaux sujets.<br /><br />Si l’objectif est de réduire légèrement les échantillons répétés, des valeurs raisonnables se situent approximativement entre 0,1 et 1. Si l’objectif est de supprimer fortement les répétitions, le coefficient peut être augmenté jusqu’à 2, mais cela peut réduire significativement la qualité des échantillons. Des valeurs négatives peuvent être utilisées pour augmenter la probabilité de répétition.<br /><br />Voir aussi frequency\_penalty, utilisé pour pénaliser à un taux croissant en fonction de la fréquence d’apparition des tokens<br />Plage requise : -2 \< x \< 2
</ParamField>

<ParamField body="repetition_penalty" type="number | null">
  Applique une pénalité aux tokens répétés afin de supprimer ou d’encourager la répétition. Une valeur de 1.0 signifie qu’il n’y a aucune pénalité et que la répétition est librement autorisée. Les valeurs supérieures à 1.0 pénalisent la répétition et réduisent la probabilité des tokens répétés. Les valeurs comprises entre 0.0 et 1.0 récompensent la répétition et augmentent les chances de tokens répétés. Pour obtenir un bon équilibre, il est généralement recommandé d’utiliser 1.2. Veuillez noter que, dans les modèles décodeur uniquement, la pénalité s’applique à la fois à la sortie générée et au prompt.<br />Plage requise : 0 \< x \< 2
</ParamField>

<ParamField body="stop" type="string | null">
  Jusqu’à 4 séquences pour lesquelles l’API cessera de générer davantage de tokens. Le texte renvoyé contient la séquence d’arrêt.
</ParamField>

<ParamField body="temperature" type="number | null">
  Degré d’aléa dans la conversation, avec une valeur par défaut de 1, comprise entre 0 et 2. Des valeurs plus élevées (comme 0.8) rendent la sortie plus aléatoire, tandis que des valeurs plus faibles (comme 0.2) rendent la sortie plus ciblée et plus déterministe.<br /><br />Nous recommandons généralement d’ajuster soit ce paramètre, soit top\_p, mais pas les deux simultanément.<br />Plage requise : 0 \< x \< 2
</ParamField>

<ParamField body="top_p" type="number | null">
  Méthode alternative à temperature, appelée nucleus sampling : le modèle considère les résultats des tokens dont la masse de probabilité est top\_p. Ainsi, 0.1 signifie que seuls les tokens constituant les 10 % supérieurs de la masse de probabilité sont pris en compte. Nous recommandons généralement d’ajuster soit ce paramètre, soit temperature, mais pas les deux simultanément.<br />Plage requise : 0 \< x ≤ 1
</ParamField>

<ParamField body="top_k" type="integer | null">
  L’échantillonnage Top-k est une autre méthode d’échantillonnage dans laquelle les k prochains tokens les plus probables sont filtrés, et la masse de probabilité est redistribuée uniquement entre ces k tokens. La valeur de k contrôle le nombre de candidats pour les prochains tokens à chaque étape de génération du texte.<br />Plage requise : 1 \< x \< 128
</ParamField>

<ParamField body="min_p" type="number | null">
  Valeur flottante représentant la probabilité minimale qu’un token soit pris en compte, relativement à la probabilité du token le plus probable.<br />Plage requise : 0 ≤ x ≤ 1
</ParamField>

<ParamField body="logit_bias" type="map[string, integer]">
  La valeur par défaut est null. Modifie la probabilité d’apparition des tokens spécifiés dans la conversation. Accepte un objet JSON qui mappe les tokens à des valeurs de biais associées allant de -100 à 100.
</ParamField>

<ParamField body="logprobs" type="integer | null">
  Renvoie les log-probabilités des logprobs tokens de sortie les plus probables, tout en incluant la probabilité du token sélectionné. Par exemple, si logprobs est défini sur 5, l’API renverra à chaque étape de génération la liste des log-probabilités des 5 tokens les plus probables.<br />La valeur maximale de logprobs est 5.
</ParamField>

<ParamField body="best_of" type="integer">
  La valeur par défaut est 1. Génère best\_of conversations et les traite côté serveur, puis renvoie la « meilleure » (c’est-à-dire celle dont la log-probabilité par token est la plus élevée). Les résultats ne peuvent pas être transmis en streaming.<br /><br />Lorsqu’il est utilisé avec n, best\_of contrôle le nombre de conversations candidates, tandis que n spécifie le nombre de conversations à renvoyer. best\_of doit être supérieur à n.<br /><br />Remarque : comme ce paramètre génère plusieurs conversations, il peut consommer rapidement votre quota de facturation de tokens. Utilisez-le avec prudence et veillez à définir des valeurs raisonnables pour max\_tokens et stop.
</ParamField>

## Informations de réponse

<ResponseField name="choices" type="object[]" required={true}>
  Liste des choix de conversations générées.

  <Expandable title="properties" defaultOpen={true}>
    <ResponseField name="finish_reason" type="string" required={true}>
      Raison pour laquelle le modèle a cessé de générer des tokens. Vaut ‘stop’ si le modèle rencontre un point d’arrêt naturel ou la séquence d’arrêt fournie ; vaut ‘length’ si le nombre maximal de tokens spécifié dans la requête a été atteint. Valeurs d’énumération : `stop,length`.
    </ResponseField>

    <ResponseField name="index" type="integer" required={true}>
      Index du choix de conversation.
    </ResponseField>

    <ResponseField name="logprobs" type="object" required={true}>
      Log-probabilités des tokens les plus probables.

      <Expandable title="properties" defaultOpen={true}>
        <ResponseField name="text_offset" type="integer[]">
          Tableau d’entiers des décalages de texte.
        </ResponseField>

        <ResponseField name="token_logprobs" type="number[]">
          Tableau numérique des log-probabilités des tokens.
        </ResponseField>

        <ResponseField name="tokens" type="string[]">
          Tableau de chaînes des tokens.
        </ResponseField>

        <ResponseField name="top_logprobs" type="object[]">
          Tableau d’objets contenant les top log-probabilités.

          <Expandable title="properties">
            <ResponseField name="{key}" type="integer" required={true}>
              Valeur de log-probabilité pour la clé donnée.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="text" type="string" required={true}>
      Contenu renvoyé par la conversation.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="created" type="integer" required={true}>
  Horodatage Unix de génération de la réponse (en secondes).
</ResponseField>

<ResponseField name="id" type="string" required={true}>
  Identifiant unique de la réponse.
</ResponseField>

<ResponseField name="model" type="string" required={true}>
  Modèle utilisé pour la conversation.
</ResponseField>

<ResponseField name="object" type="string" required={true}>
  Type d’objet, toujours text\_completion.
</ResponseField>

<ResponseField name="usage" type="object" required={true}>
  Statistiques d’utilisation.<br />Pour les réponses en streaming, le champ usage est inclus dans le dernier bloc de réponse renvoyé.

  <Expandable title="properties" defaultOpen={true}>
    <ResponseField name="completion_tokens" type="integer" required={true}>
      Nombre de tokens générés par la conversation.
    </ResponseField>

    <ResponseField name="prompt_tokens" type="integer" required={true}>
      Nombre de tokens dans le prompt.
    </ResponseField>

    <ResponseField name="total_tokens" type="integer" required={true}>
      Nombre total de tokens utilisés dans la requête (prompt + completion).
    </ResponseField>
  </Expandable>
</ResponseField>
