> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-hivemind-launch.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Chat Completions

> Créez des Chat Completions avec l’endpoint compatible avec OpenAI

Créez un Chat Completion à l’aide de l’endpoint `/chat/completions`. Cet endpoint suit le format OpenAI pour l’envoi de messages et la réception de réponses.

<div id="requirements">
  ## Prérequis
</div>

Pour créer un Chat Completion, fournissez :

* l’URL de base du service Inférence : `https://api.inference.wandb.ai/v1`
* votre clé API W\&B : `<your-api-key>`
* Facultatif : votre équipe W\&B et votre projet : `<your-team>/<your-project>`
* l’ID d’un modèle parmi les [modèles disponibles](/fr/inference/models)

<div id="request-examples">
  ## Exemples de requêtes
</div>

<Tabs>
  <Tab title="Python">
    ```python theme={null}
    import openai

    client = openai.OpenAI(
        # L'URL de base personnalisée pointe vers Serverless Inference
        base_url='https://api.inference.wandb.ai/v1',

        # Créez une clé API sur https://wandb.ai/settings
        # Pour plus de sécurité, envisagez plutôt de la définir dans l'environnement sous le nom OPENAI_API_KEY
        api_key="<your-api-key>",

        # Facultatif : équipe et projet pour le suivi de l'utilisation
        project="<your-team>/<your-project>",
    )

    # Remplacez <model-id> par n'importe quel ID du modèle de la liste des modèles disponibles
    response = client.chat.completions.create(
        model="<model-id>",
        messages=[
            {"role": "system", "content": "<your-system-prompt>"},
            {"role": "user", "content": "<your-prompt>"}
        ],
    )

    print(response.choices[0].message.content)
    ```
  </Tab>

  <Tab title="Bash">
    ```bash theme={null}
    curl https://api.inference.wandb.ai/v1/chat/completions \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer <your-api-key>" \
      -H "OpenAI-Project: <your-team>/<your-project>" \
      -d '{
        "model": "<model-id>",
        "messages": [
          { "role": "system", "content": "You are a helpful assistant." },
          { "role": "user", "content": "Tell me a joke." }
        ]
      }'
    ```
  </Tab>
</Tabs>

<div id="response-format">
  ## Format de réponse
</div>

L’API renvoie des réponses dans un format compatible avec OpenAI :

```json theme={null}
{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "created": 1234567890,
  "model": "meta-llama/Llama-3.1-8B-Instruct",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Here's a joke for you..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 50,
    "total_tokens": 75
  }
}
```
