AiHummer
Қазақша
Кіру
v1.0.x
{ }Swagger

Chat Completions API

v1.0.x · жаңартылды 2026-06-26

AiHummer мәтіндік қадамдар үшін жалғыз OpenAI-үйлесімді HTTP эндпоинтін ұсынады: POST /v1/chat/completions. OpenAI Chat Completions форматында бұрыннан сөйлесетін кез келген клиент немесе SDK базалық URL мен API кілтін өзгерту арқылы AiHummer-мен сөйлесе алады — AiHummer-ге тән код қажет емес.

Аутентификация

Сұраулар жеке API кілтімен Bearer токені ретінде аутентификацияланады. AiHummer кілттерінің алдында ah- префиксі болады және олар веб админ UI-інен шығарылады.

POST /v1/chat/completions HTTP/1.1
Host: your-aihummer.example
Authorization: Bearer ah-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json

[!TIP] Базалық URL — сіздің шлюз мекенжайыңыз. Әдепкі орнатуда шлюз :8780 портында тыңдайды, сондықтан жергілікті қоңырау http://localhost:8780/v1/chat/completions мекенжайына барады. Өндірісте TLS-ті шлюздің алдындағы кері проксиде тоқтатасыз.

Негізгі сұрау

OpenAI-ге жасайтыныңыздай дәл солай messages бар JSON денесін жіберіңіз. model өрісі сіздің данаңызда конфигурацияланған модельді (немесе агентті) таңдайды.

curl https://your-aihummer.example/v1/chat/completions \
  -H "Authorization: Bearer ah-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "default",
    "messages": [
      { "role": "system", "content": "You are a helpful assistant." },
      { "role": "user", "content": "Summarise our refund policy in two sentences." }
    ],
    "temperature": 0.3
  }'

Стримсіз жауап таныс Chat Completions пішінінде болады:

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "created": 1750000000,
  "model": "default",
  "choices": [
    {
      "index": 0,
      "message": { "role": "assistant", "content": "Refunds are issued within 14 days..." },
      "finish_reason": "stop"
    }
  ],
  "usage": { "prompt_tokens": 0, "completion_tokens": 0, "total_tokens": 0 }
}

Стрим жауаптары (SSE)

Жауапты біртіндеп Server-Sent Events ретінде алу үшін "stream": true орнатыңыз. Әр оқиға chat.completion.chunk дельтасын тасымалдайды, ал стрим соңғы data: [DONE] жолымен аяқталады.

curl -N https://your-aihummer.example/v1/chat/completions \
  -H "Authorization: Bearer ah-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "default",
    "stream": true,
    "messages": [
      { "role": "user", "content": "Write a one-line greeting." }
    ]
  }'

Жауап — text/event-stream:

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"role":"assistant"}}]}

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Hello"}}]}

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"!"},"finish_reason":"stop"}]}

data: [DONE]

[!WARNING] /v1/chat/completions — OpenAI-үйлесімді бетіндегі жалғыз эндпоинт. AiHummer /v1/models-ты ұсынбайды және /v1/embeddings-ті ұсынбайды — ендірмелер (embeddings) ішкі ішкі жүйе болып табылады және HTTP арқылы қол жетімді емес. Бұл маршруттарға сенбеңіз; олар 404 қайтарады.

Ашу және схема беттері

/v1/models тізімі болмаса да, AiHummer адамдар мен құралдар API-ді зерттей алатын бірнеше ашу беттерін жеткізеді:

Жол Не ұсынады
GET /docs Адам оқи алатын құжаттаманың кіру нүктесі
GET /docs/api Интерактивті API Explorer
GET /docs/openapi.json OpenAPI 3.x спецификациясы
GET /openapi.json OpenAPI 3.x спецификациясы (түбірлік бүркеншік атау)
GET /docs/llm.json LLM құралдары үшін машина оқи алатын API қысқаша мазмұны
GET /llms.txt LLM агенттері үшін llms.txt индексі
# Fetch the OpenAPI spec
curl https://your-aihummer.example/openapi.json

Жүйелік эндпоинттер

Екі жеңіл, аутентификацияланбаған жүйелік эндпоинт тірілік пен сағат тексеруіне көмектеседі:

Әдіс және жол Мақсаты
GET /v1/ping Қарапайым тірілік жауабын қайтарады
GET /v1/time Шлюздің ағымдағы сервер уақытын қайтарады
curl https://your-aihummer.example/v1/ping
curl https://your-aihummer.example/v1/time

Келесі қайда