AiHummer
Svenska
Logga inKonto
v1.2.x
{ }Swagger

Chatkompletterings-API

v1.2.x · uppdaterad 2026-06-26

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 till http://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/models och 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