# GPT 6 Sol API Полный справочник API для больших языковых моделей GPT 6 Sol от OpenAI. ## Варианты модели Этот API поддерживает четыре варианта модели: | Модель | Идентификатор | Описание | |-------|----|-------------| | **GPT 6 Sol Text to Text** | `gpt-6-sol-text-to-text` | Рассуждения и написание текстов общего назначения | | **GPT 6 Sol Image to Text** | `gpt-6-sol-image-to-text` | Понимание изображений по текстовым инструкциям | | **GPT 6 Sol Web Search** | `gpt-6-sol-web-search` | Рабочий процесс текстовой LLM с возможностью поиска в интернете | | **GPT 6 Sol File Analysis** | `gpt-6-sol-file-analysis` | Анализ файлов по текстовым инструкциям | ## Краткое сравнение | Возможность | Текст в текст | Изображение в текст | Поиск в интернете | Анализ файлов | |---------|--------------|---------------|------------|---------------| | Текстовый ввод | Обязательно ✅ | Необязательно | Обязательно ✅ | Необязательно | | Ввод изображений | Не поддерживается ❌ | Необязательно | Необязательно | Необязательно | | Ввод файлов | Не поддерживается ❌ | Не поддерживается ❌ | Необязательно | Необязательно | | Потоковый ответ | SSE | SSE | SSE | SSE | | `max_tokens` | Необязательно | Необязательно | Необязательно | Необязательно | ## GPT 6 Sol Text to Text ### Конечная точка ```http POST /api/v1/chat/completions ``` ### Параметры запроса #### Обязательно | Параметр | Тип | Описание | |-----------|------|-------------| | `model` | string | Должно быть `"gpt-6-sol-text-to-text"` | | `messages` | array | Упорядоченные сообщения. Структуру сообщений см. в документации LLM API. | | `stream` | boolean | `true` для SSE, `false` для единого ответа JSON. | #### Поддерживаемое содержимое сообщений | Поле | Текст | Файл | Изображение | |-------|------|------|-------| | `messages` | Обязательно ✅ | Не поддерживается ❌ | Не поддерживается ❌ | #### Необязательно | Параметр | Тип | Диапазон | Описание | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Максимальное количество выходных токенов. Максимум по умолчанию не задан. | ### Пример запроса ```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 ### Конечная точка ```http POST /api/v1/chat/completions ``` ### Параметры запроса #### Обязательно | Параметр | Тип | Описание | |-----------|------|-------------| | `model` | string | Должно быть `"gpt-6-sol-image-to-text"` | | `messages` | array | Упорядоченные сообщения. См. документацию LLM API и раздел «Вложения в сообщениях». | | `stream` | boolean | `true` для SSE, `false` для единого ответа JSON. | #### Поддерживаемое содержимое сообщений | Поле | Текст | Файл | Изображение | |-------|------|------|-------| | `messages` | Необязательно | Не поддерживается ❌ | Необязательно | #### Необязательно | Параметр | Тип | Диапазон | Описание | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Максимальное количество выходных токенов. Максимум по умолчанию не задан. | ### Пример запроса ```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 ### Конечная точка ```http POST /api/v1/chat/completions ``` ### Параметры запроса #### Обязательно | Параметр | Тип | Описание | |-----------|------|-------------| | `model` | string | Должно быть `"gpt-6-sol-web-search"` | | `messages` | array | Упорядоченные сообщения. См. документацию LLM API и раздел «Вложения в сообщениях». | | `stream` | boolean | `true` для SSE, `false` для единого ответа JSON. | #### Поддерживаемое содержимое сообщений | Поле | Текст | Файл | Изображение | |-------|------|------|-------| | `messages` | Обязательно ✅ | Необязательно | Необязательно | #### Необязательно | Параметр | Тип | Диапазон | Описание | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Максимальное количество выходных токенов. Максимум по умолчанию не задан. | ### Пример запроса ```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 ### Конечная точка ```http POST /api/v1/chat/completions ``` ### Параметры запроса #### Обязательно | Параметр | Тип | Описание | |-----------|------|-------------| | `model` | string | Должно быть `"gpt-6-sol-file-analysis"` | | `messages` | array | Упорядоченные сообщения. См. документацию LLM API и раздел «Вложения в сообщениях». | | `stream` | boolean | `true` для SSE, `false` для единого ответа JSON. | #### Поддерживаемое содержимое сообщений | Поле | Текст | Файл | Изображение | |-------|------|------|-------| | `messages` | Необязательно | Необязательно | Необязательно | #### Необязательно | Параметр | Тип | Диапазон | Описание | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Максимальное количество выходных токенов. Максимум по умолчанию не задан. | ### Пример запроса ```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 }) }); ``` ## Формат ответа Большие языковые модели GPT 6 Sol возвращают ответы генерации, совместимые с OpenAI. При `stream: true` ответ передаётся в виде событий SSE; при `stream: false` ответ представляет собой единый объект JSON. ### Успешный ответ ```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] ``` ### Ответ с ошибкой ```text event: error data: {"error":{"message":"API requests too frequent, exceeding rate limit","type":"rate_limit_error","code":"1302","param":null}} ``` ## Рекомендации 1. **Сохраняйте структуру сообщений:** Передавайте историю диалога через `messages[]`, а не объединяйте весь контекст в один промпт. 2. **Прикрепляйте файлы и изображения к сообщениям:** Помещайте части `image_url` и `file` в то сообщение, в котором они были представлены. 3. **Используйте разбор SSE:** Добавляйте `choices[0].delta.content` для постепенного отображения и считайте `data: [DONE]` признаком успешного завершения. 4. **Отправляйте только поддерживаемые входные данные:** Подбирайте текстовые части, изображения и файлы в соответствии с выбранным вариантом модели. 5. **Храните состояние запроса локально:** Фрагменты содержат `id` генерации, но клиентам всё равно следует направлять фрагменты через состояние активного запроса.