AiHummer
Español
Iniciar sesiónCuenta
v1.0.x
{ }Swagger

API de Finalizaciones de Chat

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

AiHummer expone un solo Compatible con OpenAI Punto de enlace HTTP para giros de texto: POST /v1/chat/completions. Cualquier cliente o SDK que ya utilice el formato de Completaciones de Chat de OpenAI puede comunicarse con AiHummer cambiando la URL base y la clave de API, sin que se requiera código específico de AiHummer.

Autenticación

Las solicitudes se autentican con un clave API personal como un token portador. Las llaves AiHummer tienen el prefijo ah- y se emiten desde la interfaz de administración web.

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

[!TIP] La URL base es la dirección de su puerta de enlace. En una instalación por defecto, la puerta de enlace escucha en el puerto público :8780, así que una llamada local va a http://localhost:8780/v1/chat/completions. La puerta de enlace posee sus puertos directamente — poner un proxy inverso delante es decisión del operador, no de un requisito.

Una solicitud básica

Envía un cuerpo JSON con messages, exactamente como lo harías con OpenAI. El model el campo selecciona el modelo (o agente) configurado en tu instancia.

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

Una respuesta que no es en streaming sigue la forma familiar de las Completaciones de Chat:

{
  "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 }
}

Respuestas en streaming (SSE)

Conjunto "stream": true recibir la respuesta de manera incremental como Eventos enviados por el servidor. Cada evento lleva una chat.completion.chunk delta, y el arroyo termina con un final data: [DONE] línea.

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

La respuesta es 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 es el solamente punto final compatible con OpenAI superficie. AiHummer lo hace no exponer /v1/models y hace no exponer /v1/embeddings — los embeddings son un subsistema interno y no son accesibles a través de HTTP. No confíes en esas rutas; devuelven 404.

Descubrimiento y superficies de esquema

Aunque no hay /v1/models listado, AiHummer envía varias superficies de descubrimiento para que los humanos y las herramientas puedan explorar la API:

Camino Lo que sirve
GET /docs Punto de entrada de documentación legible para humanos
GET /docs/api Explorador de API interactivo
GET /docs/openapi.json Especificación OpenAPI 3.x
GET /openapi.json Especificación OpenAPI 3.x (alias raíz)
GET /docs/llm.json Resumen de API legible por máquina para herramientas LLM
GET /llms.txt llms.txt índice para agentes LLM
# Fetch the OpenAPI spec
curl https://your-aihummer.example/openapi.json

Puntos finales del sistema

Dos endpoints del sistema livianos y no autenticados ayudan con las comprobaciones de actividad y de reloj:

Método y ruta Propósito
GET /v1/ping Devuelve una respuesta simple de actividad
GET /v1/time Devuelve la hora actual del servidor de la puerta de enlace
curl https://your-aihummer.example/v1/ping
curl https://your-aihummer.example/v1/time

¿A dónde vamos ahora?