عنوان URL الأساسي والمصادقة
تقبل واجهة برمجة التطبيقات الطلبات عند https://api.qwenapipricing.com/v1. يتطلب كل استدعاء رمز Bearer في Authorization الرأس. تنشئ هذا المفتاح في صفحة التسجيل وهو يحدد حسابك المدفوع مسبقًا.
- استخدم عناوين HTTP القياسية للمصادقة.
- المفتاح ساري المفعول حتى ينتهي رصيدك أو تلغيه.
الطلب الأول
أرسل طلب إكمال محادثة لاختبار الاتصال. يتحقق هذا الاستدعاء البسيط من أن مفتاحك يعمل ويعيد استجابة أساسية.
يمكنك التحقق من أن مفتاحك يعمل مع هذا المثال.
curl https://api.qwenapipricing.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list the costs for the qwen2.5 models"}]
}'
تكامل Python
استخدم مكتبة Python SDK الرسمية من OpenAI للتفاعل مع خدمتنا. وجه العميل إلى عنوان URL الأساسي الخاص بنا وقم بتزويدك بالمفتاح.
يعمل هذا مع معظم المكتبات القياسية لـ Python التي تتوقع نقاط نهاية OpenAI.
from openai import OpenAI
client = OpenAI(base_url="https://api.qwenapipricing.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
يمكن لمطوري Node استخدام openai npm package. Configure the client with our base URL to send requests.
يُحافظ هذا النهج على التوافق مع قواعد بيانات OpenAI الموجودة.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.qwenapipricing.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 في طلبك. تُعيد الـ 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)
حدود المعدلات والأخطاء
تسمح كل مفتاح بـ 300 طلب في الدقيقة و8 اتصالات متزامنة. تتلقى خطأ 401 للمفاتيح غير الصالحة، و402 عند استنفاد الرصيد، و429 لحدود معدل الطلب. تدعم نافذة السياق 100,000 رمز إجمالي.