# GPT 6 Sol API Référence complète de l’API des modèles LLM GPT 6 Sol d’OpenAI. ## Variantes du modèle Cette API prend en charge quatre variantes du modèle : | Modèle | ID | Description | |-------|----|-------------| | **GPT 6 Sol Text to Text** | `gpt-6-sol-text-to-text` | Raisonnement et rédaction de textes à usage général | | **GPT 6 Sol Image to Text** | `gpt-6-sol-image-to-text` | Compréhension d’images à partir d’instructions textuelles | | **GPT 6 Sol Web Search** | `gpt-6-sol-web-search` | Flux de travail LLM textuel avec recherche web | | **GPT 6 Sol File Analysis** | `gpt-6-sol-file-analysis` | Analyse de fichiers à partir d’instructions textuelles | ## Comparaison rapide | Fonctionnalité | Texte vers texte | Image vers texte | Recherche web | Analyse de fichiers | |---------|--------------|---------------|------------|---------------| | Entrée texte | Obligatoire ✅ | Facultatif | Obligatoire ✅ | Facultatif | | Entrée image | Non pris en charge ❌ | Facultatif | Facultatif | Facultatif | | Entrée fichier | Non pris en charge ❌ | Non pris en charge ❌ | Facultatif | Facultatif | | Réponse en streaming | SSE | SSE | SSE | SSE | | `max_tokens` | Facultatif | Facultatif | Facultatif | Facultatif | ## GPT 6 Sol Text to Text ### Point de terminaison ```http POST /api/v1/chat/completions ``` ### Paramètres de la requête #### Obligatoire | Paramètre | Type | Description | |-----------|------|-------------| | `model` | string | Doit être `"gpt-6-sol-text-to-text"` | | `messages` | array | Messages ordonnés. Consultez LLM API pour la structure des messages. | | `stream` | boolean | `true` pour SSE, `false` pour une réponse JSON unique. | #### Contenus de message pris en charge | Champ | Texte | Fichier | Image | |-------|------|------|-------| | `messages` | Obligatoire ✅ | Non pris en charge ❌ | Non pris en charge ❌ | #### Facultatif | Paramètre | Type | Plage | Description | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Nombre maximal de tokens de sortie. Aucun maximum par défaut. | ### Exemple de requête ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-sol-text-to-text', messages: [ { role: 'user', content: 'Write a short launch announcement for a new AI feature.' } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 6 Sol Image to Text ### Point de terminaison ```http POST /api/v1/chat/completions ``` ### Paramètres de la requête #### Obligatoire | Paramètre | Type | Description | |-----------|------|-------------| | `model` | string | Doit être `"gpt-6-sol-image-to-text"` | | `messages` | array | Messages ordonnés. Consultez LLM API et Pièces jointes aux messages. | | `stream` | boolean | `true` pour SSE, `false` pour une réponse JSON unique. | #### Contenus de message pris en charge | Champ | Texte | Fichier | Image | |-------|------|------|-------| | `messages` | Facultatif | Non pris en charge ❌ | Facultatif | #### Facultatif | Paramètre | Type | Plage | Description | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Nombre maximal de tokens de sortie. Aucun maximum par défaut. | ### Exemple de requête ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-sol-image-to-text', messages: [ { role: 'user', content: [ { type: 'text', text: 'Describe the image and extract any visible text.' }, { type: 'image_url', image_url: { url: 'https://example.com/sample-image.jpg' } } ] } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 6 Sol Web Search ### Point de terminaison ```http POST /api/v1/chat/completions ``` ### Paramètres de la requête #### Obligatoire | Paramètre | Type | Description | |-----------|------|-------------| | `model` | string | Doit être `"gpt-6-sol-web-search"` | | `messages` | array | Messages ordonnés. Consultez LLM API et Pièces jointes aux messages. | | `stream` | boolean | `true` pour SSE, `false` pour une réponse JSON unique. | #### Contenus de message pris en charge | Champ | Texte | Fichier | Image | |-------|------|------|-------| | `messages` | Obligatoire ✅ | Facultatif | Facultatif | #### Facultatif | Paramètre | Type | Plage | Description | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Nombre maximal de tokens de sortie. Aucun maximum par défaut. | ### Exemple de requête ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-sol-web-search', messages: [ { role: 'user', content: 'Find recent product launch trends in AI developer tools.' } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 6 Sol File Analysis ### Point de terminaison ```http POST /api/v1/chat/completions ``` ### Paramètres de la requête #### Obligatoire | Paramètre | Type | Description | |-----------|------|-------------| | `model` | string | Doit être `"gpt-6-sol-file-analysis"` | | `messages` | array | Messages ordonnés. Consultez LLM API et Pièces jointes aux messages. | | `stream` | boolean | `true` pour SSE, `false` pour une réponse JSON unique. | #### Contenus de message pris en charge | Champ | Texte | Fichier | Image | |-------|------|------|-------| | `messages` | Facultatif | Facultatif | Facultatif | #### Facultatif | Paramètre | Type | Plage | Description | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Nombre maximal de tokens de sortie. Aucun maximum par défaut. | ### Exemple de requête ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-sol-file-analysis', messages: [ { role: 'user', content: [ { type: 'text', text: 'Summarize this document and list the key action items.' }, { type: 'file', file: { filename: 'demo.pdf', file_data: 'https://example.com/demo.pdf' } } ] } ], stream: true, max_tokens: 2048 }) }); ``` ## Format de la réponse Les modèles LLM GPT 6 Sol renvoient des réponses de complétion compatibles avec OpenAI. Avec `stream: true`, la réponse utilise Server-Sent Events ; avec `stream: false`, elle consiste en un objet JSON unique. ### Réponse réussie ```text data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-sol-image-to-text","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-sol-image-to-text","choices":[{"index":0,"delta":{"content":"The image shows"},"finish_reason":null}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-sol-image-to-text","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-sol-image-to-text","choices":[],"usage":{"prompt_tokens":12,"completion_tokens":8,"total_tokens":20}} data: [DONE] ``` ### Réponse d’erreur ```text event: error data: {"error":{"message":"API requests too frequent, exceeding rate limit","type":"rate_limit_error","code":"1302","param":null}} ``` ## Bonnes pratiques 1. **Gardez des messages structurés :** Utilisez `messages[]` pour l’historique de conversation au lieu de regrouper tout le contexte dans un seul prompt. 2. **Joignez les fichiers et images aux messages :** Placez les éléments `image_url` et `file` dans le message qui les introduit. 3. **Analysez les événements SSE :** Ajoutez `choices[0].delta.content` au contenu pour un affichage progressif et considérez `data: [DONE]` comme une fin réussie. 4. **Envoyez uniquement des entrées prises en charge :** Adaptez les éléments texte, image et fichier à la variante du modèle sélectionnée. 5. **Stockez l’état de la requête localement :** Les fragments incluent un `id` de complétion, mais les clients doivent tout de même les acheminer via l’état de la requête active.