عنوان URL الأساسي والمصادقة
تقع واجهة برمجة التطبيقات الخاصة بـ Chatterbot في https://api.chatterbotapi.com/v1. تقوم بالمصادقة باستخدام رمز حامل في Authorization رأس الصفحة. يظهر مفتاحك فوراً بعد التسجيل عبر جوجل أو البريد الإلكتروني.
- URL الأساسي:
https://api.chatterbotapi.com/v1 - رأس:
Authorization: Bearer YOUR_API_KEY
يستبدل مفتاح واحد القديم فورًا. احتفظ به بأمان.
الطلب الأول
أرسل طلب POST إلى /v1/chat/completions باستخدام معرف النموذج uncensored. تُعيد الـ API نصاً مُولّداً بدون الرفض القياسي للمحتوى البالغ القانوني.
إليك مثال بسيط باستخدام cURL:
curl https://api.chatterbotapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What is the capital city of France"}]
}'تحقق من أن الاستجابة تتضمن النص المولد في choices[0].message.content.
تكامل واجهة برمجة تطبيقات Python
استخدم مكتبة بايثون الرسمية من OpenAI. وجهها إلى عنوان URL الأساسي الخاص بنا وأدرج مفتاحك. يتعامل العميل مع تسلسل JSON تلقائيًا.
from openai import OpenAI
client = OpenAI(base_url="https://api.chatterbotapi.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)يعمل هذا الأسلوب لكل من المكالمات المتدفقة وغير المتدفقة. يظل معرف النموذج uncensored.
إعداد SDK Node.js
قم بتهيئة حزمة OpenAI npm بعنوان URL الأساسي المخصص. يضمن ذلك التوافق مع عملاء OpenAI الحاليين.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chatterbotapi.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);قم بتكوين متغير البيئة أو مرر المفتاح مباشرةً. يتصرف API مثل أي نقطة نهاية chat-completions قياسية.
استجابات البث
فعّل البث عن طريق تعيين stream: true. تُرسل الـ API أحداث الإرسال من الخادم. تظهر بيانات استخدام الرموز فقط في الجزء الأخير.
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)معالجة كل قطعة فور وصولها. يقلل هذا من زمن الاستجابة المُدرَك للمخرجات الطويلة حتى 16,000 رمز تعريفي.
الحدود والأخطاء
تتوقع خطأ 401 إذا كان المفتاح غير صالح. يعني خطأ 402 أن رصيدك المدفوع مسبقاً قد استنفد. الأخطاء والرفض لا تستهلك رموزاً. أنت محدود بـ 300 طلب في الدقيقة. نافذة السياق تحتوي على 100,000 رمز إجمالاً. يجب أن تبقى أحجام الطلبات أقل من 8 ميجابايت.