דרישות מוקדמות: הגדרת SDK
התקן את ספריית הלקוח הרשמית לשפת התכנות המועדפת עליך לפני הגדרת החיבור. הספרייה מטפלת ברצף JSON, בניסיונות חוזרים ובפרוטוקולי סטרימינג באופן אוטומטי.
ל-Python, התקן את החבילה דרך pip. ל-Node.js, השתמש ב-npm או yarn כדי להוסיף את התלות לפרויקט שלך.
ודא שאתה משתמש בגרסה עדכנית של ה-SDK כדי לתמוך בכל הפיצ'רים כמו קריאת פונקציות ומצב JSON.
תצורה: כתובת בסיס & מפתח
כוון את לקוח ה-SDK שלך לכתובת הבסיס הספציפית שלנו וספק את מפתח ה-API שקיבלת במהלך ההרשמה.
כתובת ה-URL הבסיסית היא HTTPS://api.claudellmapi.com/v1. זה מבטיח שכל הבקשות יגיעו לשרתי המודל הלא-צנזורתי שלנו במקום לספק המוביל.
הגדר את מפתח ה-API כמשתנה סביבה או העבר אותו ישירות לבנאי הלקוח. אין צורך בכותרות נוספות.
שליחת הבקשה הראשונה שלך
שלח בקשת השלמת צ'אט פשוטה כדי לאמת חיבוריות ואיכות תגובה. השתמש ב-mודל id 'uncensored' כדי לגשת למודל ללא הגבלות.
מבנה הבקשה משקף את הפורמט הסטנדרטי של OpenAI, מה שמקל על החלפת אינטגרציות קיימות.
צפה לתגובת טקסט המכילה את תשובת המודל להנחיה שלך.
טיפול בתגובות זרם
אפשרו זרם (streaming) כדי לקבל אסימונים (tokens) ככל שהם נוצרים, וכן להפחית את תחומת הזמן המוחשית עבור פלט ארוך.
הגדירו את פרמטר stream ל- true בבקשה שלכם. ה-SDK יחזיר נתחי טקסט כפי שהם יהיו זמינים.
זה אידיאלי לממשקי צ'אט שבהם משתמשים מצפים למשוב מיידי בעוד המודל עדיין חושב.
יישום קריאה לפונקציות (Function Calling)
הגדירו כלים בבקשה כדי לאפשר למודל להחזיר נתונים מבניים במקום טקסט רגיל.
ציין את סכמת הפונקציה וקבע tool_choice ל-'auto' או לשם פונקציה ספציפי.
המודל יגיב עם אובייקט קריאה לפונקציה שתוכלו לבצע בקוד שלכם. זה עובד בצורה חלקה עם המודל הלא-צנזורה שלנו.
טיפול בשגיאות & מגבלות
טפלו בשגיאות HTTP נפוצות בצורה חכמה כדי לשמור על חווית משתמש חלקה. סטטוס 401 מצביע על מפתח API לא חוקי או חסר. סטטוס 402 אומר שהאשראי המקדים שלך אזל. סטטוס 429 מציין שחרגת מגבול הקצב של 300 בקשות לדקה.
חלון ההקשר שלך הוא 100,000 טוקנים עבור פקודה והשלמה יחד. בקשות העולות על מגבלת גוף של 8 MB ייכשלו גם כן.
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);זרימה
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)