Chat Completions API
AiHummer прадастаўляе адзіную OpenAI-сумяшчальную HTTP-канчатковую кропку для
тэкставых хадоў: POST /v1/chat/completions. Любы кліент ці SDK, які ўжо
размаўляе ў фармаце OpenAI Chat Completions, можа звяртацца да AiHummer, змяніўшы
базавы URL і API-ключ — ніякі спецыфічны для AiHummer код не патрэбны.
Аўтэнтыфікацыя
Запыты аўтэнтыфікуюцца з дапамогай асабістага API-ключа ў якасці Bearer
token. Ключы AiHummer маюць прэфікс ah- і выдаюцца з вэб admin 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 на рэверс-проксі перад шлюзам.
Базавы запыт
Адпраўце JSON-цела з messages, дакладна так, як вы зрабілі б для OpenAI. Поле
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)
Задайце "stream": true, каб атрымліваць адказ паступова як Server-Sent
Events. Кожная падзея нясе дэльту 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— эмбедынгі з’яўляюцца ўнутранай падсістэмай і недасягальныя праз 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 |
Машыначытэльнае рэзюмэ API для LLM-інструментаў |
GET /llms.txt |
Індэкс llms.txt для LLM-агентаў |
# 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
Куды далей
- Кіруйце AiHummer з вашых уласных дадаткаў і аўтаматызацый: Уваходныя і інтэграцыйныя трыгеры.
- Спарванне, SSO-федэрацыя і паверхні пратаколаў: Вебхукі, SCIM і спарванне.
- Наладзьце тое, што можа рабіць агент: Каталог інструментаў.