Chat Fuldførelses-API
AiHummer udsætter en enkelt OpenAI-kompatibel HTTP-endpoint for tekstomdrejninger: POST /v1/chat/completions. Enhver klient eller SDK, der allerede taler OpenAI Chat Completions-formatet, kan kommunikere med AiHummer ved at ændre basis-URL’en og API-nøglen — ingen AiHummer-specifik kode er påkrævet.
Autentificering
Forespørgsler autentificeres med en personlig API-nøgle som en Bearer-token. AiHummer-nøgler er præfikset med ah- og udstedes fra webadmin-brugerfladen.
POST /v1/chat/completions HTTP/1.1
Host: your-aihummer.example
Authorization: Bearer ah-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
[!TIP] Basis-URL’en er din gateway-adresse. I en standardinstallation lytter gatewayen på den offentlige port
:8780, så et lokalt opkald går tilhttp://localhost:8780/v1/chat/completions. Gatewayen ejer dens porte direkte — det at sætte en reverse proxy foran er operatørens valg, ikke et krav.
En grundlæggende anmodning
Send en JSON-krop med messages, præcis som du ville gøre over for OpenAI. model feltet vælger den model (eller agent), der er konfigureret 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-streamende svar følger den velkendte form for Chat-fuldførelser:
{
"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 }
}
Streaming-svar (SSE)
Sæt "stream": true at modtage svaret gradvist som Server-sendte begivenheder. Hvert arrangement bærer en chat.completion.chunk delta, og strømmen afsluttes med en endelig 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 kun endepunkt på OpenAI-kompatibel overflade. AiHummer gør ikke udsætte/v1/modelsog gør ikke udsætte/v1/embeddings— embeddings er et internt delsystem og er ikke tilgængelige over HTTP. Stol ikke på disse ruter; de returnerer 404.
Discovery- og skemaoverflader
Selvom der ikke er /v1/models listing, AiHummer sender flere opdagelsesflader, så mennesker og værktøjer kan udforske API’et:
| Sti | Hvad det tjener |
|---|---|
GET /docs |
Menneskelæselig dokumentations startpunkt |
GET /docs/api |
Interaktiv API-udforsker |
GET /docs/openapi.json |
OpenAPI 3.x-specifikation |
GET /openapi.json |
OpenAPI 3.x-specifikation (rodalias) |
GET /docs/llm.json |
Maskinlæsbar API-oversigt for LLM-værktøjer |
GET /llms.txt |
llms.txt indeks for LLM-agenter |
# Fetch the OpenAPI spec
curl https://your-aihummer.example/openapi.json
Systemendepunkter
To letvægts, uautoriserede systemendepunkter hjælper med tilstedeværelse og klokketjek:
| Metode & sti | Formål |
|---|---|
GET /v1/ping |
Returnerer et simpelt livstegnssvar |
GET /v1/time |
Returnerer gatewayens nuværende servertid |
curl https://your-aihummer.example/v1/ping
curl https://your-aihummer.example/v1/time
Hvor til næste
- Styr AiHummer fra dine egne apps og automatiseringer: Indgående & integrationsudløsere.
- Parring, SSO-føderation og protokolflader: Webhooks, SCIM og parring.
- Finjuster, hvad agenten kan gøre: Værktøjskatalog.