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
Chat Completions
Основной эндпоинт для генерации ответов, совместим с OpenAI Chat API.
Пример запроса
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.
Пример запроса
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 для инкрементальных ответов.
Параметры запроса
Список моделей
Получить список всех доступных моделей.
Пример запроса
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"
}
]
}
Формат ответа
Обработка ошибок
API VEGA использует стандартные HTTP коды:
Примеры 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.