إرشاد استخدام API DeepSeek: طلبات متوافق مع OpenAI عبر بوابة ECAIX
إرشاد استخدام API DeepSeek: طلبات متوافق مع OpenAI عبر بوابة ECAIX
هذا الإرشاد يوضح كيفية اختبار ID نموذج من DeepSeek عبر بوابة ECAIX باستخدام نهاية نقطة API متوافق مع OpenAI. يغطي طلبات العمل الأساسية، أمثلة باستخدام Python و curl، التحقق من ID النموذج، التدفق، الإخراج الم-structured، الأدوات، بالإضافة إلى مسار التشخيص للأخطاء الشائعة.
يصف هذا الإرشاد الوصول عبر بوابة ECAIX لنموذج ID المعرض حاليًا في المجلد الحالي لـ ECAIX. لا يُعلن عن أن ECAIX هو نهاية نقطة رسمية لـ API DeepSeek، ولا يُضمن أن كل ميزة من DeepSeek متاحة عبر كل مسار بوابة. تحقق من صفحة النموذج الحية ومستندات المورد قبل نقل العملات إلى الإنتاج.
ما يثبت هذا الإرشاد
يستخدم أمثلة نهاية نقطة متوافق مع OpenAI من بوابة ECAIX ونموذج ID مرئي حاليًا في المجلد العام عند النشر. يمكن أن تتغير المتاحة، التوجيه، الحدود، التكلفة، والميزات المدعومة. اعتبر المجلد والأمثلة الخاصة بالAPI كالمصدر الحالي للثقة.
بدء سريع
استخدم هذه الخطوات إذا كان لديك تطبيق SDK OpenAI مسبقًا:
- افتح صفحة DeepSeek v4.1 Flash واكتب التأكيد على أن ID هو متاح.
- إنشاء مفتاح API لـ ECAIX.
- تعيين URL قاعدة OpenAI المتوافق إلى
https://ecaix.com/api/ai/v1. - حافظ على SDK والتطبيق غير المتغير حيث يكون ذلك ممكنًا.
- Execute طلبات التكوين أدناه.
- أضف التدفق، الإخراج JSON، أو الأدوات فقط بعد نجاح الطلب الأساسي.
نهاية نقطة ونموذج ID
للمستخدمين المتوافقين مع OpenAI، استخدم:
Base URL: https://ecaix.com/api/ai/v1
Model: deepseek-v4.1-flash
لا يُعد ID النموذج ضمانًا دائمًا في مقالة Blog. أكتب التأكيد في المجلد الحي للنماذج قبل كل تجميع جديد أو Deployment. إذا كنت بحاجة إلى نموذج آخر من عائلة DeepSeek، اقتبس ID الدقيق من صفحة التفاصيل للنموذج بدلاً من تخمين نهاية الحرف.
تعتبر أيضًا نهاية نقطة مهمة. يجب أن يستقبل SDK نهاية المسار التي تنتهي بـ /v1؛ يضيف العميل /chat/completions أو مسار آخر من العمليات. لا تضيف /chat/completions إلى base_url عندما يضيف SDK نفسه هذه النهاية.
Python باستخدام SDK OpenAI
تثبيت أو تحديث SDK Python OpenAI في بيئة افتراضية الخاصة بك:
python -m pip install --upgrade openai
ثم استخدم URL قاعدة ECAIX ومفتاح API:
const client = new OpenAI({
apiKey: process.env.ECAIX_API_KEY,
baseURL: "https://ecaix.com/api/ai/v1",
});
const response = await client.chat.completions.create({
model: "deepseek-v4.1-flash",
messages: [
{ role: "user", content: "Return one short sentence about API testing." },
],
max_tokens: 128,
});
console.log(response.choices[0].message.content);
استخدم كود الخادم للطلب من API. يجب أن تدفع تطبيق الأمية إلى الخلفية بدلاً من عرض مفتاح ECAIX في الكود الأمامي.
طلب curl التشخيصي
إذا فشل SDK، قم بإزالة SDK من المعادلة واختبر نهاية النقطة مباشرة. حفظ الشواهد والمحتوى في ملفات منفصلة لتفريق مشكلة HTTP عن مشكلة في الإجابة.
curl -sS -D /tmp/ecaix-deepseek-headers.txt \
-o /tmp/ecaix-deepseek-response.json \
-w '\nHTTP %{http_code}\n' \
"https://ecaix.com/api/ai/v1/chat/completions" \
-H "Authorization: Bearer ${ECAIX_API_KEY}" \
-H "content-type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [
{"role": "user", "content": "Reply with one short sentence."}
],
"max_tokens": 128
}'
لا تقم بدمج الشواهد أو الإجابات العامة في طلبات عامة دون إزالة مفاتيح API، IDs الطلبات، المحاولات، المسارات في الجمهور، أو البيانات الخاصة للمستخدمين.
كيفية التشخيص للإجابة
استخدم هذا الترتيب:
- الوضع HTTP: تحديد ما إذا كان الطلب وصل إلى نهاية نقطة صالحة.
- جسم الإجابة: قراءة رمز الخطأ من المورد أو البوابة.
- ID النموذج: اقتبس ID الدقيق من المجلد الحالي للنماذج.
- التأكيد: تحقق من شريط Authorization، الحساب، والصلاحيات.
- شكل الطلب: تقليل الجسم إلى
modelوmessagesوحد من الإخراج صغيرًا. - مجال الميزات: أضف التدفق، الإخراج JSON، أو الأدوات واحدًا تلو الآخر.
- سلوك SDK: مقارنة طلب SDK مع طلب curl المباشر.
هذا يمنع مشكلة مكتبة العميل من الخلط بين التوجيه للنموذج أو صلاحيات الحساب.
الإجابات التدفقية
إذا كان التطبيق يحتاج إلى إخراج متدفق، أضف التدفق فقط بعد نجاح طلب عادي:
stream = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Summarize API retries in three points."}],
stream=True,
max_tokens=256,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
سلوك الحدث الدقيق يعتمد على نهاية النقطة وSDK. تحقق من كيفية معالجة إطار عملك حدث فارغ، حدث استخدام نهائي، انقطاع الاتصال، ووقف نوع [DONE]. لا تقم بتقديم تنفيذ التدفق كمنتج جاهز حتى تستكشف انقطاعات الاتصال والتجديدات.
الإخراج الم-structured وJSON
إذا كنت تحتاج إلى إخراج قابل للقراءة الآلي، ابدأ بطلب عادي ثم أضف الخيار الأصغر للإخراج الم-structured المدعوم من نهاية النقطة والنموذج. التحقق من المحتوى المرجع باستخدام محول JSON حقيقي. طلب يقول "أرجع JSON" ليس نفسه الإجابة المدعومة بالschema.
import json
response = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[
{
"role": "user",
"content": "Return a JSON object with keys title and priority."
}
],
response_format={"type": "json_object"},
max_tokens=128,
)
payload = json.loads(response.choices[0].message.content)
print(payload["title"])
هل يمكن قبول response_format يعتمد على النموذج والمسار. إذا كانت نهاية النقطة ترجع خطأ غير مدعوم، قم بإزالة المجال واكتب التحقق من مستندات المسار قبل محاولة آخر شكل.
التسمية الوظيفي والأدوات
التسمية الوظيفي تتطلب اختبار منفصل عن توليد النص. ابدأ بتسمية وظيفة غير خطرة واكتب اسمها والأرجوزة قبل التنفيذ أي شيء.
tools = [
{
"type": "function",
"function": {
"name": "get_demo_status",
"description": "Return a fixed status for a local compatibility test.",
"parameters": {
"type": "object",
"properties": {},
"additionalProperties": False,
},
},
}
]
response = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Check the demo status."}],
tools=tools,
tool_choice="auto",
max_tokens=128,
)
print(response.choices[0].message.tool_calls)
يمكن للنموذج أن يرجع إجابة نصية صالحة بينما فشل التسمية الوظيفي بسبب تحويل schema، عدم دعم المعاملات، أو سلوك خاص بالعميل. لا تنفذ الأرجوزة المرجعة ضد نظام إنتاج قبل التحقق من schema وإضافة التحققات الأمنية.
مسارات متوافق مع OpenAI وAnthropic
يعرض ECAIX مسارات مختلفة من المتوافقات للمستخدمين والمشغلات المختلفة:
| العميل أو العملة | المسار المستند | ما يجب التحقق منه |
|---|---|---|
| SDK Python/Node OpenAI | /api/ai/v1 | Completions Chat، الإجابات، التدفق، الأدوات |
| العميل المتوافق مع Anthropic | /api/ai/v1/anthropic | حقول الرسائل، الشواهد، وحدات المحتوى |
| العملة الثالثة من Claude Code | /api/ai/v1/anthropic | سلوك المورد الخاص؛ لا يدعم Anthropic دعم رسمي للروuting إلى نماذج غير Claude عبر بوابة |
اقرأ مستندات Completions Chat، Responses، وMessages Anthropic قبل اختيار المسار. يمكن أن لا تعرض نفس ID النموذج نفس حقولًا أو سلوكًا على كل سطح من المتوافقات.
تفاصيل النموذج الحالية
استخدم صفحات التفاصيل الحية للتحقق من المتطلبات والاحتمالية:
هذه الصفحات أكثر موثوقية من مقالة ثابتة حول IDs النموذج الحالي، معلومات السياق، وصفحات التكلفة.
أخطاء شائعة
| وضع أو أعراض | سبب محتمل | إجراء التشخيص |
|---|---|---|
401 | مفتاح غير موجود أو غير صالح | تحقق من Authorization، المتغير البيئي، ووضع المفتاح |
403 | المفتاح أو الحساب لا يملك صلاحيات | تحقق من الوصول إلى الحساب والنموذج المتاح |
404 | URL قاعدة أو نهاية المسار خاطئة | استخدم /api/ai/v1/chat/completions لاختبار curl المباشر |
400 | جسم غير صالح أو مجال غير مدعوم | إزالة المجالات الخاضعة للاختبار وإعادة محاولة الجسم الأساسي |
429 | حد السرعة أو الحد المسموح | سجل شواهد الإجابة، إبطاء الطلب، واكتب عن حدود الحساب |
5xx | فشل بوابة أو مصدر | حفظ وقت الطلب وإيداع الإجابة؛ تجديد وفقًا لسياستك |
| النموذج غير موجود | خطأ في الكتابة، النموذج المحذوف، أو عدم تطابق التوجيه | اقتبس ID النموذج الدقيق من /models |
| يعمل النص، لكن الأدوات لا تعمل | عدم تطابق schema أو القدرة على النموذج | اختبار وظيفة واحدة غير خطرة واكتب عن الأرجوزة المرجعة |
| يعمل SDK بشكل مختلف من curl | defaults SDK أو بناء المسار | طباعة تكوين طلب SDK ومقارنة المسارات |
قائمة التحقق الأمني والإنتاجي
قبل الانتقال إلى مشروع تجريبي، تحقق من:
- أن مفاتيح API تخزن على الخادم ويمكن إعادة تعيينها.
- أن المحاولات والمجابات لا تحتوي على بيانات سرية أو بيانات عميل غير موافقة.
- فهم ما إذا كانت البوابة سجلت الطلبات وتاحيلها لمدة طويلة.
- التحقق من المتاحة والنفقات من صفحات النموذج الحية.
- أن الوقتouts، التجديدات، الإيداع، والحد من السرعة يتم التعامل معها من قبل تطبيقك.
- أن انقطاع التدفق لا يخلق مهام دبلية.
- أن التسمية الوظيفي لديها قوائم، التحقق، التحقق الأمني، وlogs المحادثة.
- الشروط الخاصة بالمورد والبوابة تسمح بالعملية التي ترغب في إرسالها.
سجل التجميع قبل الإطلاق
اكتب تاريخ، إصدار العميل، ID النموذج، نهاية النقطة، وضع HTTP، وجميع الاختبارات المخصصة التي أجريت فعليًا. إذا لم يتم إجراء اختبار، أدرجه على أنه غير مؤكد. هذا السجل يسهل مقارنة التحديثات التالية للنموذج أو البوابة ويجنب مثال Blog القديم من أن يصبح ضمان إنتاج غير مدعوم.
أسئلة متكررة
هل هذا نهاية نقطة رسمية لـ API DeepSeek؟
لا. هذه المقالة تدокуم الوصول عبر بوابة ECAIX لنموذج ID المعرض في المجلد العام لـ ECAIX. استخدم مستندات API DeepSeek الرسمية لنهاية نقطة DeepSeek الأصلية، قواعد الحساب، والميزات الخاصة بالمورد.
هل يمكنني استخدام SDK OpenAI دون إعادة كتابة التطبيق؟
عديد من التطبيقات التي تستخدم SDK OpenAI يمكن أن تبدأ بتغيير URL قاعدة، مفتاح API، وID النموذج. لا تزال تحتاج إلى اختبار دعم الحقول، التدفق، التسمية الوظيفي، الإجابات، التعامل مع الأخطاء، والميزات الخاصة بالمورد المستخدمة في تطبيقك.
أي نموذج من DeepSeek يجب أن أستخدمه؟
ابدأ بمجلد النماذج واختر حسب المهمة: البرمجة، الإدراك، طول السياق، المدخلات المتعددة الوسائط، أو متطلبات التكلفة. لا تختار فقط من خلال اسم مقتبس من مقالة قديمة. تحقق من ID النموذج الحالي واختبره مع محاولاتك الخاصة.
هل يمكنني استخدام هذا مع Claude Code؟
يمكن اختبار المسار المتوافق مع Anthropic كعملية مزودة من