نظرة عامة
تثري واجهة برمجة تطبيقات LemonData Agent-First استجابات الأخطاء بإرشادات مهيكلة يمكن لوكلاء الذكاء الاصطناعي تحليلها والتصرف بناءً عليها فورًا — دون بحث على الويب، دون الرجوع إلى الوثائق، ودون تخمين. تتضمن كل استجابة خطأ حقولًا اختيارية مثلdid_you_mean وsuggestions وhint وretryable وretry_after داخل كائن error القياسي. هذه الحقول متوافقة مع الإصدارات السابقة — العملاء الذين لا يستخدمونها لن يلاحظوا أي اختلاف.
حقول إرشادات الخطأ
جميع حقول الإرشاد امتدادات اختيارية داخل كائنerror:
| الحقل | النوع | الوصف |
|---|---|---|
did_you_mean | string | أقرب اسم نموذج مطابق |
suggestions | array | نماذج موصى بها مع بيانات وصفية |
alternatives | array | نماذج بديلة متاحة حاليًا |
hint | string | إرشاد قابل للقراءة من قبل الإنسان/الوكيل للخطوة التالية |
retryable | boolean | ما إذا كانت إعادة محاولة الطلب نفسه قد تنجح |
retry_after | number | ثوانٍ للانتظار قبل إعادة المحاولة |
balance_usd | number | رصيد الحساب الحالي بالدولار الأمريكي |
estimated_cost_usd | number | التكلفة المقدرة للطلب الفاشل بالدولار الأمريكي |
أمثلة على رموز الخطأ
model_not_found (400)
عندما لا يطابق اسم النموذج أي نموذج نشط:did_you_mean الأساليب التالية:
- تعيين الألقاب الثابت (مستند إلى بيانات أخطاء الإنتاج)
- مطابقة السلاسل بعد التسويّة (يزيل الشرطات، غير حساس لحالة الأحرف)
- مطابقة مسافة التحرير (العتبة ≤ 3)
did_you_mean وsuggestions وhint، ثم أعد المحاولة بنموذج عام مدعوم.
insufficient_balance (402)
عندما يكون رصيد الحساب أقل من التكلفة المقدرة:suggestions على نماذج أرخص من التكلفة المقدرة يمكن للوكيل التبديل إليها.
all_channels_failed (503)
عندما تكون جميع القنوات الصاعدة لنموذج غير متاحة:retryable هو false عندما يكون السبب هو no_channels (لا توجد قنوات مكوّنة لهذا النموذج). يكون true فقط للفشل العابر مثل تشغيل قاطع الدائرة أو نفاد الحصة.rate_limit_exceeded (429)
retry_after من وقت إعادة ضبط نافذة حد المعدل الفعلي.
تستخدم نقاط النهاية المتوافقة مع OpenAI أنواع أخطاء عامة ومستقرة من LemonData مثل
rate_limit_exceeded وupstream_error وall_channels_failed. تستخدم نقاط النهاية المتوافقة مع Anthropic وGemini هياكل الاستجابة الأصلية الخاصة بها.context_length_exceeded (400)
عندما يتجاوز الإدخال نافذة السياق للنموذج (خطأ صاعد، معزز بالإرشادات):رؤوس نقاط النهاية الأصلية
عندما تنادي/v1/chat/completions بنموذج له نقطة نهاية أصلية (Anthropic أو Gemini)، تتضمن استجابة النجاح رؤوس تحسين:
| مزود النموذج | نقطة النهاية المقترحة | الفائدة |
|---|---|---|
| Anthropic (Claude) | /v1/messages | لا يوجد تحويل صيغة، تفكير ممتد، تخزين مؤقت للمطالبات |
| Google (Gemini) | /v1beta/gemini | لا يوجد تحويل صيغة، grounding، إعدادات الأمان |
| OpenAI | — | Chat completions هو بالفعل الصيغة الأصلية |
تحسينات /v1/models
يحمل /v1/models الآن بيانات وصفية توصية غير محادثة يمكن للوكالات استخدامها قبل أن تستدعي نقاط النهاية الخاصة بالصور أو الفيديو أو الموسيقى أو 3D أو TTS أو STT أو embedding أو rerank أو الترجمة.
| الحقل | القيم | الوصف |
|---|---|---|
category | chat, image, video, audio, tts, stt, 3d, embedding, rerank | نوع النموذج |
pricing_unit | per_token, per_image, per_second, per_request | كيفية تحصيل رسوم النموذج |
cache_pricing | object or null | يُعاد فقط عندما يملك النموذج أسعار prompt cache صاعدة خاصة به. لم يعد خصم semantic cache على المنصة يظهر وحده في القائمة. |
agent_preferences.<scene> | object | لقطة توصية غير محادثة تُعاد فقط مع GET /v1/models?recommended_for=<scene> |
recommended_for يُستمد agent_preferences من لقطة معدل نجاح مخبأة لمدة 24 ساعة:
- النافذة: 24 ساعة
- ذاكرة لقطة الشاشة: stale-while-revalidate
status = "ready"يعني أن لدى النموذج عينات حديثة كافية للمشاركة في الترتيبstatus = "insufficient_samples"يعني أن النموذج يظل مرئيًا لكنه لا يُصنف قبل النماذج المُسجلة بالدرجات
تصفية حسب الفئة
اكتشاف التوصية
بالنسبة لتدفقات العمل غير المحادثة، يجب على الوكلاء جلب القائمة القصيرة الموصى بها أولًا:recommended_for هي:
imagevideomusic3dttssttembeddingreranktranslation
category وrecommended_for موجودين، يجب أن يتطابقا تمامًا.
تدفق الوكيل الموصى به:
GET /v1/models?recommended_for=<scene>- اختر أول نموذج حيث
agent_preferences.<scene>.status == "ready" - نادِ نقطة النهاية صراحةً مع
model=<selected> - عند حدوث أخطاء عابرة فقط، أعد المحاولة مع النموذج التالي
ready
llms.txt
يتوفر نظرة عامة على واجهة برمجة التطبيقات بصيغة قابلة للقراءة آليًا في:- قالب النداء الأول مع مثال عملي يعمل
- أسماء النماذج الشائعة (مولدة ديناميكيًا من بيانات الاستخدام)
- كل نقاط النهاية الـ 12 للـ API
- معلمات التصفية لاكتشاف النماذج
- إرشادات التعامل مع الأخطاء
llms.txt قبل نداءهم الأول عادةً النجاح في المحاولة الأولى.
الاستخدام في كود الوكيل
بايثون (OpenAI SDK)
JavaScript (OpenAI SDK)
مبادئ التصميم
افشل بسرعة وبشكل إعلامي
تعيد الأخطاء فورًا كل البيانات التي يحتاجها الوكيل ليتصحيح نفسه.
لا توجيه تلقائي
لا تقوم الـ API باستبدال نموذج مختلف بصمت. الوكيل هو من يقرر.
اقتراحات مستندة إلى البيانات
جميع التوصيات تأتي من بيانات الإنتاج، وليس قوائم ثابتة مشفرة.
متوافق مع الإصدارات السابقة
جميع حقول الإرشاد اختيارية. العملاء الحاليون لن يلاحظوا أي اختلاف.