Onyx کو ایک custom OpenAI-compatible LLM provider پر چلائیں۔
Updated 2026-07-29
Onyx اپنے admin panel میں ایک Add Custom LLM Provider flow ساتھ لاتا ہے: Provider Name کو openai پر سیٹ کریں، Base URL کو https://api.apisrouter.com/v1 پر point کریں، اپنی model ids شامل کریں، اور workspace chat اور assistants gateway کے ذریعے جواب دیتے ہیں جہاں ہر کیٹلاگ model ایک key کے پیچھے موجود ہے۔
فوری جواب: admin panel میں Add Custom LLM Provider۔
Onyx کی documentation واضح کہتی ہے کہ ایک custom provider اس وقت تک کام کرتا ہے جب تک وہ OpenAI-compatible endpoints expose کرے، اور اس کی مثالی Base URL shape بالکل ایک gateway-style https://yourprovider.com/v1 ہے۔ Flow: اپنے profile icon سے Admin Panel کھولیں، Configuration پر جائیں، پھر Language Models، اور Add Custom LLM Provider چنیں۔ اس form میں چار فیصلے اہم ہیں۔ Display Name صرف cosmetic ہے۔ Provider Name کو ایک LiteLLM provider key سے میچ ہونا چاہیے، کیونکہ Onyx نیچے سے model calls کو LiteLLM کے ذریعے route کرتا ہے؛ ایک OpenAI-compatible gateway کے لیے یہ openai ہے۔ Base URL gateway endpoint ہے جس میں /v1 suffix شامل ہو۔ اور Model Configurations وہ section ہے جہاں آپ ہر وہ model id register کرتے ہیں جو دستیاب چاہتے ہیں، بالکل ویسے spell کی ہوئی جیسے کیٹلاگ اسے serve کرتا ہے۔ Save کریں، ایک default چنیں، اور chats فوراً gateway کے ذریعے route ہونے لگتی ہیں۔
Admin Panel -> Configuration -> Language Models
-> Add Custom LLM Provider
Display Name: APIsRouter
Provider Name: openai (LiteLLM provider key)
Base URL: https://api.apisrouter.com/v1
API Key: sk-YOUR-APISROUTER-KEY
Model Configurations:
claude-sonnet-4-6
claude-haiku-4-5-20251001
deepseek-v4-proOnyx کے architecture میں LLM کہاں بیٹھتا ہے۔
Onyx (GitHub پر onyx-dot-app، تقریباً 31K stars، پہلے Danswer) company knowledge کے لیے ایک open-source AI platform ہے: یہ Slack، Google Drive، Confluence، اور درجنوں دوسرے connectors جیسے sources index کرتا ہے، پھر ان پر chat UI، assistants، اور agent workflows کے ذریعے سوالات کا جواب دیتا ہے۔ یہ سب سے زیادہ deployed self-hosted enterprise search stacks میں سے ایک ہے، بالکل اسی لیے اس کا LLM bill ایک default کی بجائے ایک routing فیصلہ کا حق دار ہے۔ Pipeline صاف طور پر دو حصوں میں تقسیم ہوتی ہے۔ Indexing اور retrieval، document embedding اور reranking سمیت، default طور پر Onyx کے اپنے model server پر local models کے ساتھ چلتی ہیں؛ اس میں سے کچھ بھی آپ کے LLM provider کو نہیں چھوتا۔ Answer generation دوسرا آدھا حصہ ہے: ایک بار جب retrieval متعلقہ passages جمع کر لے، ایک LLM انہیں پڑھتا ہے اور grounded response لکھتا ہے، اور وہ call LiteLLM کے ذریعے جس بھی provider کو admin نے configure کیا ہو وہاں جاتی ہے۔ custom provider flow بالکل اسی آدھے کی منزل بدلتی ہے۔ چونکہ LiteLLM model id کو ایک openai-type provider کی طرف plain string کے طور پر forward کرتا ہے، Model Configurations میں آپ کی registered ids کچھ بھی ہو سکتی ہیں جو Base URL کے پیچھے موجود endpoint serve کرے: محتاط grounded جوابوں کے لیے Claude، volume کے لیے DeepSeek، بہت لمبے source contexts کے لیے Gemini۔ مختلف assistants مختلف models default کر سکتی ہیں، تو ایک support assistant اور ایک engineering assistant ایک ہی provider entry کے ذریعے مختلف price points پر سوار ہو سکتی ہیں، ایک دوسرے کو جانے بغیر۔
مکمل سیٹ اپ، اور جو جوں کا توں رہتا ہے۔
Provider form ہی پوری integration ہے؛ اس کے لیے کوئی config file edit یا container rebuild نہیں کرنا۔ Save کرنے کے بعد، workspace کے لیے default model سیٹ کریں، اور اختیاری طور پر فی assistant model کو override کریں جہاں آپ مختلف quality tiers چاہتے ہوں۔ جو جان بوجھ کر جوں کا توں رہتا ہے: connectors اپنی credentials رکھتے ہیں، index متاثر نہیں ہوتا، اور search کے لیے configured embedding model move نہیں ہوتی۔ یہ تقسیم بیان کرنے کے قابل ہے کیونکہ یہ اسے کم-خطرہ تبدیلی بناتی ہے۔ اگر gateway بدسلوکی کرے، تو search اور sources پھر بھی کام کریں گے؛ صرف answer generation error دے گی، اور default کو پرانے provider پر واپس بدلنا ایک dropdown ہے۔ وہ teams جو deployments automate کرتی ہیں ان کے لیے، وہی provider definition UI میں کلک کرنے کی بجائے Onyx کے API کے ذریعے seed کی جا سکتی ہے، مگر admin panel path documented اور مستحکم surface ہے، اور ایک بار کا setup شاذ ونادر اس سے زیادہ کا جواز رکھتا ہے۔
# confirm the gateway lists the ids you plan to register
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
# confirm a chat completion works end to end
curl -s https://api.apisrouter.com/v1/chat/completions \
-H "Authorization: Bearer $APISROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-4-6",
"messages":[{"role":"user","content":"ping"}]}'Grounded enterprise جوابات کے لیے models چننا۔
Onyx کے اندر model evaluation غیر معمولی طور پر concrete ہے: ایک ہی سوال اسی connectors کے خلاف دو مختلف assistant defaults کے ساتھ پوچھیں اور compare کریں کہ کون سا جواب صحیح passages cite کرتا ہے۔ per-key usage log آپ کے حقیقی question mix پر دونوں candidates کی قیمت لگاتا ہے۔
- Grounded answering input-heavy ہے: model retrieved passages پڑھتا ہے جو اس کے لکھے جواب سے کہیں بڑے ہوتے ہیں۔ فی-input-token قیمت اس لیے output قیمت سے زیادہ فی-سوال cost طے کرتی ہے۔
- claude-sonnet-4-6 ایک مضبوط workspace default ہے: retrieved sources کے اندر رہنے میں disciplined اور ایسی policy ایجاد کرنے کے خلاف مزاحم جو documents میں نہ ہو۔
- زیادہ-traffic assistants (IT helpdesk، HR FAQ) claude-haiku-4-5-20251001 یا deepseek-v4-pro پر اچھی طرح چلتی ہیں، جہاں volume pricing فی-seat cost کو قابلِ پیش گوئی رکھتی ہے۔
- لمبے source documents long-context ids کے حق میں ہیں؛ ایسی assistants کے لیے gemini-3.1-pro-preview ٹیسٹ کرنے کے قابل ہے جو بڑے design docs یا contracts کو context میں کھینچتی ہیں۔
- ایک provider entry میں کئی ids register کریں اور انہیں فی assistant assign کریں۔ فی team quality tiers ایک عالمی compromise model سے بہتر ہیں۔
استعمال کے مطابق ادائیگی · سرکاری قیمت سے کم
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| ماڈل | سرکاری قیمت | ہماری قیمت |
|---|---|---|
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| Claude Haiku 4.5 20251001 | $1.00 / $5.00 per M | $0.80 / $4.00 per M |
| GPT-5.6 Terra | $2.50 / $15.00 per M | $2.00 / $12.00 per M |
| Gemini 3.1 Pro Preview | $2.00 / $12.00 per M | $1.60 / $9.60 per M |
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
Onyx سے مخصوص failure modes۔
Provider Name کوئی free-text label نہیں ہے۔ اسے ایک LiteLLM provider key سے میچ ہونا چاہیے، اور gateway کے لیے وہ key openai ہے۔ ایک بنایا ہوا نام request time پر LiteLLM provider error سے فیل ہوتا ہے چاہے form ٹھیک save ہو گیا ہو۔ Base URL کو /v1 suffix چاہیے۔ Onyx کی اپنی documentation /v1 پر ختم ہونے والی endpoint shapes دکھاتی ہے؛ اس کے بغیر، chat-completions path غلط resolve ہوتا ہے اور requests gateway پر 404 دیتی ہیں۔ Model ids Model Configurations میں رہتی ہیں۔ ایک model جسے آپ نے وہاں کبھی register نہیں کیا default کے طور پر منتخب نہیں ہو سکتی، اور ایک registered id میں typo پہلے استعمال پر model-not-found error کے طور پر سامنے آتی ہے، save کے وقت نہیں۔ Gateway کا /v1/models listing ہی authoritative spelling ہے۔ اگر آپ کے admin UI میں custom-models form پر Base URL field موجود نہیں، تو آپ نے کچھ 2026 releases میں ایک reported UI regression کا سامنا کیا ہے نہ کہ کوئی missing feature؛ upgrade کرنا field کو بحال کرتا ہے۔ اور یاد رکھیں آپ نے کون سا آدھا حصہ move کیا: اگر search results غلط یا پرانے لگیں، تو یہ indexing اور connectors ہیں، جو custom provider کو کبھی نہیں چھوتے۔ صرف پیدا کیے گئے جوابات gateway کے ذریعے route ہوتے ہیں۔
Onyx کو gateway کے ذریعے کون route کرتا ہے۔
- وہ self-hosted teams جو fi-vendor accounts کی جگہ ایک endpoint، ایک key، اور per-key usage لیتی ہیں جو صاف طور پر ایک workspace یا department سے map ہو۔
- وہ enterprises جنہوں نے internal search کے لیے Onyx standardize کیا اور ایک الگ Anthropic billing relationship کے بغیر Claude-quality grounded جوابات چاہتی ہیں۔
- Platform teams جو مختلف quality tiers پر کئی assistants چلاتی ہیں، ایک provider پر registered model ids کے ذریعے فی assistant قیمت لگاتی ہوئی۔
- وہ evaluators جو ایک جیسے corpora پر model families کے پار answer quality compare کرتے ہیں، جہاں ہر candidate ایک نئی provider integration کی بجائے ایک registered id ہے۔
- وہ developers جن کے پاس کسی مخصوص vendor کی billing تک رسائی نہیں۔ Top-up پر مبنی رسائی بغیر کارڈ کی شرط کے فی-provider sign-up کا انحصار ختم کر دیتی ہے۔
Endpoint verify کریں اور پہلی chat debug کریں۔
اوپر دونوں curl checks form چھونے سے پہلے gateway کا آدھا حصہ کور کرتے ہیں: آپ کی register کرنے کا ارادہ رکھنے والی ids /v1/models میں نظر آنی چاہئیں، اور ایک direct chat completion کا جواب آنا چاہیے۔ Onyx کے اندر، failures جلدی localize ہوتی ہیں۔ LiteLLM کا نام لینے والا provider error مطلب Provider Name valid key نہیں ہے؛ اسے openai پر سیٹ کریں۔ پہلی chat پر authentication error کا مطلب API Key Base URL کے endpoint سے تعلق نہیں رکھتی۔ Model-not-found error Model Configurations اور کیٹلاگ کے درمیان id mismatch ہے۔ ایسے جوابات جو پیدا تو ہوں مگر آپ کے documents کو نظر انداز کریں وہ ایک retrieval یا connector مسئلہ ہیں، LLM provider سے پہلے کا۔ جب chats چلنے لگیں، APIsRouter console per-request model، token counts، اور spend دکھاتا ہے۔ ایک workspace tool کے لیے جہاں ہر سوال retrieved context لے کر چلتا ہے، وہ فی-سوال token number capacity planning کی ایماندار بنیاد ہے، اور فی workspace ایک key usage log کو ایک department-level cost report میں بدل دیتی ہے۔
عمومی سوالات
کیا Onyx custom OpenAI-compatible LLM providers کو سپورٹ کرتا ہے؟
جی ہاں، ایک documented flow کے طور پر: Admin Panel، Configuration، Language Models، Add Custom LLM Provider۔ docs کہتے ہیں provider کو OpenAI-compatible endpoints expose کرنی چاہئیں اور /v1 پر ختم ہونے والی Base URL shapes دکھاتے ہیں، جو بالکل وہی ہے جو ایک gateway فراہم کرتا ہے۔
ایک gateway کے لیے Provider Name میں کیا داخل کروں؟
openai۔ Onyx calls کو LiteLLM کے ذریعے route کرتا ہے، اور Provider Name کو ایک LiteLLM provider key سے میچ ہونا چاہیے؛ openai ہی وہ key ہے جو کسی بھی custom Base URL پر پہنچنے والے OpenAI-compatible endpoint کے لیے ہے۔
کیا Onyx اس سیٹ اپ سے Claude یا DeepSeek models سے جواب دے سکتا ہے؟
جی ہاں۔ provider کے Model Configurations section میں ids register کریں (مثلاً claude-sonnet-4-6 یا deepseek-v4-pro)۔ LiteLLM انہیں plain strings کے طور پر Base URL کی طرف forward کرتا ہے، تو gateway جو بھی serve کرے وہ selectable ہے۔
کیا custom provider Onyx کی document indexing یا embeddings کو بدلتا ہے؟
نہیں۔ Indexing، embedding، اور reranking Onyx کے اپنے model server پر، default طور پر local، چلتی ہیں، اور connectors اپنی credentials رکھتے ہیں۔ custom LLM provider صرف answer generation کو move کرتا ہے۔
کیا مختلف assistants ایک provider پر مختلف models استعمال کر سکتی ہیں؟
جی ہاں۔ provider کے Model Configurations میں متعدد ids register کریں، پھر فی assistant defaults سیٹ کریں۔ ایک زیادہ-volume والا helpdesk assistant ایک تیز id چلا سکتا ہے جبکہ ایک research assistant ایک frontier id default کرے، سب ایک ہی endpoint اور key کے ذریعے۔
کیا یہ Danswer میں بھی ایسا ہی تھا؟
Onyx Danswer project کا نیا نام ہے، اور custom provider تصور آگے آیا۔ موجودہ documentation Onyx نام کے تحت ہے، اور یہاں بیان کردہ admin-panel flow موجودہ surface ہے؛ پرانی Danswer guides پرانی field layouts دکھا سکتی ہیں۔