> ## 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 रुब्रिक डिस्पैच से पहले सबसे सस्ता सक्षम मॉडल टियर चुनता है — self-hosted gateways के लिए एक fail-safe remap के साथ।

Forge किसी कार्य के लिए सबसे सस्ते सक्षम मॉडल की सिफ़ारिश डिस्पैच से **पहले** करता है, एक
डिटर्मिनिस्टिक रुब्रिक से जिसे आप repo में पढ़ सकते हैं (`src/model_tiers.json`)। एक gateway
जो रिक्वेस्ट समय पर proxy के अंदर निर्णय लेता है, उसके विपरीत, रूटिंग निर्णय git में
दृश्यमान और diffable है।

## एक टियर की सिफ़ारिश करें — `forge route`

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

सिफ़ारिश एक लेबल्ड बैंक (English + Hinglish rows) के ऊपर exemplar k-NN गणित है, जो
overlap-similarity मेट्रिक और एक confidence gate के तहत की जाती है — keyword lookup नहीं।

<Note>
  अनुशंसित `route.tier` पर शुरू करें और केवल एक बाहरी verifier के विफल होने के बाद escalate
  करें, कभी preemptively नहीं। इससे जब कार्य को वास्तव में क्षमता की ज़रूरत होती है तब
  क्षमता सीमित किए बिना खर्च कम रहता है।
</Note>

## पहले Intent, फिर टियर

रूटिंग अपनी गणित को intent detection (`src/intent.js`) के साथ साझा करती है: एक prompt
उसी exemplar k-NN estimator द्वारा एक intent में मैप होता है। ध्यान दें कि दोनों अलग-अलग
stop-sets का उपयोग करते हैं — route सामान्य verbs (`fix` / `add` / `build`) को complexity
noise मानती है, लेकिन वही verbs intent signal होते हैं।

## टियर तालिका

टियर तालिका (`src/model_tiers.json`) परिवार (haiku / sonnet / opus / fable) के अनुसार
सार्वजनिक Anthropic मॉडल IDs को पिन करती है। Doc कीमतें docs check द्वारा इस फ़ाइल के
विरुद्ध reconciled होती हैं, इसलिए prose और तालिका ड्रिफ़्ट नहीं कर सकते।

## Self-hosted gateway remap

एक self-hosted LiteLLM या proxy gateway अपने खुद के मॉडल नाम देता है, इसलिए एक stock ID
सीधे भेजने पर 404 आएगा। जब एक non-default gateway base URL कॉन्फ़िगर होता है, तो Forge
(`src/gateway_model_map.js`) `GET /v1/models` को **प्रति process एक बार** fetch करता है
और प्रत्येक विज्ञापित id को हर टियर के family के विरुद्ध score करता है:

<Steps>
  <Step title="कठोर family gate">
    Family शब्द (haiku / sonnet / opus / fable) मैच होना चाहिए — यह एक hard gate है।
  </Step>

  <Step title="सर्वोत्तम overlap जीतता है">
    Family के भीतर, टियर के नाम टोकनों का `setOverlap` गुणांक सर्वश्रेष्ठ मैच चुनता है।
  </Step>

  <Step title="Canonical की ओर Tie-break">
    Ties canonical नाम के सबसे करीब id की ओर टूटते हैं।
  </Step>
</Steps>

<Warning>
  Remap gateway से **केवल** तब परामर्श करता है जब resolved id एक *stock* ID हो — एक स्पष्ट
  `.forge/providers.json` alias या एक `ANTHROPIC_MODEL` override को कभी नहीं छुआ जाता। यह
  no gateway, unreachable `/v1/models`, या no family match पर stock ID पर fail-safe रहता है,
  ताकि सीधे `api.anthropic.com` उपयोगकर्ता byte-identical रहें।
</Warning>

`forge doctor` की **gateway models** पंक्ति सत्यापन के लिए resolved `tier → model` मैपिंग
प्रिंट करती है।

## Providers और लागत

```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` **केवल मापे गए stages** रिपोर्ट करता है — बिना events वाला stage
  "no data" कहता है, कभी default नहीं। एक संख्या तब तक धारणा है जब तक मापी न जाए।
</Note>
