البدء السريع: سهل واجهة برمجة تطبيقات متوافقة مع OpenAI
يعني التوافق السهل مع OpenAI أنك تغير عنوان URL الأساسي ومفتاحاً واحداً، ثم يعمل الكود الحالي الخاص بك مع نموذجنا غير الخاضع للرقابة دون إعادة كتابة المنطق. يساعدك هذا الدليل السريع على الانتقال من الصفر إلى استجابة التدفق في دقائق.
تغيير base_url وتعيين مفتاح API
الخطوة الأولى هي توجيه مكتبة SDK الخاصة بك إلى نقطة النهاية الخاصة بنا. استخدم https://api.whatisopenrouterai.com/v1 كعنوان URL الأساسي الخاص بك ولصق مفتاحك من لوحة التحكم. هذا التغيير الوحيد يعيد توجيه جميع المكالمات إلى نموذج اللغة الكبير غير الخاضع للرقابة الخاص بنا مع الحفاظ على رؤوس OpenAI المتوافقة القياسية سليمة.
- أنشئ مفتاحاً عبر Google أو البريد الإلكتروني.
- احفظه في متغيرات البيئة الخاصة بك.
- تحقق من أن المفتاح يعمل بطلب بسيط.
curl https://api.whatisopenrouterai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Set variable x to five"}]
}'
أرسل طلبات إلى /v1/chat/completions
تقبل واجهة برمجة التطبيقات الخاصة بنا إكمال المحادثات القياسية مع إدخال النص وتعيد إخراج النص. ترسل طلب POST إلى /v1/chat/completions النقطة النهائية مع معرف النموذج وسجل الرسائل. معرف النموذج ببساطة uncensored, الذي يضبط النموذج للإجابة دون رفض المحتوى القانوني للبالغين.
from openai import OpenAI
client = OpenAI(base_url="https://api.whatisopenrouterai.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)
قم بتدفق الرموز مع SSE
يوفر التدفق تغذية راجعة في الوقت الفعلي عبر أحداث الإرسال من الخادم. يحتوي كل جزء على نص جزئي، ويشمل الجزء الأخير إحصائيات استخدام الرموز. يحافظ هذا النهج على استجابة واجهة المستخدم أثناء انتظار اكتمال الاستponses طويلة النص.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.whatisopenrouterai.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);
فرض json_object باستخدام response_format
استخدم ال response_format المعامل مضبوط على {"type": "json_object"} لإجبار إخراج JSON الصارم. يضمن ذلك تنسيقاً قابلاً للتنبؤ لتطبيقاتك دون الاعتماد على تخمين النموذج للهيكل الصحيح في كل مرة.
استخدم الأدوات وtool_choice
يعمل استدعاء الوظائف تمامًا مثل واجهة برمجة التطبيقات (API) القياسية لـ OpenAI. عرّف أدواتك في الطلب، وسيعيد النموذج حجومات هيكلية عند الاقتضاء. يمكنك إجبار استخدام الأدوات مع tool_choice أو اترك النموذج يقرر بناءً على السياق.
تحقق من النماذج المتاحة
استعلام GET /v1/models لعرض النموذج غير الخاضع للرقابة الوحيد المتاح. يعيد هذا الطرف المعرف الخاص بالنموذج والتفاصيل، مما يؤكد أن خدمتنا نشطة وجاهزة لاستقبال الطلبات. لا نقدم خيارات متعددة للنماذج، مما يجعل التكامل بسيطاً ومركزاً.
التدفق
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)الأسئلة الشائعة
ما هو open router AI
إنها واجهة برمجة تطبيقات (API) مستضافة ومتوافقة مع OpenAI، تقدم نموذج لغة كبير واحدًا غير خاضع للرقابة. تحصل على بديل جاهز للاستخدام للكود القياسي لـ OpenAI عن طريق تغيير عنوان URL الأساسي والمفتاح. لا يرفض النموذج المحتوى القانوني للبالغين، مما يوفر تجربة نموذج لغة كبير غير خاضع للرقابة حقًا.
كيف أتعامل مع حدود معدل الطلبات والأخطاء؟
تحصل على خطأ 401 لمفتاح غير صالح، و402 إذا لم يكن لديك رصيد، و429 لحدود معدل الطلبات. الحد لدينا هو 300 طلب في الدقيقة لكل مفتاح. لا تستهلك الأخطاء والرفضات الرموز المدفوعة مسبقاً.
ما هو حجم نافذة السياق؟
نافذة السياق هي 100,000 رمز لكل من النص البرمجي والإكمال. الحد الأقصى للإخراج لكل طلب هو 16,000 رمز، أو 2,048 إذا لم تحدد max_tokens. هذا يسمح بمحادثات مطولة دون اقتصاص فوري.