المتطلبات الأساسية: إعداد حزمة التطوير (SDK)
ثبّت مكتبة العميل الرسمية الخاصة بلغتك المفضلة قبل إعداد الاتصال. تتعامل المكتبة مع تسلسل JSON وإعادة المحاولة وبروتوكولات البث تلقائيًا.
بالنسبة لـ Python، قم بتثبيت الحزمة عبر pip. بالنسبة لـ Node.js، استخدم npm أو yarn لإضافة التبعية إلى مشروعك.
تأكد من استخدام إصدار حديث من SDK لدعم جميع الميزات مثل استدعاء الوظائف ووضع JSON.
التكوين: عنوان URL الأساسي & المفتاح
وجّه عميل SDK الخاص بك إلى عنوان URL الأساسي المحدد لدينا وقدم مفتاح API الذي حصلت عليه أثناء التسجيل.
عنوان URL الأساسي هو HTTPS://api.claudellmapi.com/v1. يضمن هذا أن تذهب جميع الطلبات إلى خوادم نماذجنا غير الخاضعة للرقابة بدلاً من المزود الافتراضي.
اضبط مفتاح API كمتغير بيئة أو مرره مباشرةً إلى مُنشئ العميل. لا توجد رؤوس إضافية مطلوبة.
إرسال طلبك الأول
أرسل طلب إكمال محادثة بسيط للتحقق من الاتصال وجودة الاستجابة. استخدم معرف النموذج 'uncensored' للوصول إلى النموذج غير المقيد.
يعكس هيكل الطلب تنسيق OpenAI القياسي، مما يسهل استبدال التكاملات الحالية.
تتوقع استجابة نصية تحتوي على إجابة النموذج لسؤالك.
معالجة استجابات التدفق
تمكين التدفق لتلقي الرموز أثناء توليدها، مما يقلل من زمن الاستجابة المُدرَك للمخرجات الطويلة.
عيّن معلمة stream إلى true في طلبك. سيقوم SDK بإخراج شرائح النص بمجرد توفرها.
هذا مثالي لواجهات الدردشة حيث يتوقع المستخدمون ملاحظات فورية بينما لا يزال النموذج يفكر.
تنفيذ استدعاء الدوال
عرّف الأدوات في طلبك للسماح للنموذج بإرجاع بيانات مهيكلة بدلاً من النص العادي.
حدد مخطط الوظيفة واضبط tool_choice على 'auto' أو اسم وظيفة محدد.
سيعود النموذج بكائن استدعاء وظيفة يمكنك تنفيذه في كودك. يعمل هذا بسلاسة مع نموذجنا غير الخاضع للرقابة.
معالجة الأخطاء & الحدود
التعامل مع أخطاء HTTP الشائعة بسلاسة للحفاظ على تجربة مستخدم سلسة. يشير رمز حالة 401 إلى مفتاح API غير صالح أو مفقود. يعني رمز حالة 402 استنفاد رصيدك المدفوع مسبقاً. يشير رمز حالة 429 إلى تجاوز حد المعدل البالغ 300 طلب في الدقيقة.
تبلغ نافذة السياق 100,000 رمز للطلب والإكمال معاً. ستفشل الطلبات التي تتجاوز حد حجم الجسم البالغ 8 ميجابايت أيضاً.
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)