توثيق واجهة برمجة التطبيقات
أدرج الكود المتوافق مع OpenAI الحالي في نقطة النهاية الخاصة بنا. يوضح هذا الدليل كيفية الاتصال والمصادقة وتدفق الاستجابات بدون أي عبء تكوين.
المصادقة & عنوان URL الأساسي
ابدأ بتوجيه عميلك إلى عنوان URL الأساسي الصحيح. نحن نقبل رؤوس OpenAI القياسية للتوافق. يذهب مفتاح API الخاص بك في رأس المصادقة كرمز حامل. مرره مباشرة من متغيرات البيئة الخاصة بك لتجنب تشفير الأسرار. هذا الإعداد يعمل مع أي مكتبة تدعم بروتوكول OpenAI.
الطلب الأول
أرسل إكمال محادثة بسيط للتحقق من الاتصال. استخدم معرف النموذج "uncensored" لتوليد النص. تعيد نقطة النهاية JSON قياسي مع خيارات ومقاييس الاستخدام. إذا حصلت على 401، تحقق من تنسيق مفتاحك. يشير 402 إلى عدم كفاية الرصيد المدفوع مسبقاً. يؤكد هذا الاختبار السريع أن تكاملك جاهز لحركة المرور الإنتاجية.
curl https://api.mistralbaseurl.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List installed python packages with versions"}]
}'
تكامل واجهة برمجة تطبيقات Python
قم بتكوين حزمة OpenAI Python لاستخدام عنوان URL الأساسي الخاص بنا. اضبط مفتاح API واسم النموذج صراحةً. مرر رسائلك كقائمة من القواميس مع مفاتيح الدور والمحتوى. يحتوي كائن الاستجابة على النص المولد في choices[0].message.content. تعامل مع الاستثناءات بلطف لالتقاط أخطاء الشبكة أو حدود المعدل أثناء التنفيذ.
from openai import OpenAI
client = OpenAI(base_url="https://api.mistralbaseurl.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)
إعداد SDK Node.js
قم بتهيئة عميل OpenAI باستخدام عنوان URL الأساسي والمفتاح. عرّف مصفوفة الرسائل مع أدوار المستخدم والمساعد. استدعِ chat.completions.create باستخدام نموذج uncensored. يوفر الاستجابة النص المُولّد في الاختيار الأول. استخدم هذا النمط لكل من المكالمات المتزامنة وغير المتزامنة في تطبيقات Node الخاصة بك.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mistralbaseurl.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 إلى true. ترسل واجهة برمجة التطبيقات أجزاء من البيانات بمجرد توليدها. يحتوي كل جزء على نص جزئي يمكنك إضافته إلى المخزن المؤقت. يقلل هذا الأسلوب من زمن الاستجابة المُدرَك للمخرجات الطويلة. راقب استخدام الرموز في الجزء الأخير لتتبع الفوترة بدقة.
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)
الحدود & نافذة السياق
حسابك يدعم نافذة سياق بحجم 100,000 رمز. الحد الأقصى للإخراج هو 16,000 رمز لكل طلب. يمكنك إرسال 300 طلب في الدقيقة. يعمل 8 طلبات فقط في وقت واحد. ستفشل الطلبات التي يتجاوز حجم جسمها 8 ميجابايت. استخدم هذه الحدود لتصميم منطق إعادة المحاولة. تشير الأخطاء مثل 429 إلى تجاوز حد المعدل. لا تستهلك الرفضات رصيدك.
الأسئلة الشائعة
ما هو عنوان URL الأساسي لواجهة برمجة تطبيقات (API) mistral؟
استخدم HTTPS://api.mistralbaseurl.com/v1 كعنوان URL الأساسي. تعمل مع أي SDK متوافق مع OpenAI. وجه عميلك إلى هناك وحدد النموذج على uncensored.
كيف أتعامل مع أخطاء حد معدل الطلبات (429)؟
تحصل على خطأ 429 عند تجاوز 300 طلب في الدقيقة. نفذ استراتيجية زيادة العائد الأسي في عميلك. أعد المحاولة بعد فترة التأخير المحددة في رأس retry-after.
هل يدعم النموذج غير الخاضع للرقابة التدفق؟
نعم، اضبط stream إلى true في طلبك. ترسل واجهة برمجة التطبيقات أحداث الحدث المرسلة مع فواصل الرموز. قم بتحليل هذه الشرائح لتحديث واجهة المستخدم الخاصة بك في الوقت الفعلي دون انتظار الاكتمال الكامل.
احصل على مفتاح API الخاص بك الآن
سجّل، احصل على مفتاحك، حدّث عنوان URL الأساسي. هذا كل شيء.