Utiliser l’API et le Playground
Playground
Section intitulée « Playground »Le playground permet de tester rapidement des modèles d’IA en ligne : saisissez une question ou une instruction, discutez avec le modèle et observez le résultat. L’entrée se trouve dans « Playground » dans la navigation de gauche, ou à /playground.
- Choisir un groupe et un modèle : sous le champ de saisie, sélectionnez un groupe de modèles disponible et un modèle précis pour cette conversation.
- Régler les paramètres de requête : cliquez sur le bouton des paramètres pour activer et ajuster la température, le Top P, la pénalité de fréquence, la pénalité de présence et le nombre maximal de jetons.
- Rédiger le message : saisissez votre question, votre instruction ou votre prompt dans le champ en bas de page.
- Envoyer la requête : une fois le modèle, les paramètres et la saisie vérifiés, cliquez sur « Envoyer ».
- Lire la réponse : une fois la génération terminée, lisez la réponse dans la zone de conversation et continuez à écrire pour poursuivre l’échange.
Adresse de l’API et authentification
Section intitulée « Adresse de l’API et authentification »L’adresse compatible OpenAI de la passerelle est généralement :
https://your-host/v1Utilisez une clé API comme jeton Bearer :
Authorization: Bearer sk-your-api-keyExemple avec la complétion de conversation :
curl https://your-host/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-your-api-key" \ -d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"Bonjour"}]}'Exemples de SDK
Section intitulée « Exemples de SDK »Python (SDK OpenAI)
Section intitulée « Python (SDK OpenAI) »from openai import OpenAI
client = OpenAI( api_key="sk-xxxxxxxx", base_url="https://your-host/v1",)
response = client.chat.completions.create( model="gpt-4o-mini", messages=[{"role": "user", "content": "Bonjour"}],)print(response.choices[0].message.content)Format natif Claude
Section intitulée « Format natif Claude »curl https://your-host/v1/messages \ -H "x-api-key: sk-xxxxxxxx" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model": "claude-3-5-sonnet-20241022", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}]}'Format natif Gemini
Section intitulée « Format natif Gemini »curl "https://your-host/v1beta/models/gemini-1.5-pro:generateContent?key=sk-xxxxxxxx" \ -H "Content-Type: application/json" \ -d '{"contents": [{"parts": [{"text": "Hello"}]}]}'Points de terminaison pris en charge
Section intitulée « Points de terminaison pris en charge »Conversation et texte
Section intitulée « Conversation et texte »| Point de terminaison | Chemin | Description |
|---|---|---|
| Complétion de conversation | POST /v1/chat/completions |
Endpoint compatible OpenAI Chat Completions. Exige model et messages, avec réponses en flux ou normales. |
| Chat du playground | POST /pg/chat/completions |
Endpoint dédié au playground web. S’authentifie avec votre session de connexion au lieu d’une clé API ; la facturation est identique à celle d’un appel normal. |
| Complétion de texte | POST /v1/completions |
Endpoint de complétion de texte historique. Exige prompt et model. |
| API Responses | POST /v1/responses |
Endpoint au format OpenAI Responses, avec prise en charge des entrées, des outils et des événements de réponse. |
| Compactage Responses | POST /v1/responses/compact |
Compacte le contexte d’une requête Responses. |
| Claude Messages | POST /v1/messages |
Endpoint compatible Anthropic Claude Messages. Exige model et le contenu des messages, converti au protocole amont si nécessaire. |
| Recherche web Codex | POST /v1/alpha/search |
Format de recherche web propre à Codex, pris en charge par une partie des modèles seulement. |
| Conversation en temps réel | GET /v1/realtime (WebSocket) |
Endpoint bidirectionnel de type OpenAI Realtime. Le modèle passe généralement en paramètre de requête, et la clé API par jeton Bearer ou sous-protocole WebSocket. |
Vecteurs et classement
Section intitulée « Vecteurs et classement »| Point de terminaison | Chemin | Description |
|---|---|---|
| Embeddings | POST /v1/embeddings |
Convertit un texte ou un tableau de textes en vecteurs. Exige input. |
| Embeddings compatibles Gemini | POST /v1/engines/{model}/embeddings |
Chemin d’embedding de style Gemini historique, qui prend le nom du modèle dans l’URL. |
| Reclassement | POST /v1/rerank |
Classe les documents candidats par pertinence vis-à-vis d’une query. La requête et la liste de documents ne doivent pas être vides. |
| Modération | POST /v1/moderations |
Applique une modération de contenu à du texte ou à d’autres entrées. Sans modèle indiqué, un modèle de modération par défaut est retenu. |
Images et audio
Section intitulée « Images et audio »| Point de terminaison | Chemin | Description |
|---|---|---|
| Génération d’images | POST /v1/images/generations |
Génère des images à partir d’un prompt. Les tailles, niveaux de qualité et quantités disponibles dépendent du modèle choisi. |
| Édition d’images | POST /v1/images/edits |
Modifie une image à partir d’une image d’entrée et d’un prompt. Prend en charge JSON et multipart/form-data. |
| Ancien endpoint d’édition | POST /v1/edits |
Chemin de compatibilité conservé, qui entre dans le relais d’images. Les nouveaux clients devraient préférer /v1/images/edits. |
| Transcription audio | POST /v1/audio/transcriptions |
Convertit l’audio en texte, transmis au canal de reconnaissance vocale correspondant au format audio OpenAI. |
| Traduction audio | POST /v1/audio/translations |
Reconnaît le contenu audio et renvoie le texte traduit. |
| Synthèse vocale | POST /v1/audio/speech |
Convertit le texte d’entrée en audio. |
Les points de terminaison de génération asynchrone (vidéo, musique, etc.) sont décrits sous « Génération asynchrone et endpoints de tâches » dans Journaux et tâches asynchrones.
Listes de modèles
Section intitulée « Listes de modèles »| Point de terminaison | Chemin | Description |
|---|---|---|
| Liste de modèles | GET /v1/models |
Renvoie par défaut la liste au format OpenAI. Les en-têtes Anthropic renvoient le format Claude, et un en-tête x-goog-api-key ou un paramètre key renvoie le format Gemini. |
| Détail d’un modèle | GET /v1/models/{model} |
Renvoie les informations d’un modèle, ou un objet d’erreur model_not_found s’il n’existe pas. |
| Liste de modèles Gemini | GET /v1beta/models |
Renvoie les modèles disponibles au format Gemini, avec les champs models et nextPageToken. |
| Liste de modèles au format OpenAI | GET /v1beta/openai/models |
Renvoie la liste au format OpenAI dans l’espace de noms compatible Gemini. |
Chemins natifs Gemini
Section intitulée « Chemins natifs Gemini »| Point de terminaison | Chemin | Description |
|---|---|---|
| Appel natif Gemini | POST /v1beta/models/{model}:{action} |
Endpoint au format natif Gemini, prenant en charge generateContent, streamGenerateContent et les opérations d’embedding. |
| Appel compatible Gemini | POST /v1/models/{model}:{action} |
Accepte les opérations de style Gemini sous le préfixe /v1, analysées et converties par le relais Gemini. |