Dify apps کو ایک OpenAI-API-compatible endpoint پر چلائیں۔

Updated 2026-07-29

Dify بالکل اسی کے لیے ایک OpenAI-API-compatible provider ساتھ لاتا ہے: اسے Marketplace سے install کریں، ہر model اس کی id، API Base URL کے طور پر https://api.apisrouter.com/v1، اور ایک key کے ساتھ شامل کریں۔ آپ کے chatflows، agents، اور workflows پھر کسی بھی کیٹلاگ model پر چلتے ہیں، Claude اور DeepSeek سمیت۔

فوری جواب: provider install کریں، models کو id سے شامل کریں۔

Dify میں، Settings کھولیں اور Model Provider پر جائیں۔ Dify 1.0 کے بعد سے، providers plugins ہیں: list میں OpenAI-API-compatible (langgenius کی طرف سے شائع شدہ) تلاش کریں یا اسے Marketplace سے install کریں، پھر اس کے card پر Add Model پر کلک کریں۔ Dialog per-model ہے: Model Type چنیں (chat models کے لیے LLM)، Model Name میں کیٹلاگ کی exact id درج کریں، API Key میں اپنی key paste کریں، اور API Base URL کو https://api.apisrouter.com/v1 پر سیٹ کریں۔ Completion mode کو Chat پر رہنے دیں، پھر Model context size اور Upper bound for max tokens کو اس id کی documented limits پر سیٹ کریں جسے آپ شامل کر رہے ہیں۔ Save کریں، اور model provider کی list میں نظر آنے لگتا ہے، ہر app کے model dropdown سے selectable۔ ہر id کے لیے dialog دہرائیں؛ فی model دو منٹ، ایک بار۔

Model Type:                LLM
Model Name:                claude-sonnet-4-6
API Key:                   sk-YOUR-APISROUTER-KEY
API Base URL:              https://api.apisrouter.com/v1
Completion mode:           Chat
Model context size:        200000
Upper bound for max tokens: 64000

Dify ایک compatible provider سے کیسے بات کرتا ہے۔

Dify (GitHub پر langgenius، تقریباً 149K stars) leading open-source LLM app platform ہے: visual workflows، agent nodes، knowledge bases پر RAG pipelines، اور اپنے API endpoints والی published apps۔ اس stack کا ہر LLM node کسی نہ کسی provider کے تحت registered model پر resolve ہوتا ہے۔ OpenAI-API-compatible provider جان بوجھ کر generic ہے۔ آپ کا شامل کردہ ہر model اپنا خودمختار record ہے، id، endpoint، key، limits، اور Dify configured base URL پر standard chat-completions requests بھیجتا ہے جہاں آپ کا Model Name model string ہوتی ہے۔ request میں کچھ بھی اس بات کی پرواہ نہیں کرتا کہ model کس vendor نے train کیا، تو claude-sonnet-4-6 اور deepseek-v4-pro یہاں کسی بھی GPT id جتنے valid ہیں، اور مختلف models مختلف endpoints پر بھی point کر سکتی ہیں اگر آپ کو کبھی وہ چاہیے ہو۔ Per-model registration جو friction جیسا لگتا ہے وہی control surface بھی ہے: آپ کے داخل کردہ context size اور max-tokens values وہ ہیں جنہیں Dify کا orchestrator prompts budget کرنے، conversation history trim کرنے، اور node settings validate کرنے کے لیے استعمال کرتا ہے۔ model کی documentation سے ایماندار numbers درج کریں۔ context زیادہ بتانا ایسی requests پیدا کرتا ہے جنہیں endpoint رد کرے؛ اسے کم بتانا خاموشی سے آپ کے RAG nodes نے جو context retrieve کرنے کی محنت کی وہ truncate کر دیتا ہے۔

وہ fields جو اصل کام کرتی ہیں۔

