البدء السريع لمستخدمي Minicpm
قم بتوصيل عميلك المتوافق مع OpenAI الحالي بواجهة API الخاصة بنا بدون رقابة في أقل من دقيقة. استبدل عنوان URL الأساسي، اضبط مفتاحك، وابدأ في توليد النص باستخدام نموذج "بدون رقابة".
عنوان URL الأساسي والمصادقة
لاستخدام هذه الواجهة، تحتاج إلى مفتاح API وعنوان URL الأساسي الصحيح. خدمتنا متوافقة تمامًا مع مكتبات عميل OpenAI القياسية. لا تحتاج إلى تثبيت تبعيات جديدة أو تعلم مكتبة SDK جديدة. فقط وجه عميلك الحالي إلى نقطة النهاية الخاصة بنا.
أنشئ مفتاحًا من صفحة الحصول على مفتاح API. يمكنك تسجيل الدخول باستخدام Google أو استخدام البريد الإلكتروني وكلمة المرور. يظهر المفتاح فورًا. احفظه بأمان. يجب أن يتضمن كل طلب هذا المفتاح في رأس Authorization.
عنوان URL الأساسي لجميع الطلبات هو: https://api.minicpm.cc/v1. يتعامل هذا العنوان مع إكمالات الدردشة، وقائمة النماذج، واستجابات البث المتدفق. لا توجد نقاط نهاية منفصلة للتضمين أو الرؤية. هذه واجهة نصية فقط.
الطلب الأول
أرسل طلب إكمال دردشة قياسي لبدء توليد النص. معرف النموذج هو دائمًا uncensored. هذا النموذج هو نموذج لغة كبير مفتوح الأوزان مضبوط للإجابة بدون رفض المحتوى للاستخدام القانوني للبالغين. إنه ليس GPT أو Claude أو أي نموذج آخر من البائعين.
اضبط حقل model إلى uncensored. قدم رسائلك بتنسيق المصفوفة القياسي. تُرجع الواجهة استجابة نصية. يمكنك التحكم في طول الإخراج باستخدام max_tokens. إذا لم تضبطه، فإن الحد الأقصى الافتراضي للإخراج هو 2,048 رمز.
تكامل مكتبة Python SDK
استخدم مكتبة Python الرسمية لـ OpenAI للتفاعل مع الواجهة. تحتاج فقط إلى تكوين عنوان URL الأساسي ومفتاح API. تعمل باقي المكتبة كما هو متوقع. يتضمن ذلك دعم البث المتدفق، استدعاء الدوال، ووضع JSON.
قم بتثبيت المكتبة باستخدام pip install openai. قم بتهيئة العميل بعنوان URL الأساسي والمفتاح. أرسل الرسائل إلى نقطة نهاية إكمالات الدردشة. يحتوي كائن الاستجابة على النص المولد، واستخدام الرموز، وسبب الانتهاء. يمكنك الوصول إلى هذه الحقول مباشرة في كود Python الخاص بك.
تكامل مكتبة Node SDK
تعمل مكتبة Node.js SDK بنفس طريقة النسخة الخاصة بـ Python. قم بتثبيت الحزمة وقم بتكوين عنوان URL الأساسي. يتعامل العميل مع المصادقة وتنسيق الطلب تلقائيًا. هذا يتيح لك تكامل الواجهة في خدمات الخلفية الخاصة بك بسرعة.
مرر عنوان URL الأساسي ومفتاح API إلى مُنشئ عميل OpenAI. استخدم طريقة chat.completions.create. يتطابق هيكل الاستجابة مع معيار OpenAI. يمكنك معالجة الأخطاء، والتحقق من استخدام الرموز، ومعالجة المحتوى. يضمن هذا النهج التوافق مع قواعد الشفرة الموجودة التي تستخدم بالفعل OpenAI.
استجابات البث المتدفق
فعّل البث المتدفق عن طريق ضبط stream: true في طلبك. تُرجع الواجهة تسلسلًا من أحداث Server-Sent Events (SSE). يحتوي كل حدث على شريحة من الاستجابة. هذا يتيح لك عرض النص للمستخدم أثناء توليده.
تتضمن الشريحة الأخيرة إحصائيات استخدام الرموز. هذا مفيد لتتبع التكاليف. يقلل البث المتدفق من زمن الاستجابة المدرك للمستخدمين. يُنصح به لواجهات الدردشة. يمكنك تحليل الأحداث في كود العميل الخاص بك لبناء الاستجابة النهائية أو عرض الرموز في الوقت الفعلي.
الحدود، الأخطاء، والسياق
يدعم النموذج نافذة سياق بحجم 100,000 رمز. يشمل ذلك كلًا من الموجّه والإكمال. الحد الأقصى للإخراج لكل طلب هو 32,000 رمز. يمكنك ضبط معلمة max_tokens للتحكم في ذلك.
تم ضبط حدود المعدل على 300 طلب في الدقيقة لكل مفتاح. يمكنك إجراء 8 طلبات متزامنة. يجب أن يكون حجم جسم الطلب أقل من 8 ميجابايت. إذا كان المفتاح غير صالح، ستتلقى خطأ 401. إذا لم يكن لديك رصيد، ستتلقى خطأ 402. إذا تجاوزت حدّ المعدل، ستتلقى خطأ 429. لا تستهلك الأخطاء والرفضات الرصيد.
cURL
curl https://api.minicpm.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.minicpm.cc/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.minicpm.cc/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)مواصفات API
كل الحدود والميزات الفعلية للـ API في مكان واحد — راجعها قبل شحن الرصيد.
| البند | القيمة |
|---|---|
| صيغة API | متوافق مع OpenAI: يعمل أي SDK من OpenAI بتغيير base URL والمفتاح فقط |
| Base URL | https://api.minicpm.cc/v1 |
| معرّف النموذج | uncensored |
| المصادقة | Authorization: Bearer YOUR_KEY |
| نقاط النهاية | POST /v1/chat/completions · GET /v1/models |
| المعاملات | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| البث المتدفق | نعم — server-sent events؛ آخر جزء يتضمن استهلاك الرموز |
| استدعاء الدوال | نعم — tools و tool_choice؛ الرد يتضمن tool_calls حتى أثناء البث؛ تُرسل النتائج كرسالة role: tool |
| وضع JSON | response_format: {"type": "json_object"} |
| نافذة السياق | 100,000 رمز (المدخلات والمخرجات معاً) |
| أقصى مخرجات | حتى ما تبقى من نافذة 100,000 رمزًا؛ max_tokens اختياري (بلا حد منفصل) |
| الطلبات المتزامنة | حتى 8 في الوقت نفسه لكل مفتاح |
| حجم الطلب | حتى 8 MB |
| حدّ المعدل | 300 طلب في الدقيقة لكل مفتاح |
| ترويسات الرد | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| الفوترة | رصيد مسبق الدفع حسب الاستهلاك الفعلي؛ الأخطاء والرفض مجانية |
| شحن الرصيد | USDT (TRC20) أو USDC (Base)، أي مبلغ صحيح من $10 إلى $500 |
| الصلاحية | الرصيد المدفوع لا تنتهي صلاحيته، بدون اشتراك |
| السعر | $0.25 لكل مليون رمز مدخلات · $1.00 لكل مليون رمز مخرجات |
| رصيد تجريبي مجاني | $0.50 لمدة 7 أيام، بدون بطاقة · مفتاح تجريبي: طلبان متوازيان، 60 طلبًا في الدقيقة؛ الحدود الكاملة (8 و300) بعد أول شحن |
| مكافأة | +5% من $50، +10% من $100 |
| تسجيل الدخول | Google أو البريد الإلكتروني وكلمة المرور |
| المحتوى | محتوى البالغين مسموح؛ يُرفض أي محتوى جنسي يتعلق بالقاصرين |
| المفاتيح | مفتاح نشط واحد لكل حساب؛ المفتاح الجديد يحل محل القديم |
رموز الأخطاء
تصل الأخطاء بصيغة JSON مع type ثابت؛ الطلبات الفاشلة أو المرفوضة لا تُحتسب.
| الرمز | النوع | المعنى |
|---|---|---|
400 | bad_request | JSON غير صالح أو رسائل فارغة أو معامل خاطئ أو تجاوز نافذة السياق |
401 | missing_key · invalid_key · key_revoked | لا يوجد مفتاح أو المفتاح خاطئ أو تم استبداله |
402 | no_credit | الرصيد فارغ — اشحن وتستأنف الطلبات فوراً |
403 | content_blocked | محتوى جنسي يتعلق بقاصرين — مرفوض دون احتساب |
404 | not_found | نقطة نهاية غير معروفة |
413 | request_too_large | جسم الطلب أكبر من 8 MB |
429 | rate_limited · concurrency | تجاوز 300 في الدقيقة أو 8 متزامنة — انتظر ثم أعد المحاولة |
503 | upstream_busy | النموذج مشغول — أعد المحاولة بعد ثوانٍ |
أسئلة وأجوبة
ما هو حجم نافذة السياق؟
حجم نافذة السياق هو 100,000 رمز (token)، ويشمل كلًا من الموجّه المدخل والإكمال الناتج. الحد الأقصى للإخراج لكل طلب هو 32,000 رمز.
كيف أتعامل مع الأخطاء؟
يشير خطأ 401 إلى مفتاح API غير صالح. يشير خطأ 402 إلى استنفاد رصيدك المسبق الدفع. يعني خطأ 429 أنك تجاوزت حدّ المعدل البالغ 300 طلب في الدقيقة. لا تستهلك الأخطاء رصيدك.
هل يمكنني استخدام البث المتدفق؟
نعم. اضبط <code>stream: true</code> في طلبك. تُرجع الواجهة أحداثًا مُرسلة من الخادم (SSE). يحتوي الشريحة الأخيرة على إحصائيات استخدام الرموز.
مفتاحك على بُعد نموذج واحد
أنشئ حسابًا، انسخ المفتاح، غيّر عنوان URL الأساسي. هذا هو الإعداد الكامل.