API для завяршэння чатаў
AiHummer раскрывае адзінарны Сумяшчальны з OpenAI HTTP-канец для пераўтварэння тэксту: POST /v1/chat/completionsЛюбой кліент або SDK, які ўжо падтрымлівае фармат OpenAI Chat Completions, можа мець зносіны з AiHummer, проста змяніўшы базавы URL і ключ API — спецыфічны код для AiHummer не патрэбны.
Аўтарызацыя
Запыты аўтэнтыфікуюцца з дапамогай асабісты ключ API як маркер носьбіта. Ключы AiHummer маюць прэфікс ah- і выдаюцца праз вэб-інтэрфейс адміністратара.
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Гэты порт кіруецца ўласнымі партапарты. непасрэдна — размяшчаць зваротны праксі перад гэтым выбар аператара, а не патрэба
Асноўная просьба
Адправіце 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 атрымаць адказ паступова Падзеі, адпраўленыя серверамКожная падзея нясе 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 |
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 і спалучэнне.
- Наладзьце, што агент можа рабіць: Каталог інструментаў.