النماذج والتسعير

إدارة مزوّدي ونماذج LLM، ومزامنة النماذج من السجلات الخارجية، وإجراء فحوص السلامة، وتهيئة مفاتيح API لكل مؤسسة من أجل فوترة مستقلة.

إدارة المزوّدين

يدعم Entity Enricher مجموعة واسعة من مزوّدي LLM. ويمكن لكل مزوّد أن يمتلك عدّة نماذج بأسعار وقدرات وإعدادات فردية.

يظهر المزوّدون والنماذج جنبًا إلى جنب لأن هذه هي طريقة إدارتها: مفتاح API يخصّ المزوّد، بينما التسعير والقدرات تخصّ كل نموذج.

المزوّدون المدعومون

AnthropicOpenAIGoogleGoogle VertexMistralDeepSeekGroqTogether AIFireworks AICoherexAIMoonshotZ.AINVIDIA NIMOllamaAzure OpenAI

أنواع المزوّدين

قياسييستخدم معظم المزوّدين (Anthropic وOpenAI وMistral وغيرهم) نقاط نهاية API قياسية مع مصادقة برمز الحامل (bearer token). كما يمكن للمزوّد القياسي أن يشير إلى نقطة نهاية مخصّصة متوافقة مع OpenAI — راجع نقاط النهاية المخصّصة والمؤسسية أدناه.
Azureيستخدم Azure OpenAI نقاط نهاية نشر مخصّصة مع تهيئة إصدار API.
Ollamaنسخ Ollama ذاتية الاستضافة مع عناوين نقاط نهاية مخصصة واكتشاف تلقائي للنماذج.

نقاط النهاية المخصّصة والمؤسسية

تُوجّه العديد من الفرق حركة LLM عبر بوابة ذكاء اصطناعي مؤسسية، أو نقطة نهاية إقليمية، أو مزوّد غير مدمج — على سبيل المثال وكيل LiteLLM مؤسسي، أو Cloudflare AI Gateway، أو Alibaba DashScope (لنماذج Qwen). تضيف هذه بوصفها مزوّد قياسي (متوافق مع OpenAI) خاص بها مع عنوان URL أساسي مخصص.

إضافة مزوّد بوابة

  1. أنشئ مزوّدًا باسم ليس من الأسماء المدمجة (مثل acme-openai-gw). الأسماء المدمجة مثل openai أو anthropic محجوزة.
  2. اختر النوع القياسي (المتوافق مع OpenAI) واملأ نقطة نهاية API المخصصة (عنوان URL الأساسي) — مثل https://gateway.example.com/v1. هذا الحقل مطلوب لأي مزوّد لا يملك Entity Enricher عميلًا مدمجًا له.
  3. أضف مفتاح البوابة بوصفه مفتاح مؤسسة لذلك المزوّد (مفاتيح API ← مفاتيح مزوّدي الذكاء الاصطناعي)، حتى تتم المحاسبة والتدوير على مستوى المؤسسة.
  4. أضف النماذج التي تخدمها البوابة. يُرسَل معرّف النموذج حرفيًا، لذا يجب أن يطابق تمامًا ما تتوقعه البوابة.

معلومة مفيدة

  • المزوّدون المدمجون يُخفون حقل نقطة النهاية. يعرف Anthropic وOpenAI وMistral وغيرهم من المزوّدين المعروفين نقطة النهاية الخاصة بهم مسبقًا، لذا لا شيء يحتاج إلى إعداد. وإذا أصبح مزوّد مخصص مدمجًا لاحقًا، فستظل نقطة النهاية المُخزّنة له مرئية حتى تتمكن من مسحها.
  • HTTPS عام فقط. يجب أن تكون نقاط النهاية عناوين URL عامة https://. تُرفض عناوين الاسترجاع الداخلي والنطاقات الخاصة (localhost، 10.x، 192.168.x) لمنع هجمات SSRF — يجب أن يكون الخادم المستضاف ذاتيًا قابلاً للوصول عبر الإنترنت. بالنسبة إلى Ollama محلي، استخدم نفق Ollama المخصص بدلاً من ذلك.
  • تنسيق نقل متوافق مع OpenAI. تُوجَّه الاستدعاءات إلى مزوّد مخصص عبر واجهة API المتوافقة مع OpenAI، لذا يجب أن تتحدث نقطة النهاية بروتوكول OpenAI /v1 (إكمالات المحادثة، /models).
  • اختبار الاتصال يفحص {endpoint}/models للتحقق من المفتاح وعنوان URL الأساسي قبل تشغيل عملية إثراء.

