Документация
Техническая документация по API и RAG платформе AIAI.BY. Быстрый старт, справочник эндпоинтов, примеры кода.
Быстрый старт
Подключитесь к API за 3 шага:
- Зарегистрируйтесь на aiai.by и получите API-ключ.
- Установите Base URL:
https://vedai.by/api/v1 - Отправьте первый запрос:
from openai import OpenAI
client = OpenAI(
base_url="https://vedai.by/api/v1",
api_key="YOUR_API_KEY",
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Привет!"}],
)
print(response.choices[0].message.content)base_url и api_key.Аутентификация
Все запросы к API должны содержать заголовок авторизации:
Authorization: Bearer YOUR_API_KEYAPI-ключ можно получить в личном кабинете после регистрации.
Chat Completions
Основной эндпоинт для генерации ответов.
POST /v1/chat/completionsПараметры запроса
| Параметр | Тип | Описание |
|---|---|---|
model | string | Идентификатор модели (например, "gpt-4o", "claude-sonnet-4-20250514") |
messages | array | Массив сообщений с ролями: system, user, assistant |
temperature | number | Креативность ответа: 0–2 (по умолчанию 1) |
max_tokens | number | Максимальное количество токенов в ответе |
stream | boolean | Потоковая передача ответа (SSE) |
Пример запроса
{
"model": "gpt-4o",
"messages": [
{ "role": "system", "content": "Ты полезный ассистент." },
{ "role": "user", "content": "Объясни квантовые вычисления простыми словами." }
],
"temperature": 0.7,
"max_tokens": 1000
}Пример ответа
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"model": "gpt-4o",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Квантовые вычисления — это..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 150,
"total_tokens": 175
}
}Модели
Получить список доступных моделей:
GET /v1/modelsПопулярные модели
| Модель | Провайдер | Контекст |
|---|---|---|
gpt-4o | OpenAI | 128K |
gpt-4o-mini | OpenAI | 128K |
claude-sonnet-4-20250514 | Anthropic | 200K |
claude-3.5-haiku | Anthropic | 200K |
gemini-2.0-flash | 1M | |
deepseek-chat | DeepSeek | 64K |
llama-3.3-70b | Meta | 128K |
Полный список моделей с ценами — на странице Модели.
Streaming
Для потоковой передачи ответа добавьте "stream": true в запрос. Ответ будет приходить через Server-Sent Events (SSE).
from openai import OpenAI
client = OpenAI(
base_url="https://vedai.by/api/v1",
api_key="YOUR_API_KEY",
)
stream = client.chat.completions.create(
model="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 содержит data: {...} в формате JSON. Конец потока обозначен data: [DONE].
Обработка ошибок
API возвращает стандартные HTTP-коды ошибок:
| Код | Описание | Рекомендация |
|---|---|---|
400 | Bad Request | Проверьте формат запроса и параметры |
401 | Unauthorized | Проверьте API-ключ в заголовке Authorization |
403 | Forbidden | Ваш ключ не имеет доступа к этому ресурсу |
429 | Too Many Requests | Превышен лимит запросов — используйте exponential backoff |
500 | Internal Server Error | Повторите запрос через несколько секунд |
503 | Service Unavailable | Сервис временно недоступен — повторите позже |
Формат ответа об ошибке
{
"error": {
"message": "Invalid API key provided",
"type": "authentication_error",
"code": "invalid_api_key"
}
}RAG: обзор
Retrieval-Augmented Generation (RAG) позволяет ИИ-моделям отвечать на вопросы, используя ваши собственные документы и базы знаний. Архитектура:
- Загрузка — вы загружаете документы через API
- Индексация — документы разбиваются на чанки и индексируются (embeddings)
- Запрос — при вопросе система находит релевантные чанки
- Генерация — модель формирует ответ на основе найденных данных
Подробнее о возможностях RAG — на странице RAG-решения.
RAG: загрузка документов
POST /v1/rag/documentsПоддерживаемые форматы
Пример загрузки
import requests
url = "https://vedai.by/api/v1/rag/documents"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("document.pdf", "rb")}
data = {"collection": "my-knowledge-base"}
response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())Пример ответа
{
"id": "doc_abc123",
"filename": "document.pdf",
"collection": "my-knowledge-base",
"chunks": 42,
"status": "indexed"
}RAG: запросы
POST /v1/rag/queryПараметры
| Параметр | Тип | Описание |
|---|---|---|
query | string | Текст вопроса |
collection | string | Имя коллекции документов |
model | string | Модель для генерации (по умолчанию "gpt-4o") |
top_k | number | Кол-во релевантных чанков (по умолчанию 5) |
Пример ответа
{
"answer": "Согласно вашим документам, ...",
"sources": [
{
"document_id": "doc_abc123",
"filename": "document.pdf",
"chunk": "Текст релевантного фрагмента...",
"score": 0.95
}
],
"model": "gpt-4o",
"usage": {
"prompt_tokens": 850,
"completion_tokens": 200,
"total_tokens": 1050
}
}Примеры кода
Полные примеры интеграции с AIAI.BY API.
Python (OpenAI SDK)
from openai import OpenAI
client = OpenAI(
base_url="https://vedai.by/api/v1",
api_key="YOUR_API_KEY",
)
# Обычный запрос
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "Ты полезный ассистент."},
{"role": "user", "content": "Что такое машинное обучение?"},
],
temperature=0.7,
max_tokens=1000,
)
print(response.choices[0].message.content)
# Streaming
stream = client.chat.completions.create(
model="claude-sonnet-4-20250514",
messages=[{"role": "user", "content": "Напиши стихотворение"}],
stream=True,
)
for chunk in stream:
content = chunk.choices[0].delta.content
if content:
print(content, end="", flush=True)JavaScript (fetch)
async function chat(message) {
const response = await fetch("https://vedai.by/api/v1/chat/completions", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${process.env.AIAI_API_KEY}`,
},
body: JSON.stringify({
model: "gpt-4o",
messages: [{ role: "user", content: message }],
}),
});
if (!response.ok) {
throw new Error(`API error: ${response.status}`);
}
const data = await response.json();
return data.choices[0].message.content;
}
const answer = await chat("Привет, как дела?");
console.log(answer);cURL
# Chat Completions
curl https://vedai.by/api/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gpt-4o",
"messages": [
{"role": "system", "content": "Ты полезный ассистент."},
{"role": "user", "content": "Что такое AI?"}
],
"temperature": 0.7
}'
# Список моделей
curl https://vedai.by/api/v1/models \
-H "Authorization: Bearer YOUR_API_KEY"Готовы начать?
Получите API-ключ и подключитесь к 50+ моделям ИИ за 5 минут.
