embeding
документация · openai-compatible

Как пользоваться API

Сервис полностью совместим с OpenAI. Любой клиент или SDK работает без изменений — нужно лишь подменить base_url и ключ.

Открыть интерактивный Swagger →Получить ключ
шаг за шагом

Быстрый старт

  1. Зарегистрируйтесь в кабинете.
  2. Создайте API-ключ — он появится в статусе pending. Сырой ключ показывается один раз — сохраните его.
  3. Дождитесь одобрения супер-админом — статус станет approved.
  4. Подставьте ключ и хост в любой OpenAI-клиент. Готово.
аутентификация

Ключи и доступ

Все запросы к /v1/* авторизуются заголовком Authorization: Bearer sk-emb-…. Ключ работает только в статусе approved и только для моделей, которые включил администратор. Неодобренный или отозванный ключ получает ошибку в формате OpenAI.

примеры

curl

embeddings.sh
curl https://llm.korateam.ru/v1/embeddings \
  -H "Authorization: Bearer sk-emb-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nomic-embed-text",
    "input": "привет, мир"
  }'
chat-stream.sh
curl https://llm.korateam.ru/v1/chat/completions \
  -H "Authorization: Bearer sk-emb-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen2.5:7b",
    "messages": [{"role": "user", "content": "Привет!"}],
    "stream": true
  }'
примеры

Python (openai SDK)

pip install openai

example.py
from openai import OpenAI

client = OpenAI(base_url="https://llm.korateam.ru/v1", api_key="sk-emb-...")

# эмбеддинги
emb = client.embeddings.create(model="nomic-embed-text", input="привет, мир")
print(len(emb.data[0].embedding))

# чат
r = client.chat.completions.create(
    model="qwen2.5:7b",
    messages=[{"role": "user", "content": "Привет!"}],
)
print(r.choices[0].message.content)

# стриминг
for chunk in client.chat.completions.create(
    model="qwen2.5:7b",
    messages=[{"role": "user", "content": "Считай до 5"}],
    stream=True,
):
    print(chunk.choices[0].delta.content or "", end="", flush=True)
примеры

JavaScript / TypeScript (openai SDK)

npm i openai

example.ts
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://llm.korateam.ru/v1",
  apiKey: "sk-emb-...",
});

const emb = await client.embeddings.create({
  model: "nomic-embed-text",
  input: "привет, мир",
});

const stream = await client.chat.completions.create({
  model: "qwen2.5:7b",
  messages: [{ role: "user", content: "Привет!" }],
  stream: true,
});
for await (const chunk of stream)
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
справочник

Эндпоинты

МетодПутьНазначениеAuth
POST/v1/embeddingsЭмбеддинги текстаAPI-ключ
POST/v1/chat/completionsЧат-комплишены (+ стриминг)API-ключ
GET/v1/modelsСписок доступных моделейAPI-ключ
POST/auth/registerРегистрация
POST/auth/loginВход в кабинет
POST/keysСоздать API-ключ (→ pending)JWT
GET/keysМои ключиJWT

Полный справочник со схемами запросов/ответов и кнопкой «Try it out» — интерактивный Swagger.