Model Name وہی wire value ہے: اسے gateway کی /v1/models listing سے حرف بہ حرف میچ ہونا چاہیے، کیونکہ یہ ہر request میں سفر کرتی ہے۔ optional model display name صرف UI کو re-label کرتی ہے۔ موجودہ کیٹلاگ کے ہر model کے لیے Completion mode کو Chat پر رہنا چاہیے؛ Completion option legacy text-completion endpoints کے لیے موجود ہے اور chat models کے خلاف malformed requests پیدا کرتا ہے۔ Model context size اور Upper bound for max tokens وہ جوڑا ہے جسے لوگ جلدی میں چھوڑ دیتے ہیں۔ context size model کی کل window ہے؛ upper bound محدود کرتا ہے کہ node کتنے output tokens مانگ سکتی ہے۔ Dify دونوں کو default 4096 پر رکھتا ہے، جو موجودہ models کی صلاحیت سے کہیں کم ہے، اور defaults کو ویسے ہی چھوڑنا خاموشی سے long-document RAG اور long-form generation کو کمزور کر دیتا ہے۔ انہیں habit سے نہیں، model documentation سے سیٹ کریں۔ Capability selectors اہم ہوتی ہیں جب آپ کی apps انہیں استعمال کریں: Vision Support صرف ان ids کے لیے جو image input قبول کرتی ہیں، اور function-call setting model کی tool-use سپورٹ سے میچ کرے، کیونکہ agent nodes اسی پر انحصار کرتی ہیں۔ غلط capability claim workflow کے اندر runtime پر فیل ہوتی ہے، جو اس dialog سے کہیں سست جگہ ہے debug کرنے کے لیے۔ اگر آپ کی workspace embedding یا rerank models بھی استعمال کرتی ہے، تو وہی provider انہیں انہی base URL کے خلاف اپنی الگ Model Type entries کے تحت register کرتا ہے؛ knowledge-base settings انہیں wire کرنے سے پہلے تصدیق کریں کہ specific ids endpoint پر serve ہوتی ہیں۔

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
# register these ids verbatim as Model Name entries

Workflows اور agents کے لیے models چننا۔

Dify کے اپنے overview pages فی app tokens دکھاتے ہیں، مگر APIsRouter console میں per-key usage view اسی page پر تمام apps پر per-model split شامل کرتا ہے، جو وہی number ہے جو فیصلہ کرتا ہے کہ کون سی id slot رکھے۔

  • Workflow LLM nodes volume والے ہیں: classification، extraction، routing، summarization steps جو ہر run پر چلتے ہیں۔ claude-haiku-4-5-20251001، gpt-5.4-mini، اور gemini-3.5-flash فی-run cost کو flat رکھتے ہیں۔
  • Agent nodes اور پیچیدہ reasoning steps claude-sonnet-4-6 کا حق رکھتے ہیں، اور اس کی بھروسہ مند tool use agents میں raw benchmark scores سے زیادہ اہم ہے۔
  • RAG answer nodes ہر call پر retrieved context لے کر چلتی ہیں، تو input pricing حاوی ہوتی ہے؛ deepseek-v4-pro ٹیسٹ کرنے کے قابل ہے جہاں retrieval بھاری ہو اور جوابات لمبے ہوں۔
  • ایک ہی role کے لیے ایک تیز id اور ایک strong id register کریں اور انہیں فی node A/B کریں: Dify میں، کسی node کا model بدلنا ایک dropdown ہے، migration نہیں۔
  • Published apps اپنی nodes کی model choices inherit کرتی ہیں، تو editor میں آپ کا dropdown فیصلہ ہی اس app کی unit economics ہے جسے آپ ship کرتے ہیں۔

استعمال کے مطابق ادائیگی · سرکاری قیمت سے کم

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.4 mini$0.75 / $4.50 per M$0.60 / $3.60 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

Dify سے مخصوص failure modes۔

Provider list سے غائب ہونے کا مطلب ہے plugin install نہیں ہے: Dify 1.0 کے بعد سے OpenAI-API-compatible provider ایک Marketplace plugin کے طور پر ship ہوتا ہے، اور نئی self-hosted instances اس کے بغیر شروع ہوتی ہیں۔ اسے فی workspace ایک بار install کریں۔ جو model save تو ہو جائے مگر پہلے استعمال پر error دے وہ عموماً تین چیزوں میں سے ایک ہوتی ہے: ایک Model Name جو کیٹلاگ کی spelling سے میچ نہ کرے، ایک base URL جس کا /v1 missing ہو (Dify اس میں /chat/completions جیسے route paths خود append کرتا ہے)، یا context/max-token values جو model کی قبول کردہ حد سے آگے ہوں۔ error app یا workflow log میں سامنے آتا ہے؛ حل واپس Add Model dialog میں ہے۔ Plain chat nodes کے کام کرنے کے باوجود agent nodes کا فیل ہونا function-calling capability setting کی طرف اشارہ کرتا ہے، یا ایسے model کی طرف جس کا tool use agent strategy کی توقع پوری نہ کرے۔ configuration مسائل کو model choice سے الگ کرنے کے لیے پہلے claude-sonnet-4-6 کے خلاف agents ٹیسٹ کریں۔ اور strict egress rules والی self-hosted instances پر یاد رکھیں کہ endpoint تک پہنچنے والا Dify api container ہے، آپ کا browser نہیں؛ اسی container کے اندر سے ایک curl connectivity سوالات جلدی سلجھا دیتا ہے۔

