Guida rapida Chat API

Usa la chat radicata nella Libreria di Vulgate tramite l'interfaccia Chat Completions compatibile con OpenAI.

21 mag 2026

La Chat API è compatibile con OpenAI. Implementa la stessa struttura /chat/completions dell'API Chat Completions di OpenAI, quindi qualsiasi client che parla quel protocollo — gli SDK ufficiali openai, l'SDK ai di Vercel, le tue chiamate fetch — funziona puntando su Vulgate.

Dietro le quinte, Vulgate esegue il recupero nelle Librerie a cui la tua chiave API ha accesso e passa i passaggi rilevanti al modello. Le risposte includono citazioni che fanno riferimento ai passaggi sorgente.

Il riferimento completo si trova in /developers/chat/overview. Questo è il minimo per iniziare.

Una richiesta minima

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": "Summarize the council teachings on Eucharistic adoration."}
    ]
  }'

Risposta (troncata):

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "model": "vulgate-1",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "The councils teach that Eucharistic adoration..."
    },
    "finish_reason": "stop"
  }],
  "citations": [
    {
      "cited_text": "<p>...</p>",
      "document_title": "Ecclesia de Eucharistia",
      "document_index": 0,
      "document_author": "John Paul II",
      "source_url": null
    }
  ]
}

Streaming

Imposta stream: true e riceverai server-sent events nella struttura chat.completion.chunk di 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": "Hello"}]
  }'

Ogni chunk è un oggetto JSON preceduto da data: , che termina con data: [DONE]. Identico a OpenAI; i parser esistenti funzionano.

Librerie

A differenza della Search API, la Chat API non accetta un parametro libraries. L'AI cerca automaticamente nelle Librerie a cui il team della tua chiave API ha accesso.

Usare l'SDK Python di OpenAI

L'SDK OpenAI funziona direttamente — basta puntare base_url su 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": "Summarize the canon on confirmation."}],
)
print(response.choices[0].message.content)

Modelli

Passa vulgate-1 (o l'alias vulgate) nel campo model. Vedi /developers/chat/overview per l'elenco attuale.

Limiti di rate e timeout

  • 10 richieste per 10 secondi per team (finestra scorrevole).
  • 120 secondi per richiesta.

Superare il limite di rate restituisce 429 con gli header X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset.

Errori

L'API usa codici di stato HTTP standard:

  • 401 — chiave API non valida o mancante.
  • 429 — limite di rate superato.
  • 400 — corpo della richiesta malformato; il corpo della risposta spiega cosa c'è di sbagliato.
  • 500 / 502 — problema lato Vulgate; riprova con backoff esponenziale.

Correlati

Cerca nell'assistenza