API pentru completarea conversațiilor
AiHummer expune un singur Compatibil cu OpenAI Punct final HTTP pentru turnuri de text: POST /v1/chat/completions. Orice client sau SDK care deja poate folosi formatul OpenAI Chat Completions poate comunica cu AiHummer prin schimbarea URL-ului de bază și a cheii API — nu este necesar niciun cod specific AiHummer.
Autentificare
Solicitările sunt autentificate cu un cheie API personală ca un token Bearer. Cheile AiHummer sunt prefixate cu ah- și sunt emise din interfața web de administrare.
POST /v1/chat/completions HTTP/1.1
Host: your-aihummer.example
Authorization: Bearer ah-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
[!TIP] URL-ul de bază este adresa gateway-ului dumneavoastră. Într-o instalare implicită, gateway-ul ascultă pe portul public
:8780, astfel încât un apel local merge lahttp://localhost:8780/v1/chat/completions. Poarta de rețea deține porturile sale direct — punerea unui proxy invers în față este alegerea operatorului, nu a cerință.
O cerere de bază
Trimite un corp JSON cu messages, exact așa cum ai face cu OpenAI. model câmpul selectează modelul (sau agentul) configurat pe instanța dvs.
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
}'
Un răspuns non-streaming urmează forma familiară a Completărilor de Chat:
{
"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 }
}
Răspunsuri în flux (SSE)
Set "stream": true a primi răspunsul treptat, pe măsură ce Evenimente transmise de server. Fiecare eveniment poartă o chat.completion.chunk delta, iar cursul se termină cu un final data: [DONE] linie.
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." }
]
}'
Răspunsul este un 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/completionseste doar punct final compatibil cu OpenAI suprafață. AiHummer face nu expune/v1/modelsși face nu expune/v1/embeddings— embedding-urile sunt un subsistem intern și nu sunt accesibile peste HTTP. Nu te baza pe acele rute; ele returnează 404.
Suprafețe de descoperire și schemă
Deși nu există /v1/models listare, AiHummer livrează mai multe suprafețe de descoperire astfel încât oamenii și uneltele să poată explora API-ul:
| Cale | Ce servește |
|---|---|
GET /docs |
Punct de intrare al documentației lizibile pentru oameni |
GET /docs/api |
Explorator API Interactiv |
GET /docs/openapi.json |
Specificația OpenAPI 3.x |
GET /openapi.json |
Specificația OpenAPI 3.x (alias rădăcină) |
GET /docs/llm.json |
Rezumat API lizibil de mașină pentru instrumente LLM |
GET /llms.txt |
llms.txt index pentru agenți LLM |
# Fetch the OpenAPI spec
curl https://your-aihummer.example/openapi.json
Puncte finale ale sistemului
Două puncte finale de sistem ușoare, neautentificate, ajută la verificările de activitate și de ceas:
| Metodă și cale | Scop |
|---|---|
GET /v1/ping |
Returnează un răspuns simplu de disponibilitate |
GET /v1/time |
Returnează timpul curent al serverului gateway-ului |
curl https://your-aihummer.example/v1/ping
curl https://your-aihummer.example/v1/time
Unde următor?
- Conduceți AiHummer din propriile aplicații și automatizări: Declanșatoare de intrare și integrare.
- Împerechere, federarea SSO și suprafețele protocolului: Webhooks, SCIM și împerechere.
- Ajustează ce poate face agentul: Catalog de unelte.