Dify کو gateway کے ذریعے کون route کرتا ہے۔

  • وہ teams جو LLM apps بناتی ہیں اور ہر provider کے لیے vendor account رکھے بغیر فی node Claude، GPT، Gemini، اور DeepSeek منتخب کرنا چاہتی ہیں۔
  • وہ self-hosters جو internal tools کے لیے Dify چلاتے ہیں، جہاں ایک provider میں ایک key پوری workspace کا cloud spend ایک ہی usage log پر رکھتی ہے۔
  • وہ builders جو حقیقی workflows پر models compare کرتے ہیں: ہر candidate ایک Add Model dialog اور ایک dropdown switch ہے، نئی integration نہیں۔
  • وہ developers جن کے پاس کسی مخصوص vendor کی billing تک رسائی نہیں۔ Top-up پر مبنی رسائی بغیر کارڈ کی شرط کے فی-provider sign-up کا انحصار ختم کر دیتی ہے۔
  • وہ agencies جو Dify پر client apps ship کرتی ہیں اور جنہیں per-project keys چاہئیں تاکہ ہر client کا model spend خود reports ہو۔

Endpoint verify کریں اور پہلا run debug کریں۔

پہلے models listing curl کریں اور اس کے output سے ids register کریں؛ ہاتھ سے ٹائپ کیے Model Names not-found errors کی سب سے بڑی وجہ ہیں کیونکہ field free text ہے۔ پھر اسی key کے ساتھ register کی گئی id کے خلاف ایک chat completion چلائیں۔ Dify کے اندر، production workflows wire کرنے سے پہلے ایک scratch app میں ٹیسٹ کریں: ایک LLM node شامل کریں، نیا model select کریں، ایک بار چلائیں۔ Authentication errors API Key field کی طرف اشارہ کرتی ہیں؛ not-found کا مطلب Model Name ہے؛ connection errors base URL یا container egress کی طرف اشارہ کرتی ہیں؛ length errors context اور max-token values کی طرف۔ جب runs چلنے لگیں، APIsRouter console per-request model، token counts، اور spend دکھاتا ہے۔ Workflows LLM calls کو ایسے طریقوں سے ضرب دیتے ہیں جنہیں editor سے اندازہ لگانا مشکل ہے، اور usage log وہی جگہ ہے جہاں ایک five-node pipeline کا حقیقی token profile نظر آتا ہے، فی model، فی دن۔

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"}]}'

عمومی سوالات

میں Dify میں OpenAI-API-compatible provider کیسے شامل کروں؟

Settings، Model Provider، پھر اگر list میں موجود نہ ہو تو Marketplace سے OpenAI-API-compatible plugin install کریں۔ اس کے card پر Add Model پر کلک کریں اور ہر id کو Model Name، API Key، اور API Base URL https://api.apisrouter.com/v1 کے ساتھ register کریں۔

Model context size اور Upper bound for max tokens کیا کنٹرول کرتے ہیں؟

context size Dify کو model کی کل window بتاتی ہے، جو prompts اور history budget کرنے کے لیے استعمال ہوتی ہے؛ upper bound requested output tokens کو محدود کرتا ہے۔ دونوں default 4096 پر ہیں، جو موجودہ models کے لیے بہت کم ہے، تو انہیں register کرتے وقت model کی documented limits سے سیٹ کریں۔

کیا Dify اس provider کے ذریعے Claude یا DeepSeek چلا سکتا ہے؟

جی ہاں۔ Provider Model Name string کو standard chat completions پر آپ کے base URL کی طرف بھیجتا ہے، تو gateway جو بھی id serve کرے وہ چلتی ہے: claude-sonnet-4-6، deepseek-v4-pro، gemini-3.5-flash، اور GPT ids ساتھ ساتھ، سب کے لیے ایک key۔

کیا API Base URL میں /v1 شامل ہونا چاہیے؟

جی ہاں: https://api.apisrouter.com/v1۔ Dify آپ کے درج کردہ URL میں route path append کرتا ہے، تو missing /v1 پہلے استعمال پر connection یا 404 errors پیدا کرتا ہے، اور مکمل /chat/completions path paste کرنا route کو دوگنا کر دیتا ہے۔

کیا ایک configuration میری تمام Dify apps کور کرتی ہے؟

Models فی workspace registered ہوتی ہیں، تو workspace کی ہر app، workflow، اور agent شامل ہونے کے بعد انہیں select کر سکتی ہے۔ متعدد workspaces یا environments یہ سیٹ اپ دہراتی ہیں، جو ہر ایک کو الگ usage reporting کے لیے اپنی key رکھنے دیتا ہے۔

میرے Dify میں OpenAI-API-compatible provider کیوں موجود نہیں؟

Dify 1.0 کے بعد سے، model providers plugins کے طور پر ship ہوتے ہیں، اور self-hosted instances کوئی بھی install کیے بغیر شروع ہوتی ہیں۔ Marketplace کھولیں، langgenius کا OpenAI-API-compatible install کریں، اور card Model Provider settings کے تحت Add Model action کے ساتھ ظاہر ہو جاتا ہے۔