Prerequisiti: configurazione dell'SDK
Installa la libreria client ufficiale per il tuo linguaggio preferito prima di configurare la connessione. La libreria gestisce serializzazione JSON, retry e protocolli di streaming in modo automatico.
Per Python, installa il pacchetto tramite pip. Per Node.js, usa npm o yarn per aggiungere la dipendenza al tuo progetto.
Assicurati di utilizzare una versione recente dell'SDK per supportare tutte le funzionalità come il function calling e la modalità JSON.
Configurazione: URL di base & Chiave
Indirizza il client SDK al nostro URL di base specifico e fornisci la chiave API ottenuta durante la registrazione.
L'URL di base è HTTPS://api.claudellmapi.com/v1. Questo garantisce che tutte le richieste vadano ai server del nostro modello senza filtri invece che al provider predefinito.
Imposta la chiave API come variabile d'ambiente o passala direttamente al costruttore del client. Non sono necessari header aggiuntivi.
Invio della tua prima richiesta
Invia una semplice richiesta di completamento della chat per verificare la connettività e la qualità della risposta. Utilizza l'ID del modello 'uncensored' per accedere al modello senza restrizioni.
La struttura della richiesta rispecchia il formato standard OpenAI, rendendo facile sostituire le integrazioni esistenti.
Aspettati una risposta di testo contenente la risposta del modello al tuo prompt.
Gestione delle risposte in streaming
Abilita lo streaming per ricevere i token man mano che vengono generati, riducendo la latenza percepita per gli output lunghi.
Imposta il parametro stream su true nella richiesta. L'SDK restituirà chunk di testo man mano che diventano disponibili.
Questo è ideale per le interfacce di chat dove gli utenti si aspettano feedback immediati mentre il modello sta ancora pensando.
Implementazione del function calling
Definisci gli strumenti nella richiesta per consentire al modello di restituire dati strutturati invece di testo normale.
Specificare lo schema della funzione e impostare tool_choice su 'auto' o su un nome di funzione specifico.
Il modello risponderà con un oggetto di chiamata di funzione che puoi eseguire nel tuo codice. Questo funziona perfettamente con il nostro modello uncensored.
Gestione degli errori & Limiti
Gestisci gli errori HTTP comuni in modo elegante per mantenere un'esperienza utente fluida. Uno status 401 indica una chiave API non valida o mancante. Uno status 402 significa che il tuo credito prepagato è esaurito. Uno status 429 segnala che hai superato il limite di frequenza di 300 richieste al minuto.
La tua finestra di contesto è di 100.000 token per prompt e completamento combinati. Le richieste che superano il limite del corpo di 8 MB falliranno.
cURL
curl https://api.claudellmapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What are the current rate limits for large context windows"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.claudellmapi.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.claudellmapi.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);Streaming
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)