API Uzupełniania Czatów
AiHummer ujawnia pojedynczą zgodny z OpenAI Punkt końcowy HTTP dla zwrotów tekstu: POST /v1/chat/completions. Każdy klient lub SDK, które już obsługuje format OpenAI Chat Completions, może komunikować się z AiHummer, zmieniając podstawowy URL i klucz API — nie jest wymagany żaden kod specyficzny dla AiHummer.
Uwierzytelnianie
Żądania są uwierzytelniane za pomocą osobisty klucz API jako token Bearer. Klucze AiHummer mają przedrostek ah- i są wydawane z interfejsu administracyjnego sieci web.
POST /v1/chat/completions HTTP/1.1
Host: your-aihummer.example
Authorization: Bearer ah-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
[!TIP] Podstawowy adres URL jest twoim adresem bramy. W standardowej instalacji brama nasłuchuje na porcie publicznym
:8780, więc połączenie lokalne idzie dohttp://localhost:8780/v1/chat/completions. Bramę należą jej porty bezpośrednio — umieszczenie reverse proxy z przodu to wybór operatora, nie wymóg.
Podstawowa prośba
Wyślij ciało JSON z messages, dokładnie tak, jak zrobiłbyś to w przypadku OpenAI. model pole wybiera model (lub agenta) skonfigurowanego na twojej instancji.
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
}'
Odpowiedź niestreamingowa ma kształt znany z Chat Completions:
{
"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 }
}
Odpowiedzi strumieniowe (SSE)
Zestaw "stream": true otrzymywać odpowiedź stopniowo jako Zdarzenia wysyłane przez serwer. Każde wydarzenie niesie ze sobą chat.completion.chunk delta, a strumień kończy się ostatecznym data: [DONE] linia.
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." }
]
}'
Odpowiedź to 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/completionsjest tylko punkt końcowy zgodny z OpenAI powierzchnia. AiHummer robi nie ujawnić/v1/modelsi robi nie ujawnić/v1/embeddings— osadzenia są wewnętrznym podsystemem i nie są dostępne przez HTTP. Nie polegaj na tych trasach; zwracają 404.
Odkrywanie i powierzchnie schematów
Chociaż nie ma /v1/models wymieniając, AiHummer wysyła kilka powierzchni odkrywczych, aby ludzie i narzędzia mogli badać API:
| Ścieżka | Czemu to służy |
|---|---|
GET /docs |
Punkt wejścia dokumentacji czytelnej dla człowieka |
GET /docs/api |
Interaktywny Eksplorator API |
GET /docs/openapi.json |
Specyfikacja OpenAPI 3.x |
GET /openapi.json |
Specyfikacja OpenAPI 3.x (główny alias) |
GET /docs/llm.json |
Maszynowo czytelne podsumowanie API dla narzędzi LLM |
GET /llms.txt |
llms.txt indeks dla agentów LLM |
# Fetch the OpenAPI spec
curl https://your-aihummer.example/openapi.json
Punkty końcowe systemu
Dwa lekkie, nieautoryzowane punkty końcowe systemu pomagają w sprawdzaniu aktywności i zegara:
| Metoda i ścieżka | Cel |
|---|---|
GET /v1/ping |
Zwraca prostą odpowiedź dotyczącą żywotności |
GET /v1/time |
Zwraca aktualny czas serwera bramy |
curl https://your-aihummer.example/v1/ping
curl https://your-aihummer.example/v1/time
Dokąd dalej
- Steruj AiHummerem z własnych aplikacji i automatyzacji: Wyzwalacze przychodzące i integracyjne.
- Parowanie, federacja SSO i powierzchnie protokołu: Webhooki, SCIM i parowanie.
- Dopasuj, co agent może zrobić: Katalog narzędzi.