AiHummer
Română
Autentificare
v1.0.x
{ }Swagger

API Chat Completions

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

AiHummer expune un singur endpoint HTTP compatibil OpenAI pentru turele de text: POST /v1/chat/completions. Orice client sau SDK care vorbește deja formatul OpenAI Chat Completions poate comunica cu AiHummer schimbând URL-ul de bază și cheia API — nu este necesar niciun cod specific AiHummer.

Autentificare

Cererile sunt autentificate cu o cheie API personală ca token Bearer. Cheile AiHummer au prefixul ah- și sunt emise din interfața web de administrare.

POST /v1/chat/completions HTTP/1.1
Host: your-aihummer.example
Authorization: Bearer ah-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json

[!TIP] URL-ul de bază este adresa gateway-ului dumneavoastră. Într-o instalare implicită, gateway-ul ascultă pe :8780, deci un apel local ajunge la http://localhost:8780/v1/chat/completions. În producție, terminați TLS la un reverse proxy în fața gateway-ului.

O cerere de bază

Trimiteți un corp JSON cu messages, exact așa cum ați face către OpenAI. Câmpul model selectează modelul (sau agentul) configurat pe instanța dumneavoastră.

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
  }'

Un răspuns fără streaming urmează forma familiară 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 }
}

Răspunsuri în streaming (SSE)

Setați "stream": true pentru a primi răspunsul incremental sub formă de Server-Sent Events. Fiecare eveniment poartă un delta chat.completion.chunk, iar fluxul se termină cu o linie finală data: [DONE].

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." }
    ]
  }'

Răspunsul este un 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 este singurul endpoint de pe suprafața compatibilă OpenAI. AiHummer nu expune /v1/models și nu expune /v1/embeddings — embeddings sunt un subsistem intern și nu pot fi accesate prin HTTP. Nu vă bazați pe acele rute; ele returnează 404.

Suprafețe de descoperire și schemă

Deși nu există o listare /v1/models, AiHummer livrează mai multe suprafețe de descoperire, astfel încât oamenii și uneltele să poată explora API-ul:

Cale Ce servește
GET /docs Punct de intrare în documentația lizibilă de oameni
GET /docs/api Explorator de API interactiv
GET /docs/openapi.json Specificație OpenAPI 3.x
GET /openapi.json Specificație OpenAPI 3.x (alias la rădăcină)
GET /docs/llm.json Rezumat de API lizibil de mașini pentru tooling-ul LLM
GET /llms.txt Index llms.txt pentru agenți LLM
# Fetch the OpenAPI spec
curl https://your-aihummer.example/openapi.json

Endpointuri de sistem

Două endpointuri de sistem ușoare și neautentificate ajută la verificările de disponibilitate (liveness) și de ceas:

Metodă și cale Scop
GET /v1/ping Returnează un răspuns simplu de disponibilitate
GET /v1/time Returnează ora curentă a serverului gateway
curl https://your-aihummer.example/v1/ping
curl https://your-aihummer.example/v1/time

Unde mai departe