Passer au contenu principal
POST
/
v1
/
chat
/
completions
Créer une Chat Completion
curl --request POST \
  --url https://api.example.com/v1/chat/completions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "messages": [
    {
      "content": "<string>",
      "role": "<string>",
      "name": "<string>"
    }
  ],
  "model": "<string>",
  "frequency_penalty": 0,
  "logit_bias": {},
  "logprobs": false,
  "top_logprobs": 0,
  "max_tokens": 123,
  "max_completion_tokens": 123,
  "n": 1,
  "presence_penalty": 0,
  "response_format": {
    "type": "text",
    "json_schema": {
      "name": "<string>",
      "description": "<string>",
      "schema": {},
      "strict": true
    }
  },
  "seed": 0,
  "stop": [],
  "stream": false,
  "stream_options": {
    "include_usage": true,
    "continuous_usage_stats": false
  },
  "temperature": 123,
  "top_p": 123,
  "tools": [
    {
      "function": {
        "name": "<string>",
        "description": "<string>",
        "parameters": {}
      },
      "type": "function"
    }
  ],
  "tool_choice": "none",
  "reasoning_effort": "low",
  "include_reasoning": true,
  "parallel_tool_calls": true,
  "user": "<string>",
  "use_beam_search": false,
  "top_k": 123,
  "min_p": 123,
  "repetition_penalty": 123,
  "length_penalty": 1,
  "stop_token_ids": [],
  "include_stop_str_in_output": false,
  "ignore_eos": false,
  "min_tokens": 0,
  "skip_special_tokens": true,
  "spaces_between_special_tokens": true,
  "truncate_prompt_tokens": 4611686018427388000,
  "prompt_logprobs": 123,
  "allowed_token_ids": [
    123
  ],
  "bad_words": [
    "<string>"
  ],
  "echo": false,
  "add_generation_prompt": true,
  "continue_final_message": false,
  "add_special_tokens": false,
  "documents": [
    {}
  ],
  "chat_template": "<string>",
  "chat_template_kwargs": {},
  "mm_processor_kwargs": {},
  "structured_outputs": {
    "json": "<string>",
    "regex": "<string>",
    "choice": [
      "<string>"
    ],
    "grammar": "<string>",
    "json_object": true,
    "disable_fallback": false,
    "disable_any_whitespace": false,
    "disable_additional_properties": false,
    "whitespace_pattern": "<string>",
    "structural_tag": "<string>",
    "_backend": "<string>",
    "_backend_was_auto": false
  },
  "priority": 0,
  "request_id": "<string>",
  "logits_processors": [
    "<string>"
  ],
  "return_tokens_as_token_ids": true,
  "return_token_ids": true,
  "cache_salt": "<string>",
  "kv_transfer_params": {},
  "vllm_xargs": {}
}
'
{
  "model": "<string>",
  "choices": [
    {
      "index": 123,
      "message": {
        "role": "<string>",
        "content": "<string>",
        "refusal": "<string>",
        "annotations": {
          "type": "<string>",
          "url_citation": {
            "end_index": 123,
            "start_index": 123,
            "title": "<string>",
            "url": "<string>"
          }
        },
        "audio": {
          "id": "<string>",
          "data": "<string>",
          "expires_at": 123,
          "transcript": "<string>"
        },
        "function_call": {
          "name": "<string>",
          "arguments": "<string>"
        },
        "tool_calls": [
          {
            "function": {
              "name": "<string>",
              "arguments": "<string>"
            },
            "id": "<string>",
            "type": "function"
          }
        ],
        "reasoning": "<string>",
        "reasoning_content": "<string>"
      },
      "logprobs": {
        "content": [
          {
            "token": "<string>",
            "logprob": -9999,
            "bytes": [
              123
            ],
            "top_logprobs": [
              {
                "token": "<string>",
                "logprob": -9999,
                "bytes": [
                  123
                ]
              }
            ]
          }
        ]
      },
      "finish_reason": "stop",
      "stop_reason": 123,
      "token_ids": [
        123
      ]
    }
  ],
  "usage": {
    "prompt_tokens": 0,
    "total_tokens": 0,
    "completion_tokens": 0,
    "prompt_tokens_details": {
      "cached_tokens": 123
    }
  },
  "id": "<string>",
  "object": "chat.completion",
  "created": 123,
  "service_tier": "auto",
  "system_fingerprint": "<string>",
  "prompt_logprobs": [
    {}
  ],
  "prompt_token_ids": [
    123
  ],
  "kv_transfer_params": {}
}

