src/model_tiers.json)। एक gateway
जो रिक्वेस्ट समय पर proxy के अंदर निर्णय लेता है, उसके विपरीत, रूटिंग निर्णय git में
दृश्यमान और diffable है।
एक टियर की सिफ़ारिश करें — forge route
अनुशंसित
route.tier पर शुरू करें और केवल एक बाहरी verifier के विफल होने के बाद escalate
करें, कभी preemptively नहीं। इससे जब कार्य को वास्तव में क्षमता की ज़रूरत होती है तब
क्षमता सीमित किए बिना खर्च कम रहता है।पहले 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 करता है:
1
कठोर family gate
Family शब्द (haiku / sonnet / opus / fable) मैच होना चाहिए — यह एक hard gate है।
2
सर्वोत्तम overlap जीतता है
Family के भीतर, टियर के नाम टोकनों का
setOverlap गुणांक सर्वश्रेष्ठ मैच चुनता है।3
Canonical की ओर Tie-break
Ties canonical नाम के सबसे करीब id की ओर टूटते हैं।
forge doctor की gateway models पंक्ति सत्यापन के लिए resolved tier → model मैपिंग
प्रिंट करती है।
Providers और लागत
forge cost --stages केवल मापे गए stages रिपोर्ट करता है — बिना events वाला stage
“no data” कहता है, कभी default नहीं। एक संख्या तब तक धारणा है जब तक मापी न जाए।