Chat-kompletterings-API
AiHummer eksponerer en enkelt OpenAI-kompatibel HTTP-endepunkt for tekstomganger: POST /v1/chat/completions. Enhver klient eller SDK som allerede bruker OpenAI Chat Completions-formatet kan kommunisere med AiHummer ved å endre basis-URLen og API-nøkkelen — ingen AiHummer-spesifikk kode er nødvendig.
Autentisering
Forespørsler blir autentisert med en personlig API-nøkkel som en Bearer-token. AiHummer-nøkler er prefikset med ah- og utstedes fra webadminbrukergrensesnittet.
POST /v1/chat/completions HTTP/1.1
Host: your-aihummer.example
Authorization: Bearer ah-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
[!TIP] Grunn-URL-en er gateway-adressen din. I en standardinstallasjon lytter gatewayen på den offentlige porten
:8780, så en lokal samtale går tilhttp://localhost:8780/v1/chat/completions. Gatewayen eier sine porter direkte — det å sette en reverse proxy foran er operatørens valg, ikke en krav.
En enkel forespørsel
Send en JSON-kropp med messages, akkurat som du ville gjort med OpenAI. model feltet velger modellen (eller agenten) som er konfigurert på din instans.
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
}'
Et ikke-strømmende svar følger den kjente formen for Chat Fullføringer:
{
"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 }
}
Strømming av svar (SSE)
Sett "stream": true å motta svaret trinnvis som Server-sendte hendelser. Hvert arrangement bærer en chat.completion.chunk delta, og strømmen avsluttes med en slutt data: [DONE] linje.
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." }
]
}'
Svaret er en 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/completionser den bare endepunkt på OpenAI-kompatibel overflate. AiHummer gjør ikke eksponere/v1/modelsog gjør ikke eksponere/v1/embeddings— innebygginger er et internt delsystem og er ikke tilgjengelige over HTTP. Ikke stol på disse rutene; de returnerer 404.
Discovery- og skjemaoverflater
Selv om det ikke finnes /v1/models listing, AiHummer sender flere oppdagelsesflater slik at mennesker og verktøy kan utforske API-en:
| Sti | Hva det serverer |
|---|---|
GET /docs |
Menneskelesbar dokumentasjonsinngang |
GET /docs/api |
Interaktiv API-utforsker |
GET /docs/openapi.json |
OpenAPI 3.x-spesifikasjon |
GET /openapi.json |
OpenAPI 3.x-spesifikasjon (rotnavn) |
GET /docs/llm.json |
Maskinlesbar API-oppsummering for LLM-verktøy |
GET /llms.txt |
llms.txt indeks for LLM-agenter |
# Fetch the OpenAPI spec
curl https://your-aihummer.example/openapi.json
Systemendepunkter
To lette, uautentiserte systemendepunkter hjelper med livstegn- og klokkesjekker:
| Metode og sti | Formål |
|---|---|
GET /v1/ping |
Returnerer et enkelt respons på livstegn |
GET /v1/time |
Returnerer gatewayens nåværende servertid |
curl https://your-aihummer.example/v1/ping
curl https://your-aihummer.example/v1/time
Hvor til neste
- Kjør AiHummer fra dine egne apper og automatiseringer: Innkommende og integrasjonsutløsere.
- Paring, SSO-føderasjon og protokolloverflater: Webhooks, SCIM og sammenkobling.
- Finjuster hva agenten kan gjøre: Verktøykatalog.