Chatkompletterings-API
AiHummer exponerar en enda OpenAI-kompatibel HTTP-slutpunkt för textomgångar: POST /v1/chat/completions. Alla klienter eller SDK:er som redan använder OpenAI Chat Completions-formatet kan kommunicera med AiHummer genom att ändra bas-URL och API-nyckel — ingen AiHummer-specifik kod krävs.
Autentisering
Förfrågningar autentiseras med en personlig API-nyckel som en bärare-token. AiHummer-nycklar är prefixade med ah- och utfärdas från webbadmin-gränssnittet.
POST /v1/chat/completions HTTP/1.1
Host: your-aihummer.example
Authorization: Bearer ah-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
[!TIP] Bas-URL:en är din gateway-adress. Vid en standardinstallation lyssnar gatewayen på den offentliga porten
:8780, så ett lokalsamtal går tillhttp://localhost:8780/v1/chat/completions. Gatewayen äger sina portar direkt — att sätta en omvänd proxy framför är operatörens val, inte en krav.
En grundläggande begäran
Skicka ett JSON-objekt med messages, precis som du skulle till OpenAI. model fältet väljer modellen (eller agenten) som är konfigurerad 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
}'
Ett icke-strömmande svar följer den välbekanta formen för chattkomplettering:
{
"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ömmande svar (SSE)
Sätta "stream": true att ta emot svaret stegvis eftersom Server-sända händelser. Varje händelse bär på en chat.completion.chunk delta, och strömmen slutar med en slutlig 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 är ett 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är endast slutpunkt på OpenAI-kompatibel yta. AiHummer gör inte blotta/v1/modelsoch gör inte blotta/v1/embeddings— inbäddningar är ett internt delsystem och är inte tillgängliga över HTTP. Lita inte på dessa rutter; de returnerar 404.
Upptäckt och schemaytor
Medan det inte finns någon /v1/models upplista, AiHummer levererar flera upptäcktytor så att människor och verktyg kan utforska API:et:
| Väg | Vad det serverar |
|---|---|
GET /docs |
Mänskligt läsbar dokumentationsstartpunkt |
GET /docs/api |
Interaktiv API-utforskare |
GET /docs/openapi.json |
OpenAPI 3.x-specifikation |
GET /openapi.json |
OpenAPI 3.x-specifikation (rotalias) |
GET /docs/llm.json |
Maskinläsbar API-sammanfattning för LLM-verktyg |
GET /llms.txt |
llms.txt index för LLM-agenter |
# Fetch the OpenAPI spec
curl https://your-aihummer.example/openapi.json
Systemändpunkter
Två lättviktiga, icke-auktoriserade systemändpunkter hjälper till med livskraft och klockkontroller:
| Metod & sökväg | Syfte |
|---|---|
GET /v1/ping |
Returnerar ett enkelt svar på livstecken |
GET /v1/time |
Returnerar gatewayens aktuella servertid |
curl https://your-aihummer.example/v1/ping
curl https://your-aihummer.example/v1/time
Vart härnäst
- Kör AiHummer från dina egna appar och automatiseringar: Inbound- och integrationstriggers.
- Parkoppling, SSO-federation och protokollytor: Webhooks, SCIM och parkoppling.
- Finjustera vad agenten kan göra: Verktygskatalog.