مكتبة FAIRouter للغة C# متاحة الآن على NuGet وتختار النموذج من بين 54 خيارًا جاهزًا
صدرت مكتبة FAIRouter للغة C# على NuGet، مستودع حزم .NET، بالإصدار 0.1.0، ولم تعد هناك حاجة إلى بنائها من الشيفرة المصدرية. يختار الموجِّه (router) نموذج اللغة المناسب للمهمة بنفسه، من قائمتكم أو من 54 نموذجًا شائعًا تأتي ضمن الحزمة. ويراجع نموذج حَكَم مستقل الإجابة ويمنحها تقييمًا من 0 إلى 1، بينما تُحدِّث الملاحظات البشرية الأوزان عبر التدريب. يتطلب التثبيت أمرًا واحدًا فقط، dotnet add package FAI.Router، كما يلزم وجود .NET 10. • يمكن التبديل بين ملفات التعريف Quality وBalance وPrice مع كل طلب • يبدأ عمل حد الكفاية bar بعد ثلاث ملاحظات بشرية • الاتصال عبر OpenRouter أو FractalRouter أو خادم متوافق مع OpenAI
معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
أصبحت مكتبة FAIRouter، المخصصة لتوجيه الطلبات بين نماذج اللغة، متاحة الآن على NuGet، مستودع الحزم الخاص بمنصة .NET. تحمل الحزمة اسم FAI.Router، وإصدارها الحالي 0.1.0، ولم يعد من الضروري بناؤها من الشيفرة المصدرية. تختلف النماذج في الأسعار والسرعة ونقاط القوة، لذلك يختار FAIRouter بنفسه النموذج المنفِّذ لكل مهمة، إما من قائمة يحددها المطوّر وإما من 54 نموذجًا شائعًا تأتي ضمن الحزمة. يراجع نموذج حَكَم الإجابة الجاهزة، ثم يتعلم الموجِّه من الملاحظات البشرية. يتألف النظام من جزأين: الموجِّه يختار النموذج، والحَكَم يقبل النتيجة أو ينتقدها، ويخضع كلاهما للتدريب.
التثبيت والطلب الأول
يتطلب التشغيل .NET 10 ومفتاحًا من مزوّد النماذج. يستخدم المؤلف في الأمثلة OpenRouter ويضع المفتاح في متغير البيئة OPENROUTER_API_KEY. يُنشأ مشروع وحدة التحكم (console) بالطريقة المعتادة، ثم تُضاف الحزمة بالأمر dotnet add package FAI.Router.
بعد ذلك يكفي استدعاء FaiRouter.FromOpenRouterAsync وتمرير المفتاح وقائمة معرّفات النماذج ومسار ملف قاعدة البيانات. في المثال، النماذج المرشَّحة هي google/gemini-2.5-flash وopenai/gpt-4.1-mini وanthropic/claude-haiku-4.5. يخزّن الملف fai-router.db الأوزان وسجل الخطوات، وإذا لم يكن الملف موجودًا فإنه يُنشأ. وإذا لم تُحدَّد قائمة النماذج، يجري الاختيار من بين النماذج الـ54 المرفقة بالحزمة.
تعيد الدالة AskAsync كائنًا من النوع RouterAnswer بأربعة حقول: Winner (النموذج المختار)، وText (الإجابة)، وScore (تقييم الحَكَم من 0 إلى 1)، وCritic (الفروق بين الطلب والإجابة بندًا بندًا). فإذا طُلبت أربعة أقسام وجدول، ثم جاء قسم واحد بلا جدول، يظهر ذلك في Critic. افتراضيًا يعمل openai/gpt-4o-mini حَكَمًا عبر المزوّد نفسه.
التدريب وملفات التعريف وحد الكفاية
يبدأ الجزء الأهم مع الملاحظات البشرية. يمنح المستخدم تقييمًا من 0 إلى 1، حيث يعني 1 إجابة ممتازة، و0.2 إجابة ضعيفة. لهذا الغرض يُستدعى router.Feedback، ثم Train مع تحديد عدد الحقبات (epochs)، ثم Save. تُحفظ الأوزان في قاعدة البيانات، ويأخذ الموجِّه الخبرة المتراكمة في الاعتبار عند المهام المشابهة. يمكن تجميع الملاحظات وتدريب الموجِّه على فترات أبعد، مثلًا مرة في اليوم. ويخزّن السجل نصوص الطلبات، ويجدر الانتباه إلى ذلك.
يُضبط التوازن بين السعر والجودة عبر ثلاثة ملفات تعريف جاهزة: Quality وBalance وPrice. يُستخدم Balance افتراضيًا، ويمكن تغيير الملف مع كل طلب عبر المعامل weights.
هناك قاعدة أخرى أيضًا: العثور على النماذج القادرة على أداء المهمة، ثم اختيار الأرخص والأسرع بينها. تؤدي هذه الوظيفة عتبة الكفاية bar، وهي الحد الأدنى لاحتمال أن تنال الإجابة رضا المستخدم. يوضح الحقل Reached ما إذا كان أي نموذج قد بلغ هذه العتبة. ولا تبدأ العتبة بالعمل إلا بعد تراكم ثلاث ملاحظات بشرية على الأقل.
تقبل AskAsync أيضًا حوارًا كاملًا. تُحدَّد المهمة وفق آخر رسالة من المستخدم، بينما يرى النموذج المحادثة بأكملها.
نماذجكم الخاصة والأدوات والوكلاء
يمكن الاتصال بثلاث طرق: FromOpenRouterAsync لـ OpenRouter، وFromFractalRouterAsync لـ FractalRouter، وFromOpenAiCompatibleAsync لأي خادم يدعم بروتوكول OpenAI chat completions. ويناسب الخيار الأخير النموذج الخاص بكم أيضًا. يجب تحديد سعر هذا النموذج بنفسكم، مثلًا Price(0, 0). وإذا لم يكن النموذج gpt-4o-mini متوفرًا على خادمكم، فيُحدَّد نموذج حَكَم آخر في المعامل judgeModel.
لا يقتصر الاختيار على النماذج، بل يشمل الأدوات والوكلاء. لذلك تُمرَّر إلى منشئ FaiRouter قائمة من كائنات BaseRoutedElement ودالة تشغّل المرشَّح المختار. في المثال خياران للبحث: deep-search (السعر 5 لكل مليون رمز إدخال و20 لكل مليون رمز إخراج، والسرعة 30 رمزًا في الثانية) وfast-search (السعر 1 و2، والسرعة 200 رمز في الثانية). بالنسبة إلى الأدوات، هذه الأرقام اعتبارية، والمهم هو النسبة بينها فقط. أما الدالة RunSearchAsync فيكتبها المطوّر بنفسه: فهي تشغّل البحث المطلوب وتعيد نصًا. تبدأ هذه المرشحات بأوزان عشوائية، لذلك تحتاج في البداية إلى ملاحظاتكم.
الترخيص والتوثيق
تُوزَّع الحزمة بموجب ترخيص Apache-2.0. نُشرت الشيفرة المصدرية والتوثيق المفصل على GitHub، ويمكن ترك الملاحظات والأسئلة في قسم issues. جميع الأمثلة في المقال أُعدّت على الإصدار 0.1.0. ولتجربة FAIRouter يكفي أمر تثبيت واحد وبضعة أسطر من الشيفرة. وقد شرح المؤلفون الرياضيات التي تقوم عليها المكتبة، من متجه المهمة وتوقع الجودة إلى الحَكَم والتدريب على الملاحظات، في مقال منفصل.
- 2 نوفمبر 2026TJ Digital: 23% من الصفحات التي يقتبسها الذكاء الاصطناعي تبدأ بإجابة مباشرة، مقابل 14% من الصفحات غير المقتبسة
- 2 نوفمبر 2026Arca تُسند إلى وكلاء الذكاء الاصطناعي مهام مالية تمتد حتى 10 أيام، وتترك الصفقات للبشر
- 2 نوفمبر 2026مساعد Muse من Meta يحتفظ بملفات عن المقرّبين من المستخدم ويحصل افتراضيًا على صلاحيات root في Ubuntu
- 1 نوفمبر 2026النماذج المحلية خسرت أمام Opus وCodex: 0,21 نقطة على MacBook مقابل 1,00 لـ Codex
أسئلة وأجوبة حول الخبر
ما أبرز التفاصيل حول التثبيت والطلب الأول؟
يتطلب التشغيل .NET 10 ومفتاحًا من مزوّد النماذج. يستخدم المؤلف في الأمثلة OpenRouter ويضع المفتاح في متغير البيئة OPENROUTER_API_KEY. يُنشأ مشروع وحدة التحكم (console) بالطريقة المعتادة، ثم تُضاف الحزمة بالأمر dotnet add package FAI.Router. بعد ذلك يكفي استدعاء FaiRouter.FromOpenRouterAsync وتمرير المفتاح وقائمة معرّفات النماذج ومسار ملف قاعدة البيانات. في المثال، النماذج المرشَّحة هي google/gemini-2.5-flash وopenai/gpt-4.1-mini وanthropic/claude-haiku-4.5. يخزّن الملف fai-router.db الأوزان وسجل الخطوات، وإذا لم يكن الملف موجودًا فإنه يُنشأ. وإذا لم تُحدَّد قائمة النماذج، ي
ما أبرز التفاصيل حول التدريب وملفات التعريف وحد الكفاية؟
يبدأ الجزء الأهم مع الملاحظات البشرية. يمنح المستخدم تقييمًا من 0 إلى 1، حيث يعني 1 إجابة ممتازة، و0.2 إجابة ضعيفة. لهذا الغرض يُستدعى router.Feedback، ثم Train مع تحديد عدد الحقبات (epochs)، ثم Save. تُحفظ الأوزان في قاعدة البيانات، ويأخذ الموجِّه الخبرة المتراكمة في الاعتبار عند المهام المشابهة. يمكن تجميع الملاحظات وتدريب الموجِّه على فترات أبعد، مثلًا مرة في اليوم. ويخزّن السجل نصوص الطلبات، ويجدر الانتباه إلى ذلك. يُضبط التوازن بين السعر والجودة عبر ثلاثة ملفات تعريف جاهزة: Quality وBalance وPrice. يُستخدم Balance افتراضيًا، ويمكن تغيير الملف مع كل طلب عبر المعامل weig
ما أبرز التفاصيل حول نماذجكم الخاصة والأدوات والوكلاء؟
يمكن الاتصال بثلاث طرق: FromOpenRouterAsync لـ OpenRouter، وFromFractalRouterAsync لـ FractalRouter، وFromOpenAiCompatibleAsync لأي خادم يدعم بروتوكول OpenAI chat completions. ويناسب الخيار الأخير النموذج الخاص بكم أيضًا. يجب تحديد سعر هذا النموذج بنفسكم، مثلًا Price(0, 0). وإذا لم يكن النموذج gpt-4o-mini متوفرًا على خادمكم، فيُحدَّد نموذج حَكَم آخر في المعامل judgeModel. لا يقتصر الاختيار على النماذج، بل يشمل الأدوات والوكلاء. لذلك تُمرَّر إلى منشئ FaiRouter قائمة من كائنات BaseRoutedElement ودالة تشغّل المرشَّح المختار. في المثال خياران للبحث: deep-search (السعر 5 لكل ملي
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
أهم ما في عالم الذكاء الاصطناعي — مرة كل أسبوع
سبع قصص مهمة فعلاً هذا الأسبوع، مختارة بعناية. بلا ضجيج ولا بيانات صحفية.
تم! تحقق من بريدك للتأكيد.