Generic OpenAI দিয়ে AnythingLLM-কে যেকোনো model-এ চালান।
Updated 2026-07-29
AnythingLLM-এর Generic OpenAI provider পুরো app-কে যেকোনো OpenAI-compatible endpoint-এর সাথে connect করে: Base URL https://api.apisrouter.com/v1, এক key, একটা chat model id, এবং honest token limit। Claude, GPT, Gemini, এবং DeepSeek id সবই qualify করে, document, agent, এবং chat একইভাবে।
দ্রুত উত্তর: LLM Preference-এ পাঁচটা field।
AnythingLLM-এর settings খুলুন, AI Providers-এর নিচে LLM section-এ যান (screen-টা ঐতিহাসিকভাবে LLM Preference নামে পরিচিত), এবং provider list-এ Generic OpenAI খুঁজুন। এটা select করলে পাঁচটা field দেখা যায়: Base URL, API Key, Chat Model Name, Token Context Window, এবং Max Tokens। এগুলো এভাবে পূরণ করুন: Base URL https://api.apisrouter.com/v1 (/v1 এই field-এই থাকে), আপনার key, এবং Chat Model Name-এ exact catalog id, উদাহরণস্বরূপ claude-sonnet-4-6। তারপর দুটো সংখ্যা: Token Context Window হলো model-এর মোট window এবং Max Tokens একটা একক response cap করে, তাই আন্দাজ না করে দুটোই model-এর documentation থেকে নিন। Save করুন, এবং system default অনুসরণ করা প্রতিটা workspace এখন gateway দিয়ে chat করে। docs এই provider-কে developer-focused হিসেবে flag করে ঠিক এই কারণেই যে এটা আপনার input trust করে; এটা এটা ব্যবহারের বিরুদ্ধে কোনো warning না, শুধু একটা statement যে পাঁচটা field একটা contract।
Base URL: https://api.apisrouter.com/v1
API Key: sk-YOUR-APISROUTER-KEY
Chat Model Name: claude-sonnet-4-6
Token Context Window: 200000
Max Tokens: 8192Generic OpenAI provider আসলে কী চালায়।
AnythingLLM (GitHub-এ Mintplex Labs, প্রায় 63K star) হলো all-in-one private document assistant: workspace যা আপনার file embed করে, retrieved context-এ grounded chat, tool use সহ agent, একটা desktop app এবং একটা self-hosted server হিসেবে উপলব্ধ। উপরে configure করা LLM preference-ই এই সবকিছুর জন্য default brain। Request standard chat completions হিসেবে আপনার Base URL-এর বিরুদ্ধে বের হয়, model string হিসেবে Chat Model Name সহ, তাই vendor গুরুত্বপূর্ণ না: একটা Claude id ঠিক একটা GPT id-র মতোই valid, এবং switch করা মানে একটা field edit করা। Workspace তাদের নিজস্ব provider এবং model setting দিয়ে system default-ও override করতে পারে, যা কীভাবে এক deployment legal workspace-এর জন্য claude-sonnet-4-6 এবং engineering-এর জন্য gpt-5.5 চালায় একে অপরকে না জেনেই, তার ব্যাখ্যা। দুটো token field respect পাওয়ার যোগ্য কারণ AnythingLLM এগুলো context budget করতে ব্যবহার করে। context window value ঠিক করে প্রতিটা request-এ কতটা retrieved document text এবং chat history packed হবে; একে understate করলে আপনার carefully embed করা document তাদের নিজের answer থেকে trim হয়ে যায়, এবং overstate করলে request model-এর real limit-এ গিয়ে ধাক্কা খায়। এই field pair-ই generic endpoint-এ বেশিরভাগ "RAG feels dumb" report-এর পেছনে।
Embedding একটা আলাদা decision।
AnythingLLM LLM preference-কে embedding preference থেকে আলাদা করে, এবং এই split load-bearing। chat model প্রশ্নের উত্তর দেয়; embedder upload time-এ আপনার document-কে vector-এ পরিণত করে, এবং সেই vector persist করে। chat model পাল্টানো বিনামূল্যে, যেকোনো দিন, প্রতি workspace। embedder পাল্টালে ইতিমধ্যে embed হওয়া সবকিছুর geometry invalidate হয়ে যায় এবং আপনার document পুনরায় embed করতে হয়। Practical setup: AnythingLLM একটা built-in local embedder শিপ করে যা offline কাজ করে এবং কোনো খরচ হয় না, এবং অনেক deployment এটাই রেখে দেয়। যদি এর বদলে embedding preference-কে একটা remote endpoint-এ point করেন, আপনার document base upload করার আগে confirm করুন specific embedding id সেখানে served কিনা, এবং সেই choice-কে vector store-এর সাথে married হিসেবে treat করুন। এটা যে স্বাধীনতা chat side-এ কেনে সেটাই architecture-এর মূল কথা: embedding settled হয়ে গেলে, Generic OpenAI chat model একটা low-stakes dial। এক মাস heavy summarization-এর জন্য deepseek-v4-pro চালান, client work-এর এক quarter-এর জন্য field-কে claude-sonnet-4-6-এ পাল্টান, এবং আপনার document সম্পর্কে কিছুই move করার দরকার নেই।
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
# Chat Model Name must match one of these ids exactlyDocument কাজের জন্য model বেছে নেওয়া।
প্রতিটা id একই key দিয়ে bill হয়, তাই comparison loop একটা settings edit: একই workspace, একই document, প্রতি candidate-এ দুই সপ্তাহ, এবং APIsRouter console-এ per-model spend আপনার নিজের উত্তরের বিচারের পাশে।
- Retrieved chunk-এর উপর Grounded QA input-heavy: claude-haiku-4-5-20251001 এবং gemini-3.5-flash volume price-এ citation-following প্রশ্নের ভালো উত্তর দেয়।
- যেখানে উত্তর মানুষের কাছে unedited যায় সেখানে claude-sonnet-4-6 default হওয়ার যোগ্য: contract review, report drafting, consequence আছে এমন যেকোনো কিছু।
- বড় document-এর উপর বানানো workspace-এর জন্য deepseek-v4-pro হলো long-context workhorse, যেখানে window এবং input pricing অভিজ্ঞতায় প্রাধান্য পায়।
- Agent workspace-এর dependable tool calling দরকার; agent-কে claude-sonnet-4-6-এ শুরু করুন, তারপর test করুন একটা lighter id আপনার আসল flow-এ টেকে কিনা।
- Per-workspace override-কে policy হিসেবে ব্যবহার করুন: default fast থাকে, এবং expensive id শুধু সেসব workspace-এ থাকে যাদের কাজ এটার যোগ্য।
ব্যবহার অনুযায়ী পেমেন্ট · অফিশিয়াল মূল্যের নিচে
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.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 |
AnythingLLM-specific failure mode।
Token field-ই subtle failure ঘটায়। খুব কম set করা একটা context window নীরবে retrieved context truncate করে, যা এমন একটা model হিসেবে দেখা যায় যা আপনার document ignore করছে; Chat Model Name-এর id-এর জন্য documented window সেট করুন। model-এর জন্য খুব বেশি set করা Max Tokens লম্বা উত্তরে hard error তৈরি করে; model output-এর জন্য যা আসলে allow করে তাতেই সেট করুন। Hard error বেশি honest। Authentication failure হলো API Key field। Model-not-found মানে Chat Model Name catalog spelling থেকে drift করেছে; field free text এবং /v1/models listing-ই source of truth। Desktop app-এ connection error সাধারণত মানে app এবং endpoint-এর মাঝে একটা proxy বা firewall; Docker deployment-এ, মনে রাখবেন container-কেই Base URL-এ পৌঁছাতে হবে, আপনার browser-কে না। যদি chat কাজ করে কিন্তু একটা workspace প্রত্যাশার চেয়ে ভিন্ন behave করে, এর override setting check করুন; workspace-level provider setting system default-এর উপর জেতে, এবং ভুলে যাওয়া একটা override হলো classic "same question, different model" রহস্য। docs-এর developer-focused framing উপরের সবকিছু summarize করে: provider ঠিক সেটাই করে যা এর পাঁচটা field বলে, কম না, বেশিও না।
কারা একটা gateway দিয়ে AnythingLLM route করে।
- Team যারা private document assistant চালায় এবং প্রতি model family-তে একটা vendor account ছাড়াই frontier answer quality চায়।
- Desktop user যারা তাদের ব্যক্তিগত document base-কে prepaid balance-এ Claude বা GPT id-তে point করে, শুরুতে কোনো card ছাড়া।
- Self-hoster যারা built-in local embedder রাখে এবং remote chat-কে একমাত্র metered lane হিসেবে treat করে, এক usage log-এ per model পড়া হয়।
- Workspace-এ segmented deployment, যেখানে per-workspace override প্লাস per-key metering প্রতিটা team-কে তার নিজস্ব model এবং নিজস্ব bill দেয়।
- Builder যারা একটা fixed document base-এ answer model তুলনা করছে, যেখানে প্রতিটা candidate একটা migration না বরং একটা settings edit।
Endpoint verify করুন এবং প্রথম workspace chat debug করুন।
প্রথমে model listing এবং একটা chat completion curl করুন, Chat Model Name-এ যে exact id দিতে চান সেটা ব্যবহার করে। দুটোই pass করলে, gateway অংশ প্রমাণিত এবং বাকি প্রতিটা symptom পাঁচটা field-এর মধ্যেই থাকে। তারপর provider setting save করুন এবং ভালো চেনেন এমন একটা document সহ একটা workspace-এ একটা প্রশ্ন জিজ্ঞাসা করুন। একটা grounded, citing উত্তর মানে পুরো pipeline কাজ করছে। যে উত্তর document ignore করে তা context window value বা workspace-এর নিজস্ব retrieval setting-এর দিকে ইঙ্গিত করে। Hard error পরিষ্কারভাবে map হয়: key, id spelling, Base URL shape। একবার chat চললে, APIsRouter console per-request model, token count, এবং spend দেখায়। Document QA retrieval দিয়ে input token বহুগুণ করে, এবং usage log-ই হলো যেখানে আপনি শেখেন আপনার document base আসলে query করতে কত খরচ হয়, per model, per day, এবং আলাদা করলে per workspace key।
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"}]}'সাধারণ প্রশ্ন
AnythingLLM-এ আমি কীভাবে একটা কাস্টম Base URL সেট করব?
settings-এ AI Providers-এর নিচে, LLM preference screen খুলুন এবং provider list থেকে Generic OpenAI বেছে নিন। Base URL-কে https://api.apisrouter.com/v1-এ সেট করুন, আপনার key যোগ করুন, Chat Model Name-এ exact catalog id দিন, এবং model-এর documentation থেকে দুটো token field পূরণ করুন।
Token Context Window এবং Max Tokens কী নিয়ন্ত্রণ করে?
context window AnythingLLM-কে বলে প্রতি request কতটা retrieved text এবং history packed হতে পারে; Max Tokens একটা single response cap করে। window understate করলে আপনার document উত্তর থেকে trim হয়ে যায়, এবং যেকোনোটা overstate করলে model প্রত্যাখ্যান করে এমন request তৈরি হয়।
AnythingLLM কি Generic OpenAI দিয়ে Claude বা DeepSeek চালাতে পারে?
হ্যাঁ। provider standard chat completions-এর মাধ্যমে Chat Model Name-কে Base URL-এ একটা plain string হিসেবে পাঠায়, তাই claude-sonnet-4-6, deepseek-v4-pro, gemini-3.5-flash, এবং GPT id সবই কাজ করে, একটা field edit করে বা per workspace switchable।
chat model পাল্টানো কি আমার embedded document-কে প্রভাবিত করে?
না। Chat এবং embedding preference আলাদা; vector persist করে এবং chat model অবাধে swap হয়। শুধু embedder পাল্টানোই existing vector invalidate করে এবং re-embedding বাধ্য করে, যে কারণে অনেক deployment built-in local embedder রেখে দেয় এবং শুধু chat side tune করে।
docs page কেন Generic OpenAI-কে developer-focused বলে?
কারণ এটা per-vendor preset শিপ করার বদলে আপনার input trust করে: ভুল id, URL, বা token value form-এ ধরা না পড়ে runtime-এ fail করে। /v1/models থেকে copy করা id এবং model documentation থেকে নেওয়া limit সহ, এটা একটা stable, first-class path।
ভিন্ন workspace কি ভিন্ন model ব্যবহার করতে পারে?
হ্যাঁ। Workspace system default inherit করে কিন্তু তাদের নিজস্ব chat setting-এ provider এবং model override করতে পারে, তাই এক deployment default-এ একটা fast id চালাতে পারে এবং শুধু সেসব workspace-এ claude-sonnet-4-6 pin করতে পারে যাদের কাজ এটার যোগ্য।