URL Base e Autenticazione
L'API Chatterbot si trova a https://api.chatterbotapi.com/v1. Autenticati con un token Bearer in Authorization header. La tua chiave appare immediatamente dopo la registrazione tramite Google o email.
- Base URL:
https://api.chatterbotapi.com/v1 - Intestazione:
Authorization: Bearer YOUR_API_KEY
Una chiave per account sostituisce la vecchia istantaneamente. Tienila al sicuro.
Prima richiesta
Invia una richiesta POST a /v1/chat/completions con il modello uncensored. L'API restituisce testo generato senza i rifiuti standard per i contenuti adulti leciti.
Ecco un esempio minimale di cURL:
curl https://api.chatterbotapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What is the capital city of France"}]
}'Verifica che la risposta includa il testo generato in choices[0].message.content.
Integrazione SDK Python
Usa la libreria Python ufficiale di OpenAI. Puntala al nostro URL di base e inietta la tua chiave. Il client gestisce automaticamente la serializzazione JSON.
from openai import OpenAI
client = OpenAI(base_url="https://api.chatterbotapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Questo approccio funziona sia per le chiamate in streaming che per quelle non streaming. L'ID del modello rimane uncensored.
Setup SDK Node.js
Inizializza il pacchetto npm OpenAI con l'URL base personalizzato. Questo garantisce la compatibilità con i client OpenAI esistenti.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chatterbotapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);Configura la variabile d'ambiente o passa la chiave direttamente. L'API si comporta come qualsiasi endpoint standard di chat-completions.
Risposte in streaming
Abilita lo streaming impostando stream: true. L'API invia Server-Sent Events (SSE). I dati sull'utilizzo dei token appaiono solo nell'ultimo chunk.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)Elabora ogni chunk man mano che arriva. Questo riduce la latenza percepita per le risposte lunghe fino a 16,000 token.
Limiti ed Errori
Aspettati un errore 401 se la chiave non è valida. Un errore 402 significa che il tuo credito prepagato è esaurito. Gli errori e i rifiuti non consumano token. Sei limitato a 300 richieste al minuto. La finestra di contesto contiene 100.000 token totali. I corpi delle richieste devono rimanere sotto 8 MB.