القيم الثلاث
- الرابط الأساسي
https://nokeep.ai/v1- مفتاح API
sk-nokeep-test (free) or your sk-nokeep-… key- النموذج
deepseek-v4.1-flash-uncensored
تقرأ حزم OpenAI الرسمية الرابط الأساسي والمفتاح من متغيرات البيئة، لذلك لا يحتاج كثير من المشاريع إلى أي تغيير في الكود للتبديل:
export OPENAI_BASE_URL="https://nokeep.ai/v1"
export OPENAI_API_KEY="sk-nokeep-…"ثم غيّر اسم النموذج حيث تستدعيه. كل سطر آخر يبقى كما هو.
في Python وJavaScript وcurl
import os
from openai import OpenAI
client = OpenAI(
base_url="https://nokeep.ai/v1",
api_key=os.environ["NOKEEP_API_KEY"],
)
reply = client.chat.completions.create(
model="deepseek-v4.1-flash-uncensored",
messages=[{"role": "user", "content": "Write a haiku about moving house."}],
)
print(reply.choices[0].message.content)يعمل البث والأدوات ومخرجات JSON والصور كما تعمل في صيغة OpenAI نفسها. تأخذ المكتبات والأطر المبنية على حزمة OpenAI الرابط الأساسي والمفتاح نفسيهما. جرّب الاستدعاء هنا أولًا:
ما المدعوم
| الميزة | مدعوم |
|---|---|
POST /v1/chat/completions، كاملًا أو مبثوثًا | نعم، النموذجان كلاهما |
GET /v1/models وGET /v1/models/{id} | نعم، مع طول السياق وأطول رد وسعر كل توكن |
| الأدوار: system وdeveloper وuser وassistant وtool | نعم |
استدعاءات الأدوات: tools وtool_choice | نعم. على GLM، يقبل tool_choice القيمتين auto أو none فقط. |
reasoning_effort | DeepSeek: none وlow وhigh وmax. GLM: low وhigh. |
الصور كأجزاء image_url، روابط أو data URLs | deepseek-v4.1-flash-uncensored، حتى 10 لكل طلب |
response_format وtemperature وtop_p وstop وseed وعقوبات التكرار | deepseek-v4.1-flash-uncensored |
stream_options.include_usage وmax_tokens وmax_completion_tokens | نعم |
الإدخال المخبّأ في usage.prompt_tokens_details.cached_tokens | نعم، ويُفوتر بسعر المخبّأ |
كل حقل، نموذجًا بنموذج: إكمال المحادثة.
ما ليس مدعومًا
| غير مدعوم | ما تحصل عليه |
|---|---|
| نقاط نهاية أخرى: embeddings وimages وaudio وfiles وbatch وmoderations وواجهتا Responses وAssistants وcompletions القديمة | 404 not_found، مع تسمية المسارات الأربعة الموجودة |
n بقيمة غير 1 | 400 unsupported_n |
reasoning_effort لا يقبله النموذج | 400 invalid_reasoning_effort، مع تسمية القيم التي يقبلها |
دالة مسماة أو required كقيمة لـtool_choice على glm-5.3-flash-uncensored | 400 unsupported_tool_choice |
صور إلى glm-5.3-flash-uncensored؛ أو أجزاء صوت أو فيديو إلى أي من النموذجين | 400 unsupported_input، مع تسمية النموذج الذي يقرأ الصور |
| أكثر من 10 صور، أو أكثر من 2,000 رسالة | 400 too_many_images، 400 invalid_messages |
حقول لا يقبلها أي من النموذجين، مثل logprobs وlogit_bias وuser وstore | تُحذف، وتُذكر في الترويسة x-nokeep-ignored |
لا يُخمَّن شيء غير مدعوم ولا يُغيَّر بصمت: إما أن يُرفض الطلب برمز، أو تُذكر حقوله غير المستخدمة في ترويسة. كل رمز وحله: الأخطاء.
فروق صغيرة تستحق المعرفة
- يذكر
usage.nokeep_creditsتكلفة الاستدعاء، وتذكرها الترويستانx-nokeep-creditsوx-nokeep-balanceفي الرد كاملًا. - الفوترة من رصيد مدفوع مسبقًا: 1,000 رصيد تساوي $1، ابتداءً من $5، ولا تنتهي صلاحيتها. الاستدعاء المرفوض لا يكلّف شيئًا.
- حد المعدل: 120 طلبًا في الدقيقة لكل مفتاح. يحمل الرد
429الترويسةRetry-After. - قد يكون مضيف GLM مشغولًا في أوقات الذروة؛ والاستدعاء المشغول يجيب
503 busyمعRetry-After: 5ولا يكلّف شيئًا.
أسئلة
هل أحتاج إلى تغيير كودي للتبديل؟
فقط الرابط الأساسي والمفتاح واسم النموذج. مع حزم OpenAI الرسمية، يمكن أن يأتي الأول والثاني من OPENAI_BASE_URL وOPENAI_API_KEY في البيئة.
هل يعمل مع التطبيقات التي تقبل نقطة نهاية OpenAI مخصصة؟
نعم. أي تطبيق فيه إعداد لنقطة نهاية متوافقة مع OpenAI أو مخصصة يعمل. أدلة: SillyTavern، وOpen WebUI، ووكلاء البرمجة في صفحة وكلاء البرمجة.
أي نماذج OpenAI يمكنني استدعاؤها؟
لا أي منها: الصيغة صيغة OpenAI، أما النموذجان فهما deepseek-v4.1-flash-uncensored وglm-5.3-flash-uncensored. يسرد GET /v1/models كل المعرّفات.
هل توجد نقطة نهاية للتضمينات (embeddings)؟
ليس بعد. تقدّم الواجهة إكمال المحادثة وقائمة النماذج ومسار الحالة. ستظهر المسارات الجديدة في سجل التغييرات.
ماذا يحدث للحقول التي لا تدعمها؟
تُحذف وتُذكر في الترويسة x-nokeep-ignored، فترى بالضبط ما لم يُستخدم. أما القيم التي تغيّر معنى الطلب، مثل n أكبر من 1، فتُرفض بـ400.