Chat (texte)

Completions de conversation, avec ou sans streaming, avec ou sans outils.

Requete

http
POST /v1/chat/completions
json
{
  "messages": [
    { "role": "user", "content": "Explique le routage IA en une phrase." }
  ],
  "model": null,
  "routing_strategy": "auto",
  "max_tokens": null,
  "temperature": null,
  "stream": false,
  "tools": null,
  "tool_choice": null
}

Seul messages est obligatoire. model et routing_strategy sont documentes dans Routage & fallback.

Reponse

json
{
  "content": "Le routage IA choisit automatiquement le meilleur fournisseur disponible pour chaque appel.",
  "finish_reason": "stop",
  "model": "claude-opus-5",
  "provider": "anthropic",
  "input_tokens": 12,
  "output_tokens": 18,
  "tool_calls": null
}

Streaming

Passez "stream": true pour recevoir la reponse au format Server-Sent Events plutot qu'en un seul bloc JSON.

typescript
for await (const chunk of client.chat.completions.stream({
  messages: [{ role: "user", content: "Compte jusqu'a 10." }],
})) {
  process.stdout.write(chunk.delta);
}

Appel d'outils (function calling)

Fournissez tools (definitions au format JSON Schema standard) et le modele peut repondre avec tool_calls au lieu (ou en plus) de texte. Renvoyez le resultat dans un message de role "tool" avec le tool_call_id correspondant pour continuer la conversation.

json
{
  "messages": [
    { "role": "user", "content": "Quel temps fait-il a Paris ?" },
    {
      "role": "assistant",
      "content": "",
      "tool_calls": [
        { "id": "call_1", "name": "get_weather", "arguments": { "city": "Paris" } }
      ]
    },
    { "role": "tool", "tool_call_id": "call_1", "content": "18C, nuageux" }
  ],
  "tools": [
    {
      "name": "get_weather",
      "description": "Meteo actuelle d'une ville.",
      "parameters": {
        "type": "object",
        "properties": { "city": { "type": "string" } },
        "required": ["city"]
      }
    }
  ]
}
Pour une orchestration multi-tours automatisee (le serveur relance le modele apres chaque resultat d'outil, garde une memoire long terme), voir le guide Agents IA plutot que de gerer la boucle vous-meme.

Modeles compatibles

Anthropic (Claude), OpenAI (GPT), Google (Gemini), DeepSeek, xAI (Grok), Mistral, Moonshot, MiniMax, Meta — la liste exacte et a jour est disponible via le catalogue :

bash
GET /v1/models?category=text