Autorisations

Authorization
string
header
requis

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Corps

application/json
messages
(ChatCompletionDeveloperMessageParam · object | ChatCompletionSystemMessageParam · object | ChatCompletionUserMessageParam · object | ChatCompletionAssistantMessageParam · object | ChatCompletionToolMessageParam · object | ChatCompletionFunctionMessageParam · object | CustomChatCompletionMessageParam · object | Message · object)[]
requis

Instructions fournies par le développeur que le modèle doit suivre, quels que soient les messages envoyés par l’utilisateur. Avec les modèles o1 et versions ultérieures, les messages developer remplacent les anciens messages system.

model
string | null
frequency_penalty
number | null
défaut:0
logit_bias
Logit Bias · object
logprobs
boolean | null
défaut:false
top_logprobs
integer | null
défaut:0
max_tokens
integer | null
obsolète
max_completion_tokens
integer | null
n
integer | null
défaut:1
presence_penalty
number | null
défaut:0
response_format
ResponseFormat · object
seed
integer | null
Plage requise: -9223372036854776000 <= x <= 9223372036854776000
stop
défaut:[]
stream
boolean | null
défaut:false
stream_options
StreamOptions · object
temperature
number | null
top_p
number | null
tools
ChatCompletionToolsParam · object[] | null
tool_choice
défaut:none
Allowed value: "none"
reasoning_effort
enum<string> | null
Options disponibles:
low,
medium,
high
include_reasoning
boolean
défaut:true
parallel_tool_calls
boolean | null
défaut:true
user
string | null
top_k
integer | null
min_p
number | null
repetition_penalty
number | null
length_penalty
number
défaut:1
stop_token_ids
integer[] | null
include_stop_str_in_output
boolean
défaut:false
ignore_eos
boolean
défaut:false
min_tokens
integer
défaut:0
skip_special_tokens
boolean
défaut:true
spaces_between_special_tokens
boolean
défaut:true
truncate_prompt_tokens
integer | null
Plage requise: -1 <= x <= 9223372036854776000
prompt_logprobs
integer | null
allowed_token_ids
integer[] | null
bad_words
string[]
echo
boolean
défaut:false

Si la valeur est true, le nouveau message sera ajouté au début avec le dernier message s’ils ont le même rôle.

add_generation_prompt
boolean
défaut:true

Si la valeur est true, l’invite de génération sera ajoutée au modèle de chat. Il s’agit d’un paramètre utilisé par le modèle de chat dans la configuration du tokenizer du modèle.

continue_final_message
boolean
défaut:false

Si cette valeur est définie, le chat sera formaté de sorte que le dernier message dans le chat reste ouvert, sans aucun token EOS. Le modèle poursuivra ce message au lieu d’en commencer un nouveau. Cela vous permet de « préremplir » une partie de la réponse du modèle. Ne peut pas être utilisé en même temps que add_generation_prompt.

add_special_tokens
boolean
défaut:false

Si la valeur est true, des token spéciaux (par ex. BOS) seront ajoutés à l’invite en plus de ceux ajoutés par le modèle de chat. Pour la plupart des modèles, le modèle de chat se charge d’ajouter les token spéciaux ; cette valeur doit donc être définie sur false (valeur par défaut).

