Inicio rápido de la API de Chat

Usa el chat de Vulgate fundamentado en la Biblioteca a través de la interfaz de Chat Completions compatible con OpenAI.

21 may 2026

La API de Chat es compatible con OpenAI. Implementa la misma estructura /chat/completions que la API de Chat Completions de OpenAI, por lo que cualquier cliente que hable ese protocolo — los SDKs oficiales openai, el SDK ai de Vercel, tus propias llamadas fetch — funciona apuntando a Vulgate.

Internamente, Vulgate ejecuta recuperación contra las Bibliotecas a las que tu clave API tiene acceso y alimenta los pasajes relevantes al modelo. Las respuestas incluyen citas que hacen referencia a los pasajes fuente.

La referencia completa está en /developers/chat/overview. Esto es lo mínimo para empezar.

Una solicitud mínima

curl -X POST "https://vulgate.ai/api/chat/completions" \
  -H "Authorization: Bearer $VULGATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "vulgate-1",
    "messages": [
      {"role": "user", "content": "Resume las enseñanzas del concilio sobre la adoración eucarística."}
    ]
  }'

Respuesta (truncada):

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "model": "vulgate-1",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "Los concilios enseñan que la adoración eucarística..."
    },
    "finish_reason": "stop"
  }],
  "citations": [
    {
      "cited_text": "<p>...</p>",
      "document_title": "Ecclesia de Eucharistia",
      "document_index": 0,
      "document_author": "Juan Pablo II",
      "source_url": null
    }
  ]
}

Streaming

Establece stream: true y recibirás eventos enviados por servidor en la estructura chat.completion.chunk de OpenAI:

curl -X POST "https://vulgate.ai/api/chat/completions" \
  -H "Authorization: Bearer $VULGATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "vulgate-1",
    "stream": true,
    "messages": [{"role": "user", "content": "Hola"}]
  }'

Cada fragmento es un objeto JSON con prefijo data: , terminando con data: [DONE]. Idéntico a OpenAI; los parsers existentes funcionan.

Bibliotecas

A diferencia de la API de Search, la API de Chat no toma un parámetro libraries. La IA busca automáticamente en las Bibliotecas a las que el equipo de tu clave API tiene acceso.

Usando el SDK de Python de OpenAI

El SDK de OpenAI funciona directamente — solo apunta base_url a Vulgate:

from openai import OpenAI

client = OpenAI(
    api_key=os.environ["VULGATE_API_KEY"],
    base_url="https://vulgate.ai/api",
)

response = client.chat.completions.create(
    model="vulgate-1",
    messages=[{"role": "user", "content": "Resume el canon sobre la confirmación."}],
)
print(response.choices[0].message.content)

Modelos

Pasa vulgate-1 (o el alias vulgate) en el campo model. Consulta /developers/chat/overview para la lista actual.

Límites de tasa y tiempos de espera

  • 10 solicitudes por cada 10 segundos por equipo (ventana deslizante).
  • 120 segundos por solicitud.

Exceder el límite de tasa devuelve 429 con headers X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset.

Errores

La API usa códigos de estado HTTP estándar:

  • 401 — clave API inválida o faltante.
  • 429 — límite de tasa excedido.
  • 400 — cuerpo de solicitud mal formado; el cuerpo de la respuesta explica qué está mal.
  • 500 / 502 — problema del lado de Vulgate; reintenta con backoff exponencial.

Relacionado

Buscar ayuda