⚡ नया — Kimi K3 अब लाइव: अपनी Moonshot key जोड़ें →
दस्तावेज़

अपना खुद का एंडपॉइंट लाएँ

BYOE आपको अपनी खुद की OpenAI-संगत डिप्लॉयमेंट को BharatRouter की रूटिंग में प्लग करने देता है — एक सेल्फ-होस्टेड vLLM, एक आंतरिक गेटवे, एक निजी क्लाउड एंडपॉइंट — और इसे एक चेन में फेलओवर चरण के रूप में उपयोग करें। चूँकि इन्फरेंस आपके इन्फ्रास्ट्रक्चर पर चलता है, इसलिए BYOE चरणों की कीमत ₹0 है। एक एंडपॉइंट को चेन मेंbyoe:<slug> के रूप में संदर्भित किया जाता है, और आप प्रति मॉडल एक से अधिक रजिस्टर कर सकते हैं।

BYOE बनाम BYOK

दोनों "अपना खुद का लाओ" हैं, और दोनों आपके इन्फ्रा/अकाउंट पर ₹0 पर चलते हैं — लेकिन वे अलग-अलग चीज़ें लाते हैं। BYOK का उपयोग तब करें जब मॉडल पहले से ही किसी ऐसे provider पर चलता हो जिसे हम सपोर्ट करते हैं और आप बस अपना खुद का key देना चाहते हों; BYOE का उपयोग तब करें जब मॉडल किसी ऐसी डिप्लॉयमेंट पर चलता हो जिसे आप होस्ट करते हैं।

BYOK — अपना खुद का key लाएँBYOE — अपना खुद का एंडपॉइंट लाएँ
आप देते हैंएक provider API keyआपके द्वारा चलाई जाने वाली डिप्लॉयमेंट का एक URL
यह कहाँ चलता हैprovider का इन्फ्राआपका इन्फ्रा
provider होना चाहिएएक जिसे BharatRouter पहले से सपोर्ट करता हैकोई भी OpenAI-संगत एंडपॉइंट
प्रवेश गेटसेव करने पर लाइव key सत्यापनस्वचालित OpenAI-फॉर्मेट कंप्लायंस टेस्ट
संदर्भितprovider (जैसे krutrim) या provider/model-idbyoe:<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 है, रूटिंग के लिए उपयोग किए जाते हैं; बाकी संग्रहीत होते हैं लेकिन छोड़ दिए जाते हैं।

सुरक्षा

  • SSRF गार्ड। base_url एक सार्वजनिक http(s)एंडपॉइंट होना चाहिए। लूपबैक, लिंक-लोकल, निजी (RFC1918), और क्लस्टर-आंतरिक होस्ट (.local, .internal, .svc, .cluster.local, मल्टीकास्ट और ULA रेंज) अस्वीकार कर दिए जाते हैं।
  • Keys रेस्ट पर एन्क्रिप्टेड AES-256-GCM के साथ; कीलेस एंडपॉइंट कोई key स्टोर नहीं करते। सेव किए गए keys केवल मास्क करके लौटाए जाते हैं।

प्रबंधित करें

एंडपॉइंटयह क्या करता है
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)

MCP के ज़रिए: list_endpoints और test_endpoint(रीड/नो-राइट), साथ ही register_endpoint और remove_endpoint (राइट —user_confirmed: true आवश्यक)।