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: 64000

Dify কীভাবে একটা 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 entries

Workflow এবং 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 সহ দেখা যাবে।