Open Responses
Открытая спецификация на основе Responses API и подключение совместимых клиентов к Veda AI Gateway.
Open Responses это открытая спецификация для вызова языковых моделей у разных поставщиков через один интерфейс. Она построена на формате OpenAI Responses и описывает общую схему: сообщения и другие элементы ввода и вывода, вызовы инструментов, мультимодальный ввод и единый набор потоковых событий.
Veda AI Gateway принимает запросы в формате Responses на маршруте /v1/responses. Клиенту Open Responses, которому можно задать адрес и ключ, достаточно указать Veda как сервер.
Подключение клиента
| Параметр | Значение |
|---|---|
| Базовый адрес | $VEDA_BASE_URL/v1 |
| Маршрут | POST /v1/responses |
| Аутентификация | Authorization: Bearer $VEDA_API_KEY |
| Модель | Идентификатор из каталога, например anthropic/claude-sonnet-5.5 |
Первый запрос
В Open Responses ввод обычно передаётся массивом элементов. Элемент сообщения имеет type: "message", роль и содержимое.
const response = await fetch(`${process.env.VEDA_BASE_URL}/v1/responses`, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.VEDA_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "anthropic/claude-sonnet-5.5",
input: [{ type: "message", role: "user", content: "Какая столица у Франции?" }],
}),
});
if (!response.ok) throw new Error(`Veda: ${response.status} ${await response.text()}`);
const result = await response.json();
for (const item of result.output) {
if (item.type !== "message") continue;
for (const part of item.content) if (part.type === "output_text") console.log(part.text);
}Элементы вывода
Ответ содержит массив output. Каждый элемент имеет type:
| Тип элемента | Содержимое |
|---|---|
message | Ответ модели: части output_text с текстом |
function_call | Вызов функции: name, arguments в JSON и call_id |
reasoning | Рассуждение модели, если модель его возвращает |
Чтобы продолжить диалог, добавьте элементы output в следующий input вместе с новым сообщением пользователя. Результат функции отправляется элементом function_call_output с тем же call_id.
Возможности
Open Responses использует те же поля, что и Responses. Их использование с Veda описано на странице OpenAI Responses:
- потоковая передача с
"stream": trueи событиямиresponse.output_text.delta,response.completed; - вызов инструментов через
toolsи элементыfunction_call; - структурированный вывод через
text.format; - рассуждения через
reasoning; - изображения на входе через части
input_image.
Каждая возможность работает, если её поддерживает выбранная модель. Поля, которые спецификация добавляет сверх формата Responses, проверьте на своей модели перед использованием в продакшене.
Ошибки
Ошибки проверки ключа и лимитов приходят в формате { "error": { "code": ..., "message": ... } }: 401 неверный или неактивный ключ, 402 лимит расходов, 429 ограничение частоты. Полный список в обзоре API.
Anthropic Messages
Подключение Anthropic SDK и Claude Code к Veda AI Gateway. Потоковая передача, инструменты, расширенное мышление и изображения в формате Anthropic.
AI SDK
Подключение Veda AI Gateway к AI SDK через провайдер @ai-sdk/openai-compatible. Генерация текста, потоковая передача, инструменты, рассуждения и изображения.