ميزانيات المعدّل والتزامن (لكل مفتاح)

تُضبط وتيرة كل استدعاء يُجرى بمفتاح API ضمن الميزانية التي يمنحها المزوّد لذلك المفتاح — عدد الطلبات والتوكنات في الدقيقة، لكل نموذج — فلا يصطدم أي توزيع متوازٍ بأخطاء 429. والميزانية لا تُدخل يدويًا: بل تُقرأ من ترويسات استجابة المزوّد نفسه، أو تُستنتج من رفض عندما لا يصرّح المزوّد بشيء، أو يُدخلها المالك يدويًا كملاذ أخير.

  • تُقرأ من المزوّد. تُصرّح Mistral وOpenAI وAzure وGroq وxAI وAnthropic وCohere بحدود المفتاح في كل استجابة؛ فيتعلّمها أول استدعاء لنموذج ما وتلتزم بها الاستدعاءات التالية.
  • تُستنتج عندما يصمت المزوّد. لا تُصرّح Google وDeepSeek وMoonshot وZ.AI وTogether وAlibaba بأي حدود: فأي رفض يُلقّن ميزانية تعادل 80% مما أُرسل في الدقيقة الأخيرة، ثم تعود إلى النمو ببطء. كما يمكن للمالكين إدخال قاعدة يدويًا من صفحة مفاتيح API.
  • محدودة لكل مفتاح ونموذج. لكل مفتاح مؤسسة وللمفتاح العام المشترك ميزانياته الخاصة، لكل نموذج على حدة — ففي Mistral قد يسمح المفتاح نفسه بـ 15 طلبًا في الدقيقة على نموذج و1000 على آخر.
  • والتزامن يتبع ذلك. يُشتق عدد الاستدعاءات الجارية من تلك الميزانية ومن زمن الاستجابة المرصود. أما إعداد الحد الأقصى للاستدعاءات المتزامنة لكل مفتاح لدى المزوّد فهو مخصص فقط للوجهات التي لا تُرجع الرمز 429 أبدًا لكنها تختنق بالاستدعاءات المتوازية، مثل حاسوب محمول يشغّل Ollama.
  • ظاهرة لكل مفتاح. يعرض إجراء حدود المعدّل على أي مفتاح قواعده ومصدر كل قاعدة والاستهلاك الحيّ للدقيقة الحالية. كما يسجّل فحص القدرات الحدود التي يصرّح بها المزوّد في عمودَي TPM وRPM في جدول النماذج.

هذا منفصل عن حد أقصى عدد المهام المتزامنة في خطتك، الذي يحدّ عدد مهام الإثراء التي تشغّلها مؤسستك بالكامل في آنٍ واحد عبر جميع المزوّدين.

قدرات النموذج

يتتبّع كل نموذج قدراته، التي تُعرض على شكل أيقونات في مُحدِّد النماذج:

القدرةالوصف
الرؤيةيمكنه معالجة الصور والمدخلات المرئية
استدعاءات الأدواتيدعم استدعاء الدوال / استخدام الأدوات
الإدخال الصوتييمكنه معالجة المدخلات الصوتية
إدخال PDFيمكنه معالجة مستندات PDF
التخزين المؤقت للمُوجّهيدعم تخزين الموجّه مؤقتًا لخفض التكلفة
الاستدلالقدرات التفكير الموسّع / سلسلة الأفكار
التضميناتيحوّل النص إلى متجه بدل أن يجيب — وهو ما تُحسم به المعرّفات الدلالية. ونماذج التضمين عائلة قائمة بذاتها، لكل منها حجم متجه خاص، ولا تظهر أبدًا في أداة اختيار نماذج الإثراء

ترك اختيار النموذج للمنصة

تحديد النموذج اختياري. فالإثراء وتوليد المخططات وتوليد العينات تقبل جميعها auto — وتعامل النموذج غير المحدَّد على أنه auto — ويُحسم ذلك على الخادم، لكل مهمة، لحظة انطلاق العملية. ويذكر التشغيل النموذج الذي وقع عليه الاختيار، فالتلقائي لا يعني الغموض أبدًا.

