القيم التي يجب نسخها
يحتاج كل من يبحث عن mimo api base url إلى ثلاث قيم، وكل ما عداها تفاصيل خاصة بالأداة التي تقوم بتكوينها.
| الإعداد | القيمة |
|---|---|
| عنوان URL الأساسي | https://api.mimoapi.top/v1 |
| معرّف النموذج | uncensored |
| رأس المصادقة | Authorization: Bearer YOUR_KEY |
| نقطة نهاية الدردشة | POST /v1/chat/completions |
| قائمة النماذج | GET /v1/models |
الخدمة متوافقة مع OpenAI، لذا فإن أي عميل يسمح لك بتغيير عنوان URL الأساسي لـ OpenAI والمفتاح سيعمل. إنها خدمة نصية مستضافة تعمل بنموذج مفتوح الأوزان من مزود مستقل؛ وهي ليست الـ API الرسمي لأي بائع نماذج. النص فقط: لا يوجد توليد صور أو صوت أو فيديو، ولا تضمينات ولا ضبط دقيق، لذا لن يجد العملاء الذين يتوقعون نقاط النهاية تلك. إذا لم يكن لديك مفتاح بعد، فإن صفحة المفاتيح تأخذ دقيقة.
عنوان URL الأساسي مقابل نقطة النهاية الكاملة
الالتباس الأكثر شيوعًا هو بين عنوان URL الأساسي ونقطة النهاية. يتوقف عنوان URL الأساسي عند /v1. نقطة النهاية هي الأساس مضافًا إليه مسار. تقوم مكتبات OpenAI الرسمية، وأدوات كثيرة مبنية عليها، بدمج الاثنين لك.
- عنوان URL الأساسي:
https://api.mimoapi.top/v1 - نقطة نهاية الدردشة:
https://api.mimoapi.top/v1/chat/completions - نقطة نهاية النماذج:
https://api.mimoapi.top/v1/models
عندما تطلب شاشة الإعداد "عنوان URL الأساسي" أو "أساس API" أو "نقطة النهاية" أو "المضيف"، اقرأ النص التوضيحي للحقل. إذا كان النص التوضيحي ينتهي بـ /v1، الصق عنوان URL الأساسي. إذا كان ينتهي بـ /chat/completions، الصق نقطة نهاية الدردشة الكاملة. لصق نقطة النهاية الكاملة في حقل يتوقع أساسًا ينتج /chat/completions/chat/completions، وهو غير موجود. لصق النطاق العاري فقط في حقل يتوقع أساسًا ينتج /chat/completions بدون /v1، مما يؤدي إلى فشل بنفس الطريقة.
لاحظ المضيف أيضًا. تعمل الواجهة على النطاق الفرعي api. يوفر النطاق الرئيسي للموقع صفحات الويب، لذا فإن الطلب إليه بمسار واجهة لن يصل إلى النموذج.
Python و Node
مع مكتبات SDK الرسمية، تضبط عنوان URL الأساسي مرة واحدة عند إنشاء العميل. قم بالتثبيت باستخدام pip install openai أو npm install openai.
from openai import OpenAI
client = OpenAI(
base_url="https://api.mimoapi.top/v1",
api_key="YOUR_KEY",
)
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Name three uses for a base URL."}],
max_tokens=150,
)
print(resp.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.mimoapi.top/v1",
apiKey: process.env.LLM_API_KEY,
});
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Name three uses for a base URL." }],
max_tokens: 150,
});
console.log(resp.choices[0].message.content);
تقرأ مكتبات Python و Node OpenAI أيضًا متغيرات البيئة OPENAI_BASE_URL و OPENAI_API_KEY عندما لا تمرر قيمًا في الكود. هذا يجعل من الممكن إعادة توجيه سكريبت موجود دون تحريره: قم بتصدير المتغيرين، وسيتحدث السكريبت مع هذه الواجهة. تحقق من أن السكريبت لا يحتوي على اسم نموذج ثابت مثل اسم GPT؛ استبدله بـ uncensored.
curl لاختبار سريع
يزيل طلب HTTP العادي كل المتغيرات الأخرى، لذا فهو أفضل فحص أولي. الأمر الأول يعرض النماذج ويؤكد صحة المفتاح. الأمر الثاني يرسل طلب دردشة.
export LLM_API_KEY="YOUR_KEY"
curl -s https://api.mimoapi.top/v1/models \
-H "Authorization: Bearer $LLM_API_KEY"
curl -s https://api.mimoapi.top/v1/chat/completions \
-H "Authorization: Bearer $LLM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"ping"}],"max_tokens":20}' -i
يطبع العلم -i رؤوس الاستجابة. ابحث عن X-Request-Id (اذكره عند التواصل مع الدعم)، وX-Balance-USD (رصيدك المتبقي)، ورأسَي حدّ المعدل، X-RateLimit-Limit-Requests وX-RateLimit-Limit-Concurrency. للبث المتدفق، أضف "stream": true إلى الجسم و-N إلى curl حتى لا يتم تخزين المخرجات مؤقتًا. يشرح الدليل السريع لمدة خمس دقائق البث المتدفق واستدعاء الدوال بعد ذلك.
LangChain وواجهات الدردشة الأمامية وأدوات أخرى
تستخدم الأدوات من جهات خارجية تسمياتها الخاصة، ولكن جميعها تحتاج إلى نفس القيم الثلاث. بعض الأنماط التي ستراها:
- LangChain (Python):
ChatOpenAI(model="uncensored", base_url="https://api.mimoapi.top/v1", api_key="YOUR_KEY"). تعمل نفس الفئة مع أي خادم متوافق مع OpenAI. - SillyTavern وأدوات تمثيل الأدوار المماثلة: اختر مصدر دردشة مخصصًا أو عامًا متوافقًا مع OpenAI، الصق عنوان URL الأساسي، أضف المفتاح، واكتب
uncensoredكاسم النموذج إذا لم يتم ملء القائمة تلقائيًا. - Open WebUI وواجهات المستخدم للدردشة المستضافة ذاتيًا الأخرى: أضف اتصالًا متوافقًا مع OpenAI في الإعدادات، باستخدام عنوان URL الأساسي والمفتاح نفسه.
- إضافات المحررات والسكريبتات: ابحث عن "نقطة نهاية OpenAI مخصصة" أو "تجاوز عنوان URL الأساسي" في إعدادات الإضافة.
تتغير أسماء القوائم في كل أداة بين الإصدارات، لذا اعتمد على غرض الحقل بدلاً من التسمية الدقيقة. إذا أصرّت الأداة على التحقق من صحة المفتاح مقابل مزود ثابت، فهي غير متوافقة مع نقاط النهاية المخصصة، والحل هو استخدام أداة مختلفة.
عندما تقدم الأداة قائمة منسدلة للنماذج، فإنها عادةً ما تملؤها عن طريق استدعاء GET /v1/models. إذا بقيت القائمة فارغة، اكتب معرف النموذج يدويًا. إذا رفضت الأداة أسماء النماذج غير المعروفة، ابحث عن خيار مُسمى "نموذج مخصص".
تصحيح أخطاء التكوين الشائعة
عند فشل الطلب، يحدد رمز الحالة وعنوان URL الدقيق السبب بسرعة. تابع هذه القائمة.
- خطأ المصادقة. المفتاح مفقود أو مقطوع أو يحتوي على مسافة أو سطر جديد في النهاية. الصقه مرة أخرى، وتأكد من أن رأس الطلب يقرأ
Bearer، ثم مسافة، ثم المفتاح. - غير موجود. المسار غير صحيح. اطبع عنوان URL النهائي الذي يبنيه العميل الخاص بك. يجب أن يكون بالضبط
https://api.mimoapi.top/v1/chat/completions. ابحث عن وجود/v1مفقود، أو مسار مكرر، أو المضيف الخاطئ. - نموذج غير معروف. اسم نموذج قديم من مزود آخر. اضبط النموذج على
uncensored. - HTTP 429 مع
rate_limitedأوconcurrency. تتجاوز 300 طلب في الدقيقة أو 8 طلبات في وقت واحد (60 و 2 في المفتاح التجريبي). قلل السرعة أو رتب الطلبات في طابور. يعني رأس 429 معRetry-After: 5ضغط زائد مؤقت؛ انتظر خمس ثوانٍ وأعد المحاولة. - الطلب كبير جدًا. حدّ حجم الجسم هو 8 ميجابايت، ونافذة السياق هي 100,000 رمز للموجّه والإكمال معًا. اختصر السجل.
- يعمل في curl، يفشل في المتصفح. استدعاء API مباشرة من JavaScript في الواجهة الأمامية يعرض مفتاحك لكل زائر. وجه الطلبات عبر خادمك الخاص.
لا تضع المفتاح في مستودع عام أو حزمة جانب العميل. احفظه في متغير بيئة، واحتفظ به بعيدًا عن لقطات الشاشة وتذاكر الدعم.
الخطوات التالية بعد أول استدعاء ناجح
بمجرد عمل عنوان URL الأساسي، هناك بعض الإعدادات التي تستحق المعرفة. يتم تفعيل البث المتدفق عبر SSE بـ stream: true. يستخدم استدعاء الدوال tools و tool_choice، مع إرسال النتائج كرسائل role: "tool". وضع JSON هو response_format: {"type": "json_object"}. يتم تمرير ضوابط أخذ العينات مثل temperature، top_p، stop، seed والعقوبات.
من الجانب المالي، تدفع $0.15 مقابل كل مليون رمز إدخال و$0.50 مقابل كل مليون رمز ناتج من رصيد مسبق الدفع؛ وتذكر صفحة التسعير أحجام الشحن والمكافآت. النموذج مضبوط للإجابة دون رفض المحتوى للاستخدام القانوني للبالغين، ولا يُسمح أبداً بالمحتوى الجنسي الذي يتضمن القاصرين. لا تُستخدم الموجّهات للتدريب.
