AiHummer
Polski
Zaloguj sięKonto
v1.0.x
{ }Swagger

API Uzupełniania Czatów

v1.0.x · zaktualizowany 2026-06-26

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 do http://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/completions jest tylko punkt końcowy zgodny z OpenAI powierzchnia. AiHummer robi nie ujawnić /v1/models i 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