documents
Documents · object[] | null

Une liste de dicts représentant des documents auxquels le modèle aura accès s’il effectue du RAG (génération augmentée par récupération). Si le modèle ne prend pas en charge le RAG, cet argument n’aura aucun effet. Nous recommandons que chaque document soit un dict contenant les clés "title" et "text".

chat_template
string | null

Un modèle Jinja à utiliser pour cette conversion. À partir de transformers v4.44, le modèle de chat par défaut n’est plus autorisé ; vous devez donc fournir un modèle de chat si le tokenizer n’en définit pas.

chat_template_kwargs
Chat Template Kwargs · object

Arguments nommés supplémentaires à transmettre au moteur de rendu du modèle. Ils seront accessibles depuis le modèle de chat.

mm_processor_kwargs
Mm Processor Kwargs · object

Arguments nommés supplémentaires à transmettre au processeur HF.

structured_outputs
StructuredOutputsParams · object

Arguments nommés supplémentaires pour les sorties structurées

priority
integer
défaut:0

La priorité de la requête (une valeur plus faible signifie un traitement plus tôt ; valeur par défaut : 0). Toute priorité autre que 0 entraînera une erreur si le modèle servi n’utilise pas d’ordonnancement par priorité.

request_id
string

Le request_id associé à cette requête. Si l’appelant ne le définit pas, un random_uuid est généré. Cet ID est utilisé tout au long du processus d’inférence et renvoyé dans la réponse.

logits_processors
(string | LogitsProcessorConstructor · object)[] | null

Une liste contenant soit des noms qualifiés de processeurs de logits, soit des objets constructeur, à appliquer lors de l’échantillonnage. Un constructeur est un objet JSON avec un champ obligatoire 'qualname' qui spécifie le nom qualifié de la classe/factory du processeur, ainsi que des champs facultatifs 'args' et 'kwargs' contenant respectivement les arguments positionnels et nommés. Par exemple : {'qualname': 'my_module.MyLogitsProcessor', 'args': [1, 2], 'kwargs': {'param': 'value'}}.

return_tokens_as_token_ids
boolean | null

Si spécifié avec 'logprobs', les tokens sont représentés sous forme de chaînes au format 'token_id:{token_id}', afin de pouvoir identifier les tokens qui ne peuvent pas être encodés en JSON.

return_token_ids
boolean | null

Si spécifié, le résultat inclut les ID de token en plus du texte généré. En mode streaming, prompt_token_ids n’est inclus que dans le premier bloc, et token_ids contient les tokens delta de chaque bloc. Cela est utile pour le débogage ou lorsque vous devez faire correspondre le texte généré aux tokens d’entrée.

cache_salt
string | null

Si spécifié, le cache de préfixes sera salé avec la chaîne fournie afin d’empêcher un attaquant de deviner les prompts dans des environnements multi-utilisateurs. Le sel doit être aléatoire, protégé contre tout accès de tiers et suffisamment long pour être imprévisible (par exemple, 43 caractères encodés en base64, correspondant à 256 bits).

kv_transfer_params
Kv Transfer Params · object

Paramètres KVTransfer utilisés pour le serving désagrégé.

vllm_xargs
Vllm Xargs · object

Paramètres de requête supplémentaires avec des valeurs de type chaîne ou numérique, ou des listes de telles valeurs, utilisés par des extensions personnalisées.

Réponse

Réponse réussie

model
string
requis
choices
ChatCompletionResponseChoice · object[]
requis
usage
UsageInfo · object
requis
id
string
object
string
défaut:chat.completion
Allowed value: "chat.completion"
created
integer
service_tier
enum<string> | null
Options disponibles:
auto,
default,
flex,
scale,
priority
system_fingerprint
string | null
prompt_logprobs
(object | null)[] | null
prompt_token_ids
integer[] | null
kv_transfer_params
Kv Transfer Params · object

Paramètres KVTransfer.