API Reference

Полная документация API эндпоинтов. API VEGA полностью совместим с OpenAI Chat API.

API VEGA является OpenRouter-compatible proxy. Помимо/chat/completions, в proxy-слое доступны/models,/models/count,/providers,/key,/keys и/completions. Бесплатные модели:free и модели с нулевой стоимостью одновременно для input/output из каталога исключаются и в запросы не допускаются.

Base URL

https://api.vega.chat/api/v1

Chat Completions

Основной эндпоинт для генерации ответов, совместим с OpenAI Chat API.

POST/chat/completions

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

bash
curl https://api.vega.chat/api/v1/chat/completions \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "openai/gpt-4o-mini", "messages": [ { "role": "user", "content": "Привет! Как дела?" } ] }'

Пример ответа

json
{ "id": "gen-xxxxxxxxxxxxxx", "object": "chat.completion", "created": 1699000000, "model": "openai/gpt-4o-mini", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Привет! Всё отлично, спасибо за интерес!" }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 15, "completion_tokens": 12, "total_tokens": 27 } }

Completions (Legacy API)

Legacy endpoint для code completion и FIM (Fill In the Middle). Совместим с Tabby и другими AI coding assistants.

POST/completions

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

bash
curl https://api.vega.chat/api/v1/completions \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek/deepseek-coder", "prompt": "def fibonacci(n):", "max_tokens": 100, "temperature": 0.7 }'

FIM (Fill In the Middle) пример

bash
curl https://api.vega.chat/api/v1/completions \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "codellama/codellama-70b", "prompt": "<PRE> def fibonacci(n):\n \n return n<SUF> if n <= 1 else<SUF><MID>", "max_tokens": 100 }'

Пример ответа

json
{ "id": "gen-xxxxxxxxxxxxxx", "object": "text_completion", "created": 1699000000, "model": "deepseek/deepseek-coder", "choices": [ { "index": 0, "text": "\n if n <= 1: return n\n else: return fibonacci(n-1) + fibonacci(n-2)", "finish_reason": "stop" } ], "usage": { "prompt_tokens": 10, "completion_tokens": 25, "total_tokens": 35 } }

Streaming

Server-Sent Events (SSE) поддерживаются для всех моделей. Установите stream: true.

bash
curl https://api.vega.chat/api/v1/chat/completions \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "openai/gpt-4o-mini", "messages": [{"role": "user", "content": "Посчитай до 5"}], "stream": true }'

Поток возвращает чанки с delta.content для инкрементальных ответов.

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

modelstringRequired

Идентификатор модели. Список моделей.

Пример: openai/gpt-4o-mini

messagesarrayRequired

Массив сообщений в переписке.

role — роль: "system", "user" или "assistant"

content — содержимое сообщения

name (опционально) — имя отправителя

streamboolean

Включить потоковую передачу. По умолчанию: false

max_tokensinteger

Максимальное количество токенов в ответе. Максимум зависит от модели.

temperaturenumber

Температура сэмплирования (0-2). По умолчанию: 1.0

top_pnumber

Nucleus sampling. По умолчанию: 1.0

stopstring | array

До 4 последовательностей для остановки генерации.

toolsarray

Определения функций для tool calling.

response_formatobject

Формат ответа. {"type": "json_object"} для JSON режима.

userstring

Идентификатор конечного пользователя для предотвращения злоупотреблений.

Список моделей

Получить список всех доступных моделей.

GET/models

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

bash
curl https://api.vega.chat/api/v1/models \ -H "Authorization: Bearer YOUR_API_KEY"

Пример ответа

json
{ "object": "list", "data": [ { "id": "openai/gpt-4o-mini", "object": "model", "created": 1699000000, "owned_by": "openai" }, { "id": "anthropic/claude-3.5-sonnet", "object": "model", "created": 1699000000, "owned_by": "anthropic" } ] }

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

id

Уникальный идентификатор генерации

object

Тип объекта: "chat.completion" или "chat.completion.chunk"

created

Unix timestamp создания

model

Использованная модель

choices

Массив вариантов ответа

usage

Статистика токенов (prompt_tokens, completion_tokens, total_tokens)

Обработка ошибок

API VEGA использует стандартные HTTP коды:

КодОписание
200Успех
400Неверные параметры
401Неверный API ключ
402Недостаточно средств
429Rate limit
500Ошибка сервера
503Временные проблемы на стороне провайдера

Примеры SDK

Python

python
from openai import OpenAI client = OpenAI( base_url="https://api.vega.chat/api/v1", api_key="YOUR_API_KEY" ) response = client.chat.completions.create( model="openai/gpt-4o-mini", messages=[ {"role": "user", "content": "Привет!"} ] ) print(response.choices[0].message.content)

JavaScript/TypeScript

typescript
import OpenAI from 'openai'; const openai = new OpenAI({ baseURL: 'https://api.vega.chat/api/v1', apiKey: process.env.VEGA_API_KEY }); const completion = await openai.chat.completions.create({ model: 'openai/gpt-4o-mini', messages: [{ role: 'user', content: 'Привет!' }] }); console.log(completion.choices[0].message.content);

Tabby Configuration

Для подключения Tabby к API VEGA, добавьте следующую конфигурацию в ~/.tabby/config.toml:

toml
# ~/.tabby/config.toml # Chat model (для chat интерфейса) [model.chat.http] kind = "openai/chat" model_name = "openai/gpt-4o-mini" api_endpoint = "https://api.vega.chat/api/v1" api_key = "YOUR_API_KEY" # Completion model (для code completion/FIM) [model.completion.http] kind = "openai/completion" model_name = "deepseek/deepseek-coder" api_endpoint = "https://api.vega.chat/api/v1" api_key = "YOUR_API_KEY"

После настройки перезапустите Tabby server. Code completion будет работать через API VEGA proxy.