Open WebUI کو ایک custom OpenAI-compatible endpoint سے جوڑیں۔
Updated 2026-07-29
Open WebUI OpenAI-compatible connections کو ایک first-class admin setting کے طور پر treat کرتا ہے: Admin Settings کے تحت https://api.apisrouter.com/v1 اور ایک key کے ساتھ ایک connection شامل کریں، اور catalog کا ہر model آپ کے تمام users کے لیے model selector میں ظاہر ہو جاتا ہے، locally جو بھی چل رہا ہو اس کے ساتھ ساتھ۔
فوری جواب: Admin Settings میں ایک connection۔
ایک admin کے طور پر، Admin Settings کھولیں، Connections پر جائیں، اور OpenAI API سیکشن کے تحت ایک connection شامل کرنے کے لیے کلک کریں۔ دو fields اہم ہیں: URL، جو https://api.apisrouter.com/v1 پر set ہو، اور API key۔ Save کریں، اور Open WebUI model selector بھرنے کے لیے endpoint کی /v1/models فہرست query کرتا ہے؛ connection کے check control سے verify کریں، پھر کسی نئی chat میں کوئی بھی catalog id چنیں۔ اس طرح شامل کیے گئے connections پورے workspace کے لیے ہیں: آپ کے Open WebUI instance کا ہر user models دیکھتا ہے، آپ جو بھی model-access controls configure کریں ان کے تابع۔ وہی values deploy time پر environment variables کے طور پر بھی ship ہو سکتی ہیں، OPENAI_API_BASE_URL اور OPENAI_API_KEY، جو صاف تر راستہ ہے جب instance UI میں click کرنے کی بجائے compose files سے provision ہو۔
URL: https://api.apisrouter.com/v1
API Key: sk-YOUR-APISROUTER-KEY
Save → models auto-populate from /v1/models
(optional) Model IDs allowlist to curate the selectorOpen WebUI OpenAI connections کیسے استعمال کرتا ہے۔
Open WebUI (تقریباً 145K GitHub stars) default self-hosted AI chat front end ہے: users اور permissions، RAG اور knowledge collections، tool calling، اور model management والا ایک مکمل-featured web client، روایتی طور پر local models کے لیے Ollama کے ساتھ jوڑا ہوا مگر remote APIs سے بات کرنے میں بھی اتنا ہی گھر جیسا۔ اس کا connection model additive ہے۔ Ollama سیکشن local runtimes cover کرتا ہے؛ OpenAI API سیکشن کسی بھی endpoint کو cover کرتا ہے جو معیاری chat-completions dialect بولتا ہو، اور آپ ساتھ ساتھ کئی connections شامل کر سکتے ہیں۔ ہر connection اپنی model list مشترکہ selector میں دیتا ہے، ہر ایک کی اپنی key ہے، اور ہر ایک کو اپنی configuration مٹائے بغیر toggle off کیا جا سکتا ہے۔ Requests جس بھی connection کو سرو کرنا ہو اسے model id plain string کے طور پر لے جاتی ہیں۔ اس design کا مطلب ہے ایک gateway connection کچھ بھی ہٹاتا نہیں: آپ کے local models Ollama کے ذریعے بغیر فی-token لاگت کے چلتے رہتے ہیں، جبکہ claude-sonnet-4-6، gpt-5.5، gemini-3.5-flash، اور deepseek-v4-pro ان گفتگوؤں کے لیے selector entries بن جاتے ہیں جنہیں frontier quality چاہیے۔ ایک key ان سب کو cover کرتی ہے، اور admin-side usage پڑھنے کے قابل رہتا ہے کیونکہ cloud traffic بالکل ایک ہی جگہ سے نکلتا ہے۔
Deploy-time سیٹ اپ: environment variables۔
docker-compose اور Kubernetes deployments کے لیے، connection manifest کا حصہ ہو سکتی ہے۔ OPENAI_API_BASE_URL endpoint لیتا ہے اور OPENAI_API_KEY key؛ instance connection پہلے سے موجود کے ساتھ اوپر آتا ہے۔ اگر آپ ایک سے زیادہ remote source چلائیں تو plural forms (OPENAI_API_BASE_URLS اور OPENAI_API_KEYS جن میں values semicolon سے الگ ہوں) کے ذریعے متعدد endpoints سپورٹڈ ہیں۔ دو operational نوٹس۔ پہلی، UI کے ذریعے set کی گئی values Open WebUI کے database میں persist ہوتی ہیں اور first boot کے بعد environment defaults پر ترجیح رکھتی ہیں، ایک documented رویہ جو ان operators کو باقاعدگی سے حیران کرتا ہے جو env بدلتے ہیں اور کچھ ہوتا نہیں دیکھتے؛ Admin Settings میں موجودہ connections adjust کریں، یا ENABLE_PERSISTENT_CONFIG=false set کریں اگر آپ چاہتے ہیں environment authoritative رہے۔ دوسری، اگر endpoint کی model listing بڑی ہو، connection کی Model IDs allowlist استعمال کریں یہ curate کرنے کے لیے کہ آپ کے users کیا دیکھیں؛ ایک چار-item selector استعمال ہوتا ہے، دو-سو-item selector scroll ہو کر رہ جاتا ہے۔ Version نوٹ: project کے تیز release cadence کے پار menu wording بدلتی رہی ہے (Settings بمقابلہ Admin Settings، Connections کے اندر section names)، تو پرانے builds پر جہاں بھی connections موجود ہوں وہاں OpenAI API base URL اور key کا جوڑا ڈھونڈیں۔
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
environment:
- OPENAI_API_BASE_URL=https://api.apisrouter.com/v1
- OPENAI_API_KEY=sk-YOUR-APISROUTER-KEY
ports:
- "3000:8080"Multi-user workspace کے لیے models چننا۔
چونکہ ہر cloud model ایک ہی key پر bill ہوتا ہے، A/B testing ایک selector انتخاب ہے۔ ایک ہی team workload کو دو ہفتوں کے فرق سے دو candidate defaults پر چلائیں اور APIsRouter console میں per-model usage view کو، فی-model اور فی-day، referee کرنے دیں، benchmarks سے اندازہ لگانے کی بجائے۔
- ایک مشترکہ instance میں Default-model انتخاب سب سے زیادہ کام کرتا ہے۔ workspace default کے طور پر claude-haiku-4-5-20251001 یا gemini-3.5-flash casual استعمال کی فی-گفتگو لاگت کو flat رکھتا ہے۔
- claude-sonnet-4-6 اور gpt-5.5 drafting، analysis، اور code سوالات کے لیے selector میں موزوں ہیں؛ users task کے قابل ہونے پر خود اوپر جاتے ہیں۔
- RAG pipelines input tokens بڑھاتے ہیں: ہر answer retrieved chunks لے جاتا ہے۔ deepseek-v4-pro کو RAG workhorse کے طور پر test کرنے کے قابل ہے، جہاں فی-token خرچ پر اس کا long-context رویہ فیصلہ کن trait ہے۔
- واقعی نجی material کو Ollama کے ذریعے local models پر رکھیں اور باقی سب کچھ gateway کے ذریعے route کریں؛ selector دونوں lanes کو ایمانداری سے رکھتا ہے۔
- Model IDs allowlist کو policy کے طور پر استعمال کریں: جو selector میں نہیں وہ usage log پر حیران نہیں کر سکتا۔
استعمال کے مطابق ادائیگی · سرکاری قیمت سے کم
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| ماڈل | سرکاری قیمت | ہماری قیمت |
|---|---|---|
| Claude Haiku 4.5 20251001 | $1.00 / $5.00 per M | $0.80 / $4.00 per M |
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| Gemini 3.5 Flash | $1.50 / $9.00 per M | $1.20 / $7.20 per M |
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
Open WebUI سے مخصوص failure modes۔
Connection شامل کرنے کے بعد کوئی models ظاہر نہ ہونا سب سے عام رپورٹ ہے۔ وجوہات ترتیب میں: key /v1/models کے خلاف fail ہوئی (connection کے verify control سے چیک کریں)، URL میں /v1 suffix غائب ہے، یا connection toggle off ہے۔ Open WebUI selector کو listing کے واپس دیے گئے نتیجے سے بناتا ہے، تو ایک خالی selector کا مطلب ہے listing call fail ہوئی یا کچھ واپس نہیں آیا۔ Environment تبدیلیاں جو نظر انداز ہوتی لگیں وہ اوپر بیان کردہ persistent-config rule ہے: first boot کے بعد، وہ settings جو UI منظم کرتا ہے ان کے لیے database environment پر بھاری ہے۔ Admin Settings میں connection edit کریں یا persistent config واضح طور پر disable کریں۔ کوئی model جو فہرست میں ہو مگر chat پر error دے عموماً ایک ایسی id ہے جو listing دکھاتی ہے مگر آپ کی key استعمال نہیں کر سکتی، یا Model IDs allowlist ہاتھ سے edit کرنے پر آنے والی typo۔ raw /v1/models output سے compare کریں۔ اور debugging کے دوران lanes صاف رکھیں: Ollama connection مسائل اور OpenAI connection مسائل chat window سے بالکل ایک جیسے لگتے ہیں۔ Connections صفحہ دکھاتا ہے کوئی model کس lane سے تعلق رکھتا ہے؛ پوری instance کو down فرض کرنے سے پہلے fail ہونے والی lane کو براہ راست test کریں۔
Open WebUI کو gateway کے ذریعے کون route کرتا ہے۔
- وہ teams جو سب کے لیے ایک chat front end self-host کرتی ہیں اور انفرادی users کو vendor keys جاری کیے بغیر frontier models دستیاب چاہتی ہیں۔
- وہ Ollama users جو نجی کام کے لیے local models رکھتے ہیں مگر ان گفتگوؤں کے لیے اسی selector میں Claude اور GPT quality چاہتے ہیں جنہیں اس کی ضرورت ہے۔
- وہ admins جنہیں cloud bill پڑھنے کے قابل چاہیے: ایک connection، ایک key، اور چار vendors کی رسیدوں کی بجائے ایک per-model usage log۔
- وہ operators جن regions میں کچھ vendor sign-ups مشکل ہیں؛ top-up پر مبنی رسائی بغیر کارڈ کی شرط کے فی-provider انحصار ختم کر دیتی ہے۔
- Homelabbers جو household کے لیے Open WebUI چلاتے ہیں، جہاں ایک prepaid balance کسی بھی subscription سے سمجھنا آسان ہے۔
Endpoint verify کریں اور پہلی chat debug کریں۔
پہلے server سے endpoint ثابت کریں، خاص طور پر containerized deployments میں جہاں container کا network آپ کے laptop کا نہیں۔ host کے اندر سے ایک models listing اور ایک chat completion Open WebUI کی تصویر میں آنے سے پہلے gateway کا حصہ ثابت کرتے ہیں۔ پھر connection شامل کریں اور selector کو بھرتے دیکھیں۔ Authentication errors key field ہیں؛ خالی selector listing call ہے؛ server logs میں ایک دوگنا path (/v1/v1/...) کا مطلب ہے URL field میں پہلے سے /v1 موجود تھا اور کچھ نے ایک اور append کر دیا، تو URL کو بالکل ویسے پڑھیں جیسے وہ save ہوا۔ جب chats چلنے لگیں تو APIsRouter console فی-request model، token counts، اور spend دکھاتا ہے۔ ایک multi-user instance کے لیے یہی وہ نمبر ہے جو اہم ہے: آپ کے users اصل میں کون سے models چنتے ہیں، اور workspace کے ایک ہفتے کی حقیقی لاگت کیا ہے، فی-model، فی-day، ایک صفحے پر۔
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
curl -s https://api.apisrouter.com/v1/chat/completions \
-H "Authorization: Bearer $APISROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude-haiku-4-5-20251001",
"messages":[{"role":"user","content":"ping"}]}'عمومی سوالات
میں Open WebUI میں custom OpenAI API endpoint کیسے شامل کروں؟
Admin Settings میں، Connections کھولیں اور OpenAI API سیکشن کے تحت ایک connection شامل کریں: URL https://api.apisrouter.com/v1 جمع اپنی key۔ Save کریں اور model selector endpoint کی /v1/models فہرست سے بھر جاتا ہے؛ اسے curate کرنے کے لیے Model IDs allowlist استعمال کریں۔
کیا URL کو /v1 suffix چاہیے؟
جی ہاں۔ Open WebUI آپ کے دیے گئے base URL پر /chat/completions جیسے route paths append کرتا ہے، تو صحیح value https://api.apisrouter.com/v1 ہے۔ غائب suffix ایک خالی model list کے طور پر ظاہر ہوتا ہے؛ دوگنا suffix logs میں /v1/v1 404s کے طور پر ظاہر ہوتا ہے۔
کیا میں Ollama اور ایک gateway connection ایک ساتھ چلا سکتا ہوں؟
جی ہاں، اور یہی معیاری setup ہے۔ Ollama connections اور OpenAI API connections الگ sections ہیں جو دونوں model selector کو کھلاتے ہیں، تو local models اور claude-sonnet-4-6 جیسی catalog ids ساتھ ساتھ بیٹھتی ہیں، ہر گفتگو اپنی lane چنتی ہے۔
میری environment variable تبدیلیاں کیوں نظر انداز ہوتی ہیں؟
Open WebUI first boot کے بعد settings کو اپنے database میں persist کرتا ہے، اور persisted values environment defaults پر ترجیح رکھتی ہیں۔ اس کی بجائے Admin Settings میں connection edit کریں، یا ENABLE_PERSISTENT_CONFIG=false set کریں تاکہ environment restarts کے پار authoritative رہے۔
کیا admin connection کے models سب users دیکھتے ہیں؟
Admin Settings میں شامل کیے گئے connections default طور پر پورے workspace کے لیے ہوتے ہیں، آپ کا version جو بھی model-access اور workspace-permission controls پیش کرے ان کے تابع۔ selector کو Model IDs allowlist اور فی-model access settings سے curate کریں، فی-user keys کی بجائے۔
کیا Open WebUI ایک OpenAI connection کے ذریعے Claude اور Gemini تک پہنچ سکتا ہے؟
جی ہاں۔ connection معیاری chat completions بولتی ہے اور model id کو plain string کے طور پر forward کرتی ہے، تو gateway جو بھی id سرو کرے وہ کام کرتی ہے: Claude، Gemini، DeepSeek، اور GPT ids سب ایک URL اور ایک key کے ذریعے۔