Precondiții: configurarea SDK-ului
Instalează librăria client oficială pentru limbajul tău preferat înainte de a configura conexiunea. Librăria gestionează automat serializarea JSON, reîncercările și protocoalele de streaming.
Pentru Python, instalează pachetul prin pip. Pentru Node.js, folosește npm sau yarn pentru a adăuga dependența la proiectul tău.
Asigură-te că folosești o versiune recentă a SDK-ului pentru a suporta toate funcțiile, cum ar fi apelarea de funcții și modul JSON.
Configurare: URL de bază & Cheie
Indreptați clientul SDK către URL-ul de bază specific și furnizați cheia API obținută în timpul înregistrării.
URL-ul de bază este HTTPS://api.claudellmapi.com/v1. Acest lucru asigură că toate solicitările merg la serverele modelului nostru fără cenzură în loc de furnizorul implicit.
Stabilește cheia API ca variabilă de mediu sau trece-o direct în constructorul clientului. Nu sunt necesare antete suplimentare.
Trimiterea primei cereri
Trimiteți o cerere simplă de completare chat pentru a verifica conectivitatea și calitatea răspunsului. Utilizați ID-ul modelului 'uncensored' pentru a accesa modelul nelimitat.
Structura cererii imită formatul standard OpenAI, facilitând înlocuirea integrărilor existente.
Așteptați-vă la un răspuns text care conține răspunsul modelului la promptul tău.
Gestionarea răspunsurilor de streaming
Activați streaming-ul pentru a primi tokenii pe măsură ce sunt generați, reducând latența percepută pentru output-urile lungi.
Setează parametrul stream la true în solicitarea ta. SDK-ul va genera bucăți de text pe măsură ce devin disponibile.
Acest lucru este ideal pentru interfețele de chat unde utilizatorii așteaptă feedback imediat în timp ce modelul încă se gândește.
Implementarea apelării de funcții
Definește instrumentele în cerere pentru a permite modelului să returneze date structurate în loc de text simplu.
Specifică schema funcției și setează tool_choice pe 'auto' sau pe numele unei funcții specifice.
Modelul va răspunde cu un obiect de apel de funcție pe care îl puteți executa în codul dvs. Acest lucru funcționează perfect cu modelul nostru uncensored.
Gestionarea erorilor & Limite
Gestionați cu grijă erorile HTTP comune pentru a menține o experiență fluidă a utilizatorului. Un status 401 indică o cheie API invalidă sau lipsă. Un status 402 înseamnă că creditul preplătit s-a epuizat. Un status 429 semnalează că ați depășit limita de rată de 300 de cereri pe minut.
Fereastra de context este de 100.000 de tokeni pentru prompt și completare combinate. Cererile care depășesc limita de corp de 8 MB vor eșua, de asemenea.
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)