1. الإعداد الافتراضي المثبّت لمؤسستك

يمكن للمالكين تثبيت نموذج مفضّل لكل مهمة من الإعدادات → المؤسسة → اختيار النموذج. وإذا كان هناك نموذج محدد للمهمة المعنية، فله الأولوية.

2. وإلا، فأفضل نموذج مُقاس

في غياب التثبيت، يقع الاختيار على النموذج صاحب أفضل درجة مركّبة من القياسات المرجعية لمصدر التقييم — أي قياساتك أنت للجودة والسرعة والتكلفة على مخططاتك أنت. وإذا لم يوجد أي مصدر تقييم على الإطلاق، يُرفض الطلب بدلًا من التخمين.

3. مع التضييق حسب متطلبات المهمة

تفعيل البحث على الويب، أو إرفاق مستند يجب إرساله كما هو، يحصر المرشّحين في النماذج القادرة فعلًا على ذلك — وإن لم يتأهّل أي نموذج، تصلك رسالة خطأ صريحة بدل تخفيض صامت.

  1. 1الجودة والسرعة والتكلفة، مقيَّمة بمعاييرك المرجعية الخاصة
  2. 2اتركه على «تلقائي»، أو ثبّت نموذجًا واحدًا لهذه المهمة
  3. 3تعرض كل مهمة ما يؤول إليه وضع «تلقائي» في الوقت الحالي، ودرجته
تُضبط الأوزان لكل مهمة، فيمكن لتوليد المخطط أن يشدّد على الجودة بينما يميل الإثراء إلى التكلفة. والنموذج الذي تظهر أمامه شرطات بدل الدرجات لم يُقَس هنا قط، ولا يختاره الوضع التلقائي أبدًا.

يمكن كذلك منع نموذج من مهمة واحدة دون تعطيله: فالنموذج الذي يُجيد الإثراء لكنه يولّد مخططات رديئة يمكن إخفاؤه من قوائم اختيار توليد المخططات والعيّنات فحسب، إمّا على مستوى مؤسستك أو عامًا بقرار من مسؤول. ويبقى متاحًا بالكامل في كل ما عداها — وهي أداة ألطف من التعطيل الوارد أدناه.

المزامنة التلقائية للأسعار

مسؤول النظام

حافظ على تحديث تسعير النماذج عبر المزامنة من السجلات الخارجية. تكتشف عملية المزامنة النماذج الجديدة وتغييرات الأسعار والنماذج المُزالة تلقائياً.

سجل LiteLLM

مصدر التسعير الافتراضي. يجلب البيانات من سجل LiteLLM الذي يديره المجتمع على GitHub مع أسماء نماذج API الحقيقية والتسعير وأطوال السياق والقدرات.

يغطي ~30 مزوّدًا. لا يتضمن أسماء العرض أو معايير القياس أو سرعة التوليد.

PricePerToken

مصدر بديل من pricepertoken.com. يتضمن أسماء العرض، واختبارات الأداء (درجات البرمجة والرياضيات)، وسرعة التوليد (عدد الرموز في الثانية).

يغطي ~20 مزوّدًا. يوفّر بيانات وصفية أغنى من LiteLLM.

Z.AI

فهرس رسمي موثّق لمعرّفات نماذج GLM، مع تسعير مُستخرَج مباشرة من وثائق Z.AI وفجوات في القدرات جرى بحثها هناك.

يستبدل مُدخلات Z.AI التي سبق استيرادها من LiteLLM وPricePerToken.

عملية المزامنة

  1. معاينة التشغيل التجريبي — اطّلع على ما سيتغير قبل التطبيق. اعرض النماذج الجديدة وتحديثات الأسعار وعمليات التعطيل.
  2. مطابقة محدودة النطاق بالمصدر — يؤثّر كل مصدر فقط في النماذج التابعة له. لا تُمَسّ النماذج اليدوية أبدًا.
  3. مفاتيح مزامنة ثابتة — تُطابَق النماذج بواسطة معرّف ثابت لا بالاسم. يمكنك إعادة تسمية النماذج دون كسر المزامنة.
  4. تطبيق معامَلاتي — تُطبَّق كل التغييرات في معامَلة قاعدة بيانات واحدة لضمان الاتساق.
  5. الإنشاء التلقائي للمزوّد — إذا كان النموذج المُزامَن ينتمي إلى مزوّد غير معروف، يُنشأ المزوّد تلقائيًا.

فحوصات صحة النموذج

تحقّق استباقياً من إمكانية الوصول إلى النماذج عبر تشغيل موجّه بسيط لفحص الصحة. يكتشف هذا النماذج المعطّلة قبل أن يواجه المستخدمون أخطاء أثناء الإثراء.

ناجحيستجيب النموذج بنجاح. إذا كان قد أُلغي تفعيله تلقائيًا سابقًا، فسيُعاد تفعيله.
غير موجوديُعيد النموذج خطأ ”غير موجود“. يُلغى تفعيله تلقائيًا لمنع الإخفاقات المستقبلية.
خطأ آخريتم الإبلاغ عن أخطاء المصادقة أو انتهاء المهلة أو حدود المعدّل، لكنها لا تؤدي إلى إلغاء التنشيط.

يمكن إجراء فحوص السلامة على جميع النماذج، أو على نماذج مزوّد محدّد، أو على نموذج واحد. تُبَثّ النتائج في الوقت الفعلي عبر SSE مع شريط تقدّم يعرض عدد حالات النجاح والفشل.

إلغاء التنشيط التلقائي

عندما يفشل استدعاء إثراء بخطأ ”النموذج غير موجود“، يُعطَّل النموذج تلقائيًا لمنع تكرار الإخفاقات. يحدث ذلك في الوقت الفعلي أثناء عمليات الإثراء العادية.

سبب إلغاء التفعيلحُدِّد بواسطةإعادة التنشيط تلقائيًا؟
النموذج غير موجودأخطاء الإثراء، أو فحوص السلامة، أو فحص قدرات لا يستجيب له أي مسارنعم (عبر مزامنة الأسعار أو التحقق)
لا توجد مخرجات مهيكلةفحص القدرات: لا قناة الأدوات ولا القناة الأصلية متاحة على أي مسار قابل للوصولنعم، عبر فحص قدرات لاحق فقط
تمت إزالة المزامنةمزامنة التسعير (اختفى النموذج)نعم (إذا ظهر النموذج مجددًا في السجل)
يدويمفتاح تبديل للمشرف في الواجهةلا (إعادة التفعيل يدويًا فقط)

أحضِر مفتاحك الخاص (BYOK)

يمكن للمؤسسات تكوين مفاتيح API الخاصة بمزوّد LLM لديها من أجل فوترة وتتبّع استخدام مستقلَّين. يستخدم النظام حلًّا للمفاتيح من مستويين مع اختيار LRU:

الأول
مجمّع مفاتيح المؤسسة

مفاتيح لكل مؤسسة يتم تكوينها في صفحة مفاتيح API. يدعم مفاتيح متعددة لكل مزوّد مع تدوير LRU. مشفّرة باستخدام Fernet.

الثاني
مجموعة المفاتيح العامة

مفاتيح على مستوى النظام يديرها المسؤولون. مشتركة بين كل المؤسسات. يدعم أيضًا عدة مفاتيح لكل مزوّد مع تدوير LRU.

تسجّل كل عملية إثراء المفتاح المستخدَم فيها، فيمكنك تتبع التكاليف لكل مفتاح. وتدعم المفاتيح فحص السلامة وعدادات الاستخدام. وداخل المجموعة الواحدة، يُختار تاليًا المفتاح المفعَّل صاحب أقدم زمن استخدام؛ ولا يخرج المفتاح من التناوب إلا عند تعطيله يدويًا، فلا يؤدي خطأ من المزود أبدًا إلى سحب مفتاح من الخدمة بصمت. تعرّف على كيفية إدارة المفاتيح في دليل مفاتيح API.

الاستيراد والتصدير

صدّر إعدادات المزودين والنماذج بالكامل بصيغة JSON للنسخ الاحتياطي أو النقل إلى نسخة أخرى. الاستيراد دائماً عملية تحديث أو إضافة (upsert): تتم مطابقة المزودين والنماذج الحالية بالاسم وتحديثها في مكانها، بينما تُضاف الجديدة — ولا يُحذف أي شيء.

يشمل التصدير إعدادات المزوّد، وتكوينات النماذج، والتسعير، والقدرات، والمواصفات المعيارية للنماذج — لكنه لا يشمل مطلقًا مفاتيح API التي تُخزَّن بشكل منفصل. بعد الاستيراد، اضبط مفاتيح API بشكل منفصل. يقوم مسؤولو النظام بعمل نسخة احتياطية من الكتالوج العام الكامل؛ أما مالكو المؤسسات فيصدّرون ويستوردون مزوّدي ونماذج مؤسستهم الخاصة فقط — ولا يمكن إنشاء الكتالوج العام المشترك أو تعديله عبر الاستيراد.

كتالوج النماذج العام

تعرض صفحة النماذج الكتالوج العام للجميع: أسعار المورّدين، والقدرات المقيسة، والدرجات التي حصل عليها كل نموذج في سيناريوهات الاختبار المرجعي المنشورة كمصادر تقييم عامة. وهي تقرأ ملفَّي JSON ثابتين يعيد تحديث النماذج الليلي كتابتهما، ويمكنك تنزيلهما وإعادة استخدامهما. ويُستبعَد أي نموذج لم يعد المزوّد يقدّمه (المعطَّل بوصفه «النموذج غير موجود»)؛ أما بقية نماذج الكتالوج فتُدرَج جميعها.

الملفات

  • /data/models.json — الجدول: إدخال واحد لكل مزوّد × نموذج، مع جداول بحث للمزوّدين والسيناريوهات والمواصفات.
  • /data/benchmarks.json — كل نتائج المعايير المرجعية العامة، مجمَّعة حسب مفتاح النموذج.

يُقدَّم كلاهما مع ETag وذاكرة تخزين مؤقت عامة لمدة ساعة، ومضغوطَين بترميز gzip عندما يقبله العميل. يزداد حقل version عند أي تغيير يتعيّن على المستهلك التكيّف معه.

حقول models.json

generated_at, counts, default_weightsوقت كتابة الملف، وعدد النماذج والمزوّدين والسيناريوهات التي يحتويها، ومزيج الجودة / السرعة / التكلفة (بالنسبة المئوية) وراء كل درجة إجمالية.
providers[], scenarios[], specs{}جداول بحث: تشير النماذج إلى المزوّد وإلى السيناريوهات بالفهرس؛ أما المواصفات فهي درجات الاختبار المرجعي العامة للأوزان (الذكاء، البرمجة، الرياضيات، وما تبقّى ضمن extra)، مفهرسة بالمفتاح المعياري بحيث يتشاركها كل مَن يعيد بيع النموذج نفسه.
models[].key, model, display_name, canonical_keyالمفتاح المركّب الذي يقبله API (provider::model)، ومعرّف النموذج الخام، وتسميته، والهوية المشتركة بين المزوّدين.
models[].pricingأسعار المورّد المعلنة بالدولار الأمريكي لكل مليون رمز: input، output، cache_read، cache_write، cache_write_1h، reasoning_output، إضافة إلى web_search_per_query مع وحدته. قبل أي عمولة خطة.
models[].capabilities[]الرايات السارية: vision، pdf_input، audio_input، audio_output، video_input، tool_calls، tool_choice، response_schema، strict_structured_output، reasoning، reasoning_effort، web_search، prompt_caching، embeddings، requires_streaming. والراية الغائبة تعني false أو غير مقيسة.
models[].context_length, max_input_tokens, max_output_tokens, deprecation_date, latencyالحدود، وتاريخ إيقاف النموذج لدى المورّد عند الإعلان عنه، وأرقام زمن الاستجابة المجمّعة (الرموز في الثانية، الزمن حتى أول رمز).
models[].enrichment_capable, disabled_tasks[]ما إذا كان النموذج يملك قناة مخرجات مهيكلة أصلًا، والمهام التي لا يتيحه التطبيق لها أبدًا (التصنيف والتحكيم يحتاجان إلى استدعاء الأدوات؛ وتوليد المخطط والعينات يخضع لبوابة توليد المخطط).
models[].scores{task}لكل نوع مهمة (enrichment، schema_generation، sample_generation): متوسط الجودة والسرعة والتكلفة عبر السيناريوهات العامة لتلك المهمة، والدرجة الإجمالية وفق الأوزان الافتراضية، وفهارس السيناريوهات. السرعة والتكلفة نسبيتان مقارنةً بالنماذج الأخرى في السيناريو نفسه.

يُشرح أسلوب حساب درجات الجودة والسرعة والتكلفة في تقييم الاختبار المرجعي.

الخطوات التالية