Esc to close · ⌘K / Ctrl-K opens search anywhere
BYOE तुम्हाला तुमची स्वतःची OpenAI-सुसंगत डिप्लॉयमेंट BharatRouter च्या रूटिंगमध्ये प्लग करू देते — एक सेल्फ-होस्टेड vLLM, एक अंतर्गत गेटवे, एक खाजगी क्लाउड एंडपॉइंट — आणि ती एका चेन मध्ये फेलओवर टप्पा म्हणून वापरू देते. इन्फरन्स तुमच्या इन्फ्रास्ट्रक्चरवर चालत असल्यामुळे, BYOE टप्प्यांची किंमत ₹0 आहे. एखाद्या एंडपॉइंटला चेनमध्येbyoe:<slug> म्हणून संदर्भित केले जाते, आणि तुम्ही प्रत्येक मॉडेलसाठी एकापेक्षा जास्त नोंदवू शकता.
दोन्ही "तुमचे स्वतःचे आणा" आहेत, आणि दोन्ही तुमच्या इन्फ्रा/अकाउंटवर ₹0 ला चालतात — पण ते वेगवेगळ्या गोष्टी आणतात. BYOK तेव्हा वापरा जेव्हा मॉडेल आधीच आम्ही सपोर्ट करत असलेल्या एखाद्या provider वर चालत असेल आणि तुम्हाला फक्त तुमची स्वतःची key द्यायची असेल; BYOE तेव्हा वापरा जेव्हा मॉडेल अशा एखाद्या डिप्लॉयमेंटवर चालत असेल जी तुम्ही होस्ट करता.
| BYOK — तुमची स्वतःची key आणा | BYOE — तुमचा स्वतःचा एंडपॉइंट आणा | |
|---|---|---|
| तुम्ही देता | एक provider API key | तुम्ही चालवत असलेल्या डिप्लॉयमेंटचा एक URL |
| हे कुठे चालते | provider चा इन्फ्रा | तुमचा इन्फ्रा |
| provider असणे आवश्यक | एक जो BharatRouter आधीच सपोर्ट करतो | कोणताही OpenAI-सुसंगत एंडपॉइंट |
| प्रवेश गेट | सेव्ह करताना लाइव्ह key सत्यापन | स्वयंचलित OpenAI-फॉरमॅट कंप्लायन्स टेस्ट |
| संदर्भित | provider (उदा. krutrim) किंवा provider/model-id | byoe:<slug> |
| किती | प्रत्येक provider साठी एक सेव्ह केलेली key | प्रत्येक मॉडेलसाठी अनेक एंडपॉइंट |
| Price | ₹0 (provider तुम्हाला बिल करतो) | ₹0 (तुमचा स्वतःचा इन्फ्रा) |
तुमच्या स्वतःच्या provider keys वापरण्यासाठी BYOK पाहा.
नोंदणी एक स्वयंचलित कंप्लायन्स टेस्ट इनलाइन चालवते आणि एंडपॉइंट तेव्हाच सेव्ह करते जेव्हा तो पास होतो. केवळ owners आणि admins.
POST /me/endpoints
{
"name": "my-vllm-llama",
"model": "llama-3.1-8b-instruct", // a catalog chat model
"base_url": "https://llm.mycorp.com/v1",
"upstream_model": "meta-llama/Llama-3.1-8B-Instruct",
"key": "sk-internal-...", // optional — omit for a keyless endpoint
"residency": "india"
}
→ { "ok": true, "endpoint": { "id": 7, "slug": "my-vllm-llama",
"provider_ref": "byoe:my-vllm-llama", "model": "llama-3.1-8b-instruct" },
"compliance": { "pass": true, ... } }जेव्हा तुम्ही एखादी फेलओवर चेन सेव्ह करता किंवा एखादेcollection तयार करता, तेव्हा एखाद्या टप्प्याच्याprovider म्हणून परत आलेल्या provider_ref (byoe:<slug>) चा वापर करा.
POST /me/endpoints/test एखाद्या सेव्ह न केलेल्या कॉन्फिगविरुद्ध कंप्लायन्स तपासणी चालवते आणि काहीही न लिहिता निकाल परत करते — base_url आणि upstream_modelठीक करण्यासाठी उपयुक्त. कोणताही member टेस्ट करू शकतो.
एखादा एंडपॉइंट लाइव्ह रूटिंगमध्ये तेव्हाच स्वीकारला जातो जेव्हा तो हे सिद्ध करतो की तो chat-completions वायर फॉरमॅट बोलतो. टेस्ट (12-सेकंद टाइमआउट) हे तपासते:
| तपासणी | आवश्यकता |
|---|---|
| Chat | आवश्यक — एक नॉन-स्ट्रीम कॉल choices[0].message.content परत करते. |
| Usage | आवश्यक — रिप्लायमध्ये संख्यात्मक usage.prompt_tokens आणि usage.completion_tokens असते. |
| Stream | आवश्यक — एक स्ट्रीम केलेली कॉल SSE डेल्टा देते आणि [DONE] ने संपते. |
| Stream usage | सल्लागार — स्ट्रीम केलेल्या रिप्लायमध्ये एक usage ब्लॉक समाविष्ट आहे का (supports_stream_usage सेट करते). |
| Error shape | सल्लागार — एक चुकीची रिक्वेस्ट { error } ऑब्जेक्टसह 4xx परत करते. |
एखाद्या सेव्ह केलेल्या एंडपॉइंटवर POST /me/endpoints/:id/retest ने तपासणी पुन्हा चालवा (उदाहरणार्थ जेव्हा तो पुन्हा ऑनलाइन येतो). केवळ ज्या एंडपॉइंट्सचा कंप्लायन्स pass आहे, तेच रूटिंगसाठी वापरले जातात; बाकीचे संग्रहित केले जातात पण वगळले जातात.
base_url एक सार्वजनिक http(s)एंडपॉइंट असणे आवश्यक आहे. लूपबॅक, लिंक-लोकल, खाजगी (RFC1918), आणि क्लस्टर-अंतर्गत होस्ट (.local, .internal, .svc, .cluster.local, मल्टीकास्ट आणि ULA रेंज) नाकारले जातात.| एंडपॉइंट | हे काय करते |
|---|---|
GET /me/endpoints | तुमच्या एंडपॉइंट्सची यादी करा (keys मास्क केलेल्या, कंप्लायन्स स्थितीसह). |
POST /me/endpoints | नोंदवा + कंप्लायन्स-टेस्ट इनलाइन (owner/admin). |
POST /me/endpoints/test | एखाद्या सेव्ह न केलेल्या कॉन्फिगची कंप्लायन्स-टेस्ट करा (कोणतेही राइट नाही). |
POST /me/endpoints/:id/retest | एखाद्या सेव्ह केलेल्या एंडपॉइंटवर कंप्लायन्स पुन्हा चालवा (owner/admin). |
DELETE /me/endpoints/:id | एक एंडपॉइंट हटवा (owner/admin). |
MCP द्वारे: list_endpoints आणि test_endpoint(रीड/नो-राइट), तसेच register_endpoint आणि remove_endpoint (राइट —user_confirmed: true आवश्यक).