Chat-Vervollständigungs-API
AiHummer enthüllt ein Einzelnes OpenAI-kompatibel HTTP-Endpunkt für Textdurchläufe: POST /v1/chat/completions. Jeder Client oder jedes SDK, das bereits das OpenAI Chat Completions-Format unterstützt, kann mit AiHummer kommunizieren, indem die Basis-URL und der API-Schlüssel geändert werden — es ist kein AiHummer-spezifischer Code erforderlich.
Authentifizierung
Anfragen werden mit einem authentifiziert persönlicher API-Schlüssel als Bearer-Token. AiHummer-Schlüssel sind mit dem Präfix versehen ah- und werden von der Web-Admin-Benutzeroberfläche ausgegeben.
POST /v1/chat/completions HTTP/1.1
Host: your-aihummer.example
Authorization: Bearer ah-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
[!TIP] Die Basis-URL ist Ihre Gateway-Adresse. In einer Standardinstallation hört das Gateway am öffentlichen Port
:8780, sodass ein Ortsgespräch führt zuhttp://localhost:8780/v1/chat/completions. Das Gateway besitzt seine Ports direkt — einen Reverse-Proxy davor zu setzen, ist die Entscheidung des Betreibers, nicht eine Anforderung.
Eine grundlegende Anfrage
Senden Sie einen JSON-Body mit messages, genau so, wie Sie es bei OpenAI tun würden. Die model Das Feld wählt das auf Ihrer Instanz konfigurierte Modell (oder den Agenten) aus.
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
}'
Eine nicht-Streaming-Antwort folgt der vertrauten Form der Chat-Vervollständigungen:
{
"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-Antworten (SSE)
Set "stream": true die Antwort schrittweise zu erhalten, während Server-Gesendete Ereignisse. Jedes Ereignis trägt eine chat.completion.chunk Delta, und der Strom endet mit einem letzten 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." }
]
}'
Die Antwort ist eine 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/completionsist der nur Endpunkt auf dem OpenAI-kompatiblen Oberfläche. AiHummer macht nicht aussetzen/v1/modelsund tut nicht aussetzen/v1/embeddings— Einbettungen sind ein internes Teilsystem und nicht erreichbar über HTTP. Verlassen Sie sich nicht auf diese Routen; sie geben 404 zurück.
Entdeckung & Schema-Oberflächen
Während es kein /v1/models Auflistung, AiHummer liefert mehrere Entdeckungsoberflächen, damit Menschen und Werkzeuge die API erkunden können:
| Pfad | Wem es dient |
|---|---|
GET /docs |
Für Menschen lesbare Dokumentationseintrittsstelle |
GET /docs/api |
Interaktiver API-Explorer |
GET /docs/openapi.json |
OpenAPI 3.x Spezifikation |
GET /openapi.json |
OpenAPI 3.x-Spezifikation (Wurzelalias) |
GET /docs/llm.json |
Maschinenlesbare API-Zusammenfassung für LLM-Tools |
GET /llms.txt |
llms.txt Index für LLM-Agenten |
# Fetch the OpenAPI spec
curl https://your-aihummer.example/openapi.json
Systemendpunkte
Zwei leichtgewichtige, nicht authentifizierte Systemendpunkte helfen bei der Überprüfung der Lebensfähigkeit und der Uhrzeit:
| Methode & Pfad | Zweck |
|---|---|
GET /v1/ping |
Gibt eine einfache Liveness-Antwort zurück |
GET /v1/time |
Gibt die aktuelle Serverzeit des Gateways zurück |
curl https://your-aihummer.example/v1/ping
curl https://your-aihummer.example/v1/time
Wohin als Nächstes
- Steuern Sie AiHummer von Ihren eigenen Apps und Automatisierungen aus: Eingehende & Integrationsauslöser.
- Kopplung, SSO-Föderation und Protokolloberflächen: Webhooks, SCIM & Kopplung.
- Passen Sie an, was der Agent tun kann: Werkzeugkatalog.