/messages
Точка доступа, совместимая с Anthropic Messages API, для работы с сообщениями, системным промптом, инструментами и потоковой передачей.
https://ai.wormsoft.ru/api/gpt/v1/messagesСтруктура запроса
- Тело запроса соответствует формату Anthropic Messages API.
- Обязательные основные поля: model и messages.
- Системный промпт передаётся отдельным полем system.
- Инструменты описываются в формате Anthropic — name, description и input_schema.
- Поддерживаются вызовы инструментов и потоковая передача данных.
Минимальный пример запроса
curl --request POST \
--url https://ai.wormsoft.ru/api/gpt/v1/messages \
--header 'x-api-key: ***' \
--header 'Content-Type: application/json' \
--data '{
"model": "wormsoft/code/medium",
"max_tokens": 1024,
"messages": [
{ "role": "user", "content": "Привет" }
]
}'Ключ можно передавать и через заголовок Authorization: Bearer YOUR_API_KEY.
Системный промпт
Инструкция для модели передаётся отдельным полем system, а не отдельным сообщением в messages.
{
"model": "wormsoft/code/medium",
"max_tokens": 1024,
"system": "Ты — краткий ассистент.",
"messages": [
{ "role": "user", "content": "Привет" }
]
}Вызов инструментов
Для сценариев с агентами передавайте tools в формате Anthropic.
{
"model": "wormsoft/code/medium",
"max_tokens": 1024,
"messages": [
{ "role": "user", "content": "Какая погода в Москве?" }
],
"tools": [
{
"name": "get_weather",
"description": "Get current weather",
"input_schema": {
"type": "object",
"properties": {
"city": { "type": "string" }
}
}
}
]
}Пример ответа
{
"id": "msg_1a2b3c",
"type": "message",
"role": "assistant",
"content": [
{ "type": "text", "text": "Привет! Чем помочь?" }
],
"model": "wormsoft/code/medium",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 12,
"output_tokens": 8
}
}Ответ с вызовом инструмента
{
"id": "msg_4d5e6f",
"type": "message",
"role": "assistant",
"content": [
{
"type": "tool_use",
"id": "call_1",
"name": "get_weather",
"input": { "city": "Москва" }
}
],
"model": "wormsoft/code/medium",
"stop_reason": "tool_use",
"stop_sequence": null,
"usage": {
"input_tokens": 20,
"output_tokens": 15
}
}Потоковая передача
Для поэтапного получения ответа укажите параметр stream: true и обрабатывайте поток событий в формате Anthropic: message_start, content_block_start, content_block_delta, content_block_stop, message_delta и message_stop.
Ошибки и лимиты
Резервное переключение
При редких технических сбоях сервис может автоматически использовать резервный маршрут обработки запроса. Для пользователя этот процесс остаётся незаметным: в ответе указывается фактически использованная модель, которая обработала запрос.