پیشنیازها: راهاندازی SDK
کتابخانه کلاینت رسمی را برای زبان مورد علاقه خود قبل از پیکربندی اتصال نصب کنید. کتابخانه سریالسازی JSON، تلاش مجدد و پروتکلهای استریم را بهطور خودکار مدیریت میکند.
برای Python، بسته را از طریق pip نصب کنید. برای Node.js، از npm یا yarn برای افزودن وابستگی به پروژه خود استفاده کنید.
اطمینان حاصل کنید که از نسخه جدیدی از SDK استفاده میکنید تا از تمام ویژگیهایی مانند فراخوانی تابع (function calling) و حالت JSON پشتیبانی شود.
پیکربندی: URL پایه و کلید
مشتری SDK خود را به URL پایه خاص ما پیکربندی کنید و کلید API که در زمان ثبتنام دریافت کردهاید ارائه دهید.
آدرس پایه برابر است با HTTPS://api.claudellmapi.com/v1. این موضوع تضمین میکند که تمام درخواستها به سرورهای مدل بدون سانسور ما به جای ارائهدهنده پیشفرض ارسال شوند.
کلید API را به عنوان یک متغیر محیطی تنظیم کنید یا آن را مستقیماً به سازنده کلاینت پاس دهید. به هدرهای اضافی نیازی نیست.
ارسال اولین درخواست
یک درخواست تکمیل چت ساده برای تأیید اتصال و کیفیت پاسخ ارسال کنید. از شناسه مدل 'uncensored' برای دسترسی به مدل بدون محدودیت استفاده کنید.
ساختار درخواست با فرمت استاندارد OpenAI مطابقت دارد و جابجایی یکپارچهسازیهای موجود را آسان میسازد.
انتظار یک پاسخ متنی شامل پاسخ مدل به prompt شما را داشته باشید.
مدیریت پاسخهای جریانسازی
جریانسازی را فعال کنید تا توکنها را هنگام تولید دریافت کنید و تأخیر ادراکشده برای خروجیهای طولانی کاهش یابد.
پارامتر stream را روی true در درخواست خود تنظیم کنید. SDK قطعاتی از متن را همانطور که در دسترس میشوند تولید میکند.
این برای رابطهای چتی که کاربران در آنها بازخورد فوری در حالی که مدل هنوز در حال فکر کردن است انتظار دارند، ایدهآل است.
پیادهسازی فراخوانی تابع
ابزارها را در درخواست خود تعریف کنید تا به مدل اجازه دهد به جای متن ساده، دادههای ساختاریافته بازگرداند.
اسکیما تابع را مشخص کنید و tool_choice را روی 'auto' یا نام یک تابع خاص تنظیم کنید.
مدل با یک شیء فراخوان تابع پاسخ میدهد که میتوانید آن را در کد خود اجرا کنید. این به طور یکپارچه با مدل بدون سانسور ما کار میکند.
مدیریت خطا و محدودیتها
خطاهای رایج HTTP را بهخوبی مدیریت کنید تا تجربه کاربری روانی حفظ شود. وضعیت 401 نشاندهنده کلید API نامعتبر یا فاقد آن است. وضعیت 402 به این معنی است که اعتبار پیشپرداخت شما تمام شده است. وضعیت 429 نشان میدهد که از محدودیت نرخ 300 درخواست در دقیقه تجاوز کردهاید.
پنجره زمینه شما ۱۰۰,۰۰۰ توکن برای مجموع پرامپت و تکمیل است. درخواستهایی که از محدودیت بدنه ۸ مگابایت فراتر روند نیز شکست میخورند.
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"}]
}'پایتون
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)