> ## Documentation Index
> Fetch the complete documentation index at: https://forgekit-docs-mintlify-7cd64f48.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# توجيه النماذج

> معيار حتمي وقابل للمقارنة (diffable) يختار أرخص فئة نموذج قادرة قبل الإرسال — مع إعادة تعيين آمنة للفشل لبوابات المستضافة ذاتيًا.

يوصي Forge بأرخص نموذج قادر على تنفيذ مهمة ما **قبل** الإرسال، وذلك من خلال معيار حتمي
يمكنك قراءته في المستودع (`src/model_tiers.json`). على عكس البوابة التي تتخذ القرار
داخل الوكيل (proxy) وقت الطلب، فإن قرار التوجيه هنا مرئي وقابل للمقارنة في git.

## التوصية بفئة — `forge route`

```bash theme={null}
forge route "<task>"            # cheapest capable model tier for the task
forge route gateway             # emit LiteLLM gateway config
```

التوصية عبارة عن حسابات k-NN مبنية على أمثلة نموذجية فوق بنك موسوم (صفوف بالإنجليزية

* Hinglish) وفق مقياس تشابه بالتداخل مع بوابة ثقة — وليست مجرد بحث بالكلمات المفتاحية.

<Note>
  ابدأ من `route.tier` الموصى به ولا تصعّد إلا بعد فشل مُحقِّق خارجي، لا بشكل استباقي أبدًا.
  هذا يبقي الإنفاق منخفضًا دون تقييد القدرة عندما تحتاج المهمة إليها فعلًا.
</Note>

## النية أولًا، ثم الفئة

يشترك التوجيه في الحسابات مع اكتشاف النية (`src/intent.js`): يُطابَق الموجّه (prompt) مع
نية معينة عبر مقدِّر k-NN القائم على الأمثلة النموذجية ذاته. لاحظ أن الاثنين يستخدمان
مجموعات إيقاف مختلفة — التوجيه يعامل الأفعال العامة (`fix` / `add` / `build`)
كضوضاء تعقيد، بينما هذه الأفعال بالضبط هي إشارة النية.

## جدول الفئات

يُثبِّت جدول الفئات (`src/model_tiers.json`) معرفات نماذج Anthropic العامة حسب العائلة
(haiku / sonnet / opus / fable). تُوفَّق أسعار المستندات مع هذا الملف عبر فحص المستندات،
بحيث لا يمكن أن ينحرف النص عن الجدول.

## إعادة التعيين للبوابات المستضافة ذاتيًا

بوابة LiteLLM أو وكيل مستضاف ذاتيًا يقدّم أسماء نماذجه الخاصة، لذا فإن إرسال معرف قياسي
حرفيًا سيؤدي إلى خطأ 404. عند تكوين عنوان URL أساسي لبوابة غير افتراضية، يقوم Forge
(`src/gateway_model_map.js`) بجلب `GET /v1/models` **مرة واحدة لكل عملية** ويسجّل نقاطًا
لكل معرف مُعلَن مقابل عائلة كل فئة:

<Steps>
  <Step title="بوابة عائلة صارمة">
    يجب أن تتطابق كلمة العائلة (haiku / sonnet / opus / fable) — وهي بوابة صارمة.
  </Step>

  <Step title="يفوز أفضل تداخل">
    ضمن العائلة، يختار معامل `setOverlap` لرموز اسم الفئة أفضل تطابق.
  </Step>

  <Step title="كسر التعادل نحو الاسم القانوني">
    يُحسم التعادل لصالح المعرف الأقرب إلى الاسم القانوني.
  </Step>
</Steps>

<Warning>
  تستشير إعادة التعيين البوابة **فقط** عندما يكون المعرف المُحلَّل معرفًا *قياسيًا* — لا يتم
  المساس أبدًا باسم مستعار صريح في `.forge/providers.json` أو تجاوز `ANTHROPIC_MODEL`.
  يفشل بأمان إلى المعرف القياسي عند غياب البوابة، أو تعذر الوصول إلى `/v1/models`،
  أو عدم وجود تطابق عائلي، وبذلك يكون المستخدمون المباشرون لـ `api.anthropic.com`
  متطابقين بايتًا ببايت.
</Warning>

يطبع صف **gateway models** في `forge doctor` تعيين `tier → model` المُحَل للتحقق.

## المزودون والتكلفة

```bash theme={null}
forge config               # show / switch / add providers, set the default model
forge cost                 # real per-day spend
forge cost --stages        # measured per-stage cost factors
```

<Note>
  يُبلِّغ `forge cost --stages` عن **المراحل المُقاسة فقط** — المرحلة التي لا تحتوي على
  أحداث تقول "no data"، ولا تعرض قيمة افتراضية أبدًا. أي رقم يظل افتراضًا حتى يُقاس.
</Note>
