Dify app-কে একটা 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। আপনার chatflow, agent, এবং workflow তখন যেকোনো catalog model-এ চলে, Claude এবং DeepSeek সহ।
দ্রুত উত্তর: provider install করুন, id দিয়ে model যোগ করুন।
Dify-তে, Settings খুলুন এবং Model Provider-এ যান। Dify 1.0 থেকে, provider হলো plugin: list-এ OpenAI-API-compatible (langgenius publish করা) খুঁজুন অথবা Marketplace থেকে install করুন, তারপর এর card-এ Add Model click করুন। Dialog-টা per-model: Model Type বেছে নিন (chat model-এর জন্য LLM), Model Name-এ exact catalog 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 limit-এ সেট করুন। Save করুন, এবং model provider-এর list-এ দেখা যাবে, প্রতিটা app-এর model dropdown থেকে selectable। প্রতিটা id-র জন্য dialog repeat করুন; প্রতি 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: 64000Dify কীভাবে একটা compatible provider-এর সাথে কথা বলে।
Dify (GitHub-এ langgenius, প্রায় 149K star) হলো leading open-source LLM app platform: visual workflow, agent node, knowledge base-এর উপর RAG pipeline, এবং নিজস্ব API endpoint সহ published app। সেই stack-এর প্রতিটা LLM node কোনো না কোনো provider-এর নিচে registered একটা model resolve করে। OpenAI-API-compatible provider ইচ্ছাকৃতভাবে generic। আপনার যোগ করা প্রতিটা model একটা self-contained record: id, endpoint, key, limit, এবং Dify configured base url-এ আপনার Model Name-কে model string হিসেবে সহ standard chat-completions request পাঠায়। Request-এর কিছুই গুরুত্ব দেয় না কোন vendor model train করেছে, তাই claude-sonnet-4-6 এবং deepseek-v4-pro এখানে যেকোনো GPT id-র মতোই valid, এবং প্রয়োজন হলে ভিন্ন model এমনকি ভিন্ন endpoint-এও point করতে পারে। Per-model registration যা friction-এর মতো মনে হয় সেটাই control surface: আপনার লেখা context size এবং max-tokens value-ই Dify-র orchestrator prompt budget করতে, conversation history trim করতে, এবং node setting validate করতে ব্যবহার করে। model-এর documentation থেকে honest সংখ্যা দিন। Context overstate করলে endpoint প্রত্যাখ্যান করে এমন request তৈরি হয়; understate করলে আপনার RAG node retrieve করার জন্য যা কাজ করেছে সেই context নীরবে truncate হয়ে যায়।
যেসব field আসলে কাজ করে।
Model Name হলো wire value: এটা অবশ্যই gateway-এর /v1/models listing-এর সাথে character অক্ষরে অক্ষরে মিলতে হবে, যেহেতু এটা প্রতিটা request-এ ভ্রমণ করে। optional model display name শুধু UI-কে relabel করে। বর্তমান catalog-এর প্রতিটা model-এর জন্য Completion mode Chat-এই থাকা উচিত; Completion option legacy text-completion endpoint-এর জন্য বিদ্যমান এবং chat model-এর বিরুদ্ধে malformed request তৈরি করে। Model context size এবং Upper bound for max tokens হলো সেই জোড়া যা মানুষ তাড়াহুড়ো করে। Context size হলো model-এর মোট window; upper bound সীমাবদ্ধ করে একটা node কতগুলো output token request করতে পারে। Dify দুটোই 4096-এ default করে, যা current model যা সাপোর্ট করে তার চেয়ে অনেক কম, এবং default রেখে দিলে নীরবে long-document RAG এবং long-form generation পঙ্গু হয়ে যায়। অভ্যাস থেকে না, model documentation থেকে এগুলো সেট করুন। আপনার app যখন সেগুলো ব্যবহার করে তখন capability selector গুরুত্বপূর্ণ হয়: Vision Support শুধু সেসব id-র জন্য যা image input accept করে, এবং function-call setting model-এর tool-use সাপোর্টের সাথে মেলাতে হবে, যেহেতু agent node এটার উপর নির্ভর করে। একটা ভুল capability claim workflow-এর ভেতরে runtime-এ fail করে, যা এই dialog-এর চেয়ে debug করা ধীর জায়গা। আপনার workspace যদি embedding বা rerank model-ও ব্যবহার করে, একই provider একই base url-এর বিরুদ্ধে তাদের নিজস্ব Model Type entry-র নিচে register করে; knowledge-base setting সেগুলোতে wire করার আগে confirm করুন specific id endpoint দিয়ে served কিনা।
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
# register these ids verbatim as Model Name entriesWorkflow এবং agent-এর জন্য model বেছে নেওয়া।
Dify-র নিজস্ব overview page প্রতি app token দেখায়, কিন্তু APIsRouter console-এর per-key usage view একই page-এর সব app জুড়ে per-model split যোগ করে, যা ঠিক করে দেয় কোন id slot ধরে রাখে।
- Workflow LLM node volume কাজ: classification, extraction, routing, summarization step যা প্রতি run-এ fire করে। claude-haiku-4-5-20251001, gpt-5.4-mini, এবং gemini-3.5-flash per-run cost flat রাখে।
- Agent node এবং complex reasoning step claude-sonnet-4-6-এর যোগ্য, এবং raw benchmark score-এর চেয়ে agent-এ এর dependable tool use বেশি গুরুত্বপূর্ণ।
- RAG answer node প্রতি call-এ retrieved context বহন করে, তাই input pricing প্রাধান্য পায়; retrieval heavy এবং উত্তর লম্বা এমন জায়গায় deepseek-v4-pro test করার যোগ্য।
- একই role-এর জন্য একটা fast id এবং একটা strong id register করুন এবং প্রতি node A/B test করুন: Dify-তে, একটা node-এর model পাল্টানো একটা dropdown, migration না।
- Published app তাদের node-এর model choice inherit করে, তাই editor-এ আপনি যে dropdown decision নেন সেটাই আপনার ship করা app-এর unit economics।
ব্যবহার অনুযায়ী পেমেন্ট · অফিশিয়াল মূল্যের নিচে
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-specific failure mode।
list-এ provider missing মানে plugin install করা হয়নি: Dify 1.0 থেকে OpenAI-API-compatible provider একটা Marketplace plugin হিসেবে শিপ করে, এবং fresh self-hosted instance এটা ছাড়াই শুরু হয়। প্রতি workspace-এ একবার install করুন। যে model save হয় কিন্তু প্রথম ব্যবহারে error করে সেটা সাধারণত তিনটার একটা: একটা Model Name যা catalog spelling-এর সাথে মেলে না, একটা base URL যাতে /v1 নেই (Dify আপনার লেখা value-তে /chat/completions-এর মতো route path append করে), অথবা model যা accept করে তার বাইরে context/max-token value। error app বা workflow log-এ surface করে; fix আবার Add Model dialog-এ। Plain chat node কাজ করলেও agent node fail করলে তা function-calling capability setting-এর দিকে, বা এমন একটা model-এর দিকে ইঙ্গিত করে যার tool use agent strategy যা আশা করে তা পূরণ করে না। configuration সমস্যা আর model choice আলাদা করতে আগে claude-sonnet-4-6-এর বিরুদ্ধে agent test করুন। এবং strict egress rule-এর পেছনে থাকা self-hosted instance-এ, মনে রাখবেন Dify api container-কেই endpoint-এ পৌঁছাতে হবে, আপনার browser-কে না; সেই container-এর ভেতর থেকে একটা curl দ্রুত connectivity প্রশ্ন মিটিয়ে দেয়।
কারা একটা gateway দিয়ে Dify route করে।
- Team যারা LLM app বানায় এবং প্রতি provider-এ vendor account maintain না করে প্রতি node-এ Claude, GPT, Gemini, এবং DeepSeek selectable চায়।
- Internal tool-এর জন্য Dify চালানো Self-hoster, যেখানে এক provider-এ এক key পুরো workspace-এর cloud spend-কে একটা usage log-এ রাখে।
- Builder যারা real workflow-এ model তুলনা করছে: প্রতিটা candidate একটা Add Model dialog এবং একটা dropdown switch, নতুন integration না।
- Developer যাদের কোনো নির্দিষ্ট vendor-এর billing-এ access নেই। কোনো card requirement ছাড়া Top-up based access per-provider sign-up dependency সরিয়ে দেয়।
- Agency যারা Dify-তে client app ship করে এবং প্রতি project-এ key দরকার যাতে প্রতিটা client-এর model spend নিজেই report করে।
Endpoint verify করুন এবং প্রথম run debug করুন।
প্রথমে model listing curl করুন এবং output থেকে id register করুন; hand-typed Model Name not-found error-এর প্রধান কারণ কারণ field free text। তারপর একই key দিয়ে আপনার register করা id-র বিরুদ্ধে একটা chat completion চালান। Dify-র ভেতরে, production workflow wire করার আগে একটা scratch app-এ test করুন: একটা LLM node যোগ করুন, নতুন model select করুন, একবার চালান। Authentication error API Key field-এর দিকে ইঙ্গিত করে; not-found Model Name-এর দিকে; connection error base URL বা container egress-এর দিকে; length error context এবং max-token value-র দিকে। একবার run চললে, APIsRouter console per-request model, token count, এবং spend দেখায়। Workflow এমনভাবে LLM call বহুগুণ করে যা editor থেকে চোখে আন্দাজ করা কঠিন, এবং usage log-ই হলো যেখানে একটা five-node pipeline-এর real token profile visible হয়, per model, per day।
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 click করুন এবং Model Name, API Key, এবং API Base URL https://api.apisrouter.com/v1 দিয়ে প্রতিটা id register করুন।
Model context size এবং Upper bound for max tokens কী নিয়ন্ত্রণ করে?
Context size Dify-কে model-এর মোট window বলে, prompt এবং history budget করতে ব্যবহৃত; upper bound requested output token সীমাবদ্ধ করে। দুটোই default 4096, যা current model-এর জন্য খুব কম, তাই register করার সময় model-এর documented limit থেকে সেট করুন।
Dify কি এই provider দিয়ে Claude বা DeepSeek চালাতে পারে?
হ্যাঁ। provider standard chat completions-এর মাধ্যমে আপনার base url-এ Model Name string পাঠায়, তাই gateway যে id-ই serve করুক তা কাজ করে: claude-sonnet-4-6, deepseek-v4-pro, gemini-3.5-flash, এবং GPT id পাশাপাশি, সবার জন্য এক key।
API Base URL-এ কি /v1 অন্তর্ভুক্ত থাকা উচিত?
হ্যাঁ: https://api.apisrouter.com/v1। Dify আপনার লেখা value-তে route path append করে, তাই একটা missing /v1 প্রথম ব্যবহারে connection বা 404 error তৈরি করে, এবং পূর্ণ /chat/completions path paste করলে route দ্বিগুণ হয়ে যায়।
একটা configuration কি আমার সব Dify app কভার করে?
Model প্রতি workspace-এ register হয়, তাই যোগ করার পর workspace-এর প্রতিটা app, workflow, এবং agent তাদের select করতে পারে। একাধিক workspace বা environment setup repeat করে, যা প্রতিটাকে আলাদা usage reporting-এর জন্য নিজস্ব key রাখতেও দেয়।
আমার Dify-তে OpenAI-API-compatible provider কেন missing?
Dify 1.0 থেকে, model provider plugin হিসেবে শিপ করে, এবং self-hosted instance কোনোটা install করা ছাড়াই শুরু হয়। Marketplace খুলুন, langgenius-এর OpenAI-API-compatible install করুন, এবং card Model Provider setting-এর নিচে Add Model action সহ দেখা যাবে।