Skip to Content
API-справочникПротокол совместимости с OpenAIChat Completions

Chat Completions

Создание ответов чата. Поддержка генерации текста, мультимодального ввода, вызова функций, потоковых ответов и других функций.

Эндпоинт

POST https://api.ofox.ai/v1/chat/completions

Параметры запроса

ПараметрТипОбязателенОписание
modelstringИдентификатор модели, например openai/gpt-4o
messagesarrayМассив сообщений
temperaturenumberТемпература сэмплирования 0-2, по умолчанию 1
max_tokensnumberМаксимальное количество генерируемых токенов
streambooleanВключить потоковый ответ
top_pnumberПараметр nucleus sampling
frequency_penaltynumberШтраф за частоту от -2 до 2
presence_penaltynumberШтраф за наличие от -2 до 2
toolsarrayОпределения доступных инструментов (Function Calling)
tool_choicestring/objectСтратегия выбора инструмента
response_formatobjectФормат ответа (JSON Mode)
providerobjectРасширение OfoxAI: конфигурация маршрутизации и аварийного переключения

Формат Message

interface Message { role: 'system' | 'user' | 'assistant' | 'tool' content: string | ContentPart[] // Текст или мультимодальный контент name?: string tool_calls?: ToolCall[] // Вызовы инструментов в сообщении assistant tool_call_id?: string // ID вызова в сообщении tool } // Мультимодальный контент type ContentPart = | { type: 'text'; text: string } | { type: 'image_url'; image_url: { url: string; detail?: 'auto' | 'low' | 'high' } }

Примеры запросов

Terminal
curl https://api.ofox.ai/v1/chat/completions \ -H "Authorization: Bearer $OFOX_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "openai/gpt-4o", "messages": [ {"role": "system", "content": "Вы — полезный ассистент."}, {"role": "user", "content": "Объясните, что такое API Gateway"} ], "temperature": 0.7 }'

Формат ответа

{ "id": "chatcmpl-abc123", "object": "chat.completion", "created": 1703123456, "model": "openai/gpt-4o", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "API Gateway — это..." }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 25, "completion_tokens": 150, "total_tokens": 175 } }

Потоковые ответы

Установите stream: true для включения потокового ответа SSE:

stream.py
stream = client.chat.completions.create( model="openai/gpt-4o", messages=[{"role": "user", "content": "Расскажите историю"}], stream=True ) for chunk in stream: content = chunk.choices[0].delta.content if content: print(content, end="", flush=True)

Формат потоковых ответов

Каждый chunk отправляется через SSE:

data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"При"},"finish_reason":null}]} data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"вет"},"finish_reason":null}]} data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]} data: [DONE]

Мультимодальный ввод (визуальный)

Отправьте изображение для анализа моделью:

response = client.chat.completions.create( model="openai/gpt-4o", messages=[{ "role": "user", "content": [ {"type": "text", "text": "Что на этом изображении?"}, {"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}} ] }] )

Модели с поддержкой визуальных возможностей: openai/gpt-4o, anthropic/claude-sonnet-4.5, google/gemini-3-flash-preview и другие. Подробности см. в Руководстве по анализу изображений.

Function Calling

Подробности см. в Руководстве по вызову функций.

Last updated on