Api
OpenAI-совместимый API
Используйте ER-GPT с любым OpenAI-совместимым инструментом или SDK.
ER-GPT обеспечивает полную совместимость с OpenAI API, позволяя использовать любой OpenAI SDK или инструмент с минимальными изменениями конфигурации.
Конфигурация
| Параметр | Значение |
|---|---|
| Base URL | https://api.er-gpt.ru/api/openai |
| Авторизация | Bearer-токен в заголовке Authorization |
Эндпоинты
Chat Completions
POST /chat/completions
curl https://api.er-gpt.ru/api/openai/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ВАШ_API_КЛЮЧ" \
-d '{
"model": "gpt-4o",
"messages": [
{"role": "system", "content": "Ты полезный ассистент."},
{"role": "user", "content": "Объясни квантовые вычисления"}
],
"temperature": 0.7,
"max_tokens": 1000
}'
from openai import OpenAI
client = OpenAI(
base_url="https://api.er-gpt.ru/api/openai",
api_key="ВАШ_API_КЛЮЧ"
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "Ты полезный ассистент."},
{"role": "user", "content": "Объясни квантовые вычисления"}
],
temperature=0.7,
max_tokens=1000
)
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://api.er-gpt.ru/api/openai',
apiKey: 'ВАШ_API_КЛЮЧ'
});
const response = await client.chat.completions.create({
model: 'gpt-4o',
messages: [
{ role: 'system', content: 'Ты полезный ассистент.' },
{ role: 'user', content: 'Объясни квантовые вычисления' }
],
temperature: 0.7,
max_tokens: 1000
});
Потоковая передача (Streaming)
Добавьте "stream": true для включения потоковых ответов:
stream = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Посчитай от 1 до 10"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
Модели
GET /models
Возвращает список доступных моделей.
Поддерживаемые параметры
| Параметр | Тип | Описание |
|---|---|---|
model | string | Идентификатор модели |
messages | array | Сообщения диалога |
temperature | float | Температура сэмплирования (0-2) |
max_tokens | integer | Максимальное количество токенов в ответе |
top_p | float | Параметр nucleus sampling |
stream | boolean | Включить потоковую передачу |
stop | string/array | Стоп-последовательности |
Обработка ошибок
API возвращает стандартные HTTP-коды статуса:
| Код | Описание |
|---|---|
| 400 | Bad Request — неверные параметры |
| 401 | Unauthorized — неверный или отсутствующий API-ключ |
| 429 | Rate Limited — слишком много запросов |
| 500 | Internal Server Error |
| 503 | Service Unavailable |