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

# Complétions de chat

> Appelez /chat/completions avec le SDK Python.

**Méthode** : `client.generate_text()` (diffusez les fragments analysés avec `client.stream_chat()`).

### Exemple

```python theme={null}
chat = client.generate_text({
    "model": "openai/gpt-4o-mini",
    "messages": [
        {"role": "system", "content": "You are helpful."},
        {"role": "user", "content": "Write a limerick about lighthouses."},
    ],
    "temperature": 0.5,
})
```

### Diffusion en continu

```python theme={null}
for chunk in client.stream_chat({
    "model": "openai/gpt-4o-mini",
    "messages": [{"role": "user", "content": "Stream a story"}],
}):
    if chunk.get("text"):
        print(chunk["text"], end="", flush=True)
```

### Paramètres clés

* `model` (obligatoire) : ID du modèle cible.
* `messages` (obligatoire) : messages ordonnés avec les rôles `system|user|assistant|tool` ; le contenu peut être du texte ou des parties.
* Échantillonnage : `temperature` (0–2), `top_p` (0–1), `top_k` (>=1), `seed` (entier facultatif).
* Longueur et pénalités : `max_output_tokens` (entier), `presence_penalty` et `frequency_penalty` (-2 à 2), `stop` (string|string\[]).
* Outils : `tools` (définitions), `tool_choice` (auto/none/outil spécifique), `max_tool_calls` (entier), `parallel_tool_calls` (booléen).
* Logprobs : `logprobs` (booléen), `top_logprobs` (0–20).
* Sortie : `response_format` (json/text), `metadata` (objet transmis), `stream` (booléen), `service_tier`.
* Options de la passerelle : `usage` (booléen pour demander les données d’utilisation), `meta` (booléen pour inclure le bloc meta).

### Retour

`ChatCompletionsResponse`

```json theme={null}
{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "gpt-3.5-turbo-0125",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello there, how may I assist you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 12,
    "total_tokens": 21
  }
}
```

Ou des lignes SSE pendant le streaming

```
data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1677652288,"model":"gpt-3.5-turbo-0125","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]}

data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1677652288,"model":"gpt-3.5-turbo-0125","choices":[{"index":0,"delta":{"content":"Hello"},"finish_reason":null}]}

data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1677652288,"model":"gpt-3.5-turbo-0125","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"usage":{"prompt_tokens":9,"completion_tokens":12,"total_tokens":21}}

data: [DONE]
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.