আপনার Khoj second brain-কে একটা কাস্টম OpenAI base URL-এ চালান।

Updated 2026-07-29

Khoj দুটো surface সহ একটা OpenAI-proxy setup document করে: একটা OPENAI_BASE_URL environment variable যা প্রথম run-এ model seed করে, এবং admin panel-এ একটা Api Base Url field সহ একটা AI Model API entry। যেকোনোটাকে https://api.apisrouter.com/v1-এ point করুন এবং chat, agent, এবং automation যেকোনো catalog model-এ চলবে।

দ্রুত উত্তর: প্রথম run-এ env var, যেকোনো সময় admin panel।

Khoj-এর self-hosting compose file একটা commented OPENAI_BASE_URL line বহন করে যা, নিজের ভাষায়, অন্য OpenAI API compatible provider-এর জন্য উদ্দিষ্ট। প্রথম startup-এর আগে এটাকে https://api.apisrouter.com/v1-এ সেট করুন OPENAI_API_KEY-তে একটা gateway key সহ, এবং Khoj-এর initialization অস্বাভাবিকভাবে helpful কিছু করে: এটা endpoint-এর model list query করে এবং endpoint serve করা প্রতিটা id দিয়ে এর chat-model table seed করে, তাই catalog manual entry ছাড়াই Khoj-এর model picker-এ দেখা যায়। একটা ইতিমধ্যে-initialized server-এ, এর বদলে admin panel ব্যবহার করুন। একটা AI Model API entry তৈরি করুন (field: Name, Api Key, Api Base Url) gateway-তে point করে, তারপর Chat Model entry তৈরি করুন যাদের Name exact model id, Model Type Openai-তে সেট, এবং সেই AI Model API-এর সাথে linked। দুটো surface-ই docs.khoj.dev-এ Khoj-এর OpenAI-proxy guide-এ documented।

services:
  server:
    environment:
      - OPENAI_BASE_URL=https://api.apisrouter.com/v1
      - OPENAI_API_KEY=sk-YOUR-APISROUTER-KEY

Khoj তার chat model দিয়ে আসলে কী করে।

Khoj (GitHub-এ khoj-ai, প্রায় 36K star) হলো একটা self-hostable AI second brain: এটা আপনার note এবং document index করে (markdown, org-mode, PDF, এবং আরো অনেক কিছু), তারপর আপনাকে সেগুলোর উপর chat করতে দেয়, নিজস্ব persona এবং tool সহ কাস্টম agent চালায়, cron-এ fire করা automation schedule করে, এবং multi-step research run launch করে। একটা hosted app আছে, কিন্তু কাস্টম endpoint যেখানে প্রযোজ্য সেই self-hosted server-ই, এবং এই page যে deployment বর্ণনা করছে সেটাই। সেই feature-গুলোর প্রতিটাই আপনার select করা chat model-এর মধ্য দিয়ে funnel হয়। Document chat prompt-এ retrieved note chunk packs করে, agent tool call এবং persona instruction যোগ করে, automation একই pipeline unattended চালায়, এবং research mode প্রতি প্রশ্নে অনেক model call chain করে। Model Type Openai Khoj-কে linked AI Model API entry-র Api Base Url-এ /v1/chat/completions বলতে বলে, model Name-কে plain string হিসেবে forward করে, যে কারণে endpoint যতক্ষণ এটা serve করে ততক্ষণ একটা Claude বা DeepSeek id সেখানে কাজ করে। Search embedding একটা আলাদা subsystem। Khoj default-এ একটা local sentence-transformers model দিয়ে আপনার document embed করে, তাই chat endpoint-এ আপনি যা-ই করুন না কেন indexing এবং semantic search কাজ করতে থাকে। Gateway দিয়ে chat route করলে শুধু reasoning bill move হয়।

সম্পূর্ণ সেটআপ: admin panel entry ধাপে ধাপে।

একটা চলমান server-এ, পুরো integration তিনটা admin screen। প্রথমে, AI Model API যোগ করুন: /server/admin/database/aimodelapi/add খুলুন, নাম দিন, gateway key Api Key-তে paste করুন, এবং Api Base Url-কে https://api.apisrouter.com/v1-এ সেট করুন। দ্বিতীয়ত, chat model যোগ করুন: /server/admin/database/chatmodel/add-এ, Name-কে একটা exact catalog id-তে সেট করুন (claude-sonnet-4-6, deepseek-v4-flash), Model Type-কে Openai-তে সেট করুন, আপনার এইমাত্র বানানো Ai Model Api entry link করুন, এবং Max prompt size-কে এমন একটা value সেট করুন যা model-এর context window-তে fit করে। docs OpenAI-type model-এর জন্য Tokenizer unset রাখার পরামর্শ দেয়। picker-এ চাওয়া প্রতিটা model-এর জন্য repeat করুন। তৃতীয়ত, model select করুন: /settings-এ, আপনার নতুন chat model default হিসেবে বেছে নিন। Agent প্রতি agent model override করতে পারে, যা কীভাবে এক Khoj instance দৈনিক automation-এর জন্য একটা fast id এবং research-এর জন্য একটা frontier id চালায়।

1) /server/admin/database/aimodelapi/add
   Name:         APIsRouter
   Api Key:      sk-YOUR-APISROUTER-KEY
   Api Base Url: https://api.apisrouter.com/v1

2) /server/admin/database/chatmodel/add
   Name:         claude-sonnet-4-6   (exact catalog id)
   Model Type:   Openai
   Ai Model Api: APIsRouter
   Max prompt size: 100000

3) /settings -> select the new chat model

একটা second brain-এর জন্য model বেছে নেওয়া।

যেহেতু chat model এক AI Model API-এর বিরুদ্ধে যোগ করা row, picker-এ দুই-তিনটা id রাখার কোনো খরচ নেই। Practical setup একটা fast default প্লাস একটা frontier escalation, দুটোই একই key দিয়ে bill হয় যাতে usage log দেখায় আপনার note-এ প্রতিটা tier আসলে কত খরচ করে।

  • Document chat input-heavy: retrieved note chunk উত্তরকে ছাড়িয়ে যায়। Per-input-token price প্রতি প্রশ্নের cost চালায়, যা everyday recall-এর জন্য claude-haiku-4-5-20251001, deepseek-v4-flash, বা gemini-3.5-flash-কে সুবিধা দেয়।
  • Research mode call বহুগুণ করে। একটা research প্রশ্ন অনেক model turn chain করতে পারে, তাই সেখানে assign করা id অন্য যেকোনো setting-এর চেয়ে বেশি bill move করে; claude-sonnet-4-6 balanced pick, gpt-5.4 escalation।
  • Scheduled automation unattended চলে। এটাকে একটা subscription-এর মতো price করুন: প্রতিদিন call গুণ প্রতি call token, যা ঠিক সেটাই যা per-key usage log report করে।
  • Personal knowledge contradiction-rich (plan পাল্টায়, note stale হয়ে যায়), এবং conflicting note blend করার বদলে flag করায় model আলাদা হয়; commit করার আগে একই প্রশ্ন সেটে দুটো id test করুন।
  • Khoj-এ Max prompt size per chat model, তাই একটা long-context id শুধু তখনই লাভজনক যখন সেই field-কে মিলিয়ে raise করেন।

ব্যবহার অনুযায়ী পেমেন্ট · অফিশিয়াল মূল্যের নিচে

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$2.50 / $15.00 per M$2.00 / $12.00 per M
DeepSeek V4 Flash$0.14 / $0.28 per M$0.10 / $0.30 per M
Gemini 3.5 Flash$1.50 / $9.00 per M$1.20 / $7.20 per M

Khoj-specific failure mode।

env var একটা first-run seed, live setting না। Initialization-এর সময় OPENAI_BASE_URL পড়া হয় provider entry তৈরি করতে এবং model discover করতে; ইতিমধ্যে initialized একটা server-এ, compose file edit করা visible কিছু পাল্টায় না। প্রথম boot-এর পরে change-এর জন্য admin panel ব্যবহার করুন, বা genuinely একটা fresh seed চাইলে database reset করুন। placeholder-key trap: যখন OPENAI_API_KEY ছাড়া OPENAI_BASE_URL সেট করা হয়, Khoj key-কে একটা placeholder দিয়ে fill করে যাতে Ollama-র মতো local server কাজ করে। একটা gateway-এর real key দরকার, তাই যদি প্রথম-run seeding একটা ছাড়াই হয়ে থাকে, admin panel-এ AI Model API entry-তে key paste না করা পর্যন্ত chat authentication error দিয়ে fail করে। Auto-discovery সবকিছু seed করে। যেহেতু initialization endpoint serve করা প্রতিটা model list করে, একটা multi-vendor gateway একটা লম্বা model table seed করতে পারে। ক্ষতিকর না, কিন্তু admin panel-এ prune করার যোগ্য যাতে picker usable থাকে। Chat model Name exact। Khoj এটা verbatim forward করে; একটা typo প্রথম message-এ model-not-found হিসেবে surface করে, এবং gateway-এর /v1/models output-ই authoritative spelling। এবং যদি আপনার note-এর উপর semantic search misbehave করে, সেটা local embedding subsystem, chat endpoint-এর সাথে অসম্পর্কিত।

কারা একটা gateway দিয়ে Khoj route করে।

  • Self-hoster যারা প্রতি model family-তে vendor account ছাড়াই তাদের note-এর উপর frontier-model chat চায়; এক key Claude, GPT, DeepSeek, এবং Gemini id কভার করে।
  • User যারা প্রতিদিন scheduled automation চালান, যেখানে একটা fast id recurring cost flat রাখে এবং usage log এটাকে visible করে।
  • Privacy-minded setup যা indexing এবং embedding local রাখে এবং শুধু chat prompt একটা auditable endpoint-এ expose করে।
  • Tinkerer যারা একই personal corpus-এ chat model তুলনা করছে: প্রতিটা candidate একই AI Model API-এর বিরুদ্ধে একটা chat-model row।
  • Developer যাদের কোনো নির্দিষ্ট vendor-এর billing-এ access নেই। কোনো card requirement ছাড়া Top-up based access per-provider sign-up dependency সরিয়ে দেয়।

Endpoint verify করুন এবং প্রথম chat debug করুন।

প্রথমে gateway check করুন: আপনার key দিয়ে model list করুন এবং register করতে চাওয়া id confirm করুন। Khoj-এর নিজস্ব auto-discovery প্রথম-run seeding-এর সময় একই call করে, তাই এই curl কাজ করলে, seeding-ও করবে। Failure পরিষ্কারভাবে localize হয়। Authentication error মানে AI Model API entry-তে Api Key ভুল বা এখনো seeded placeholder। Model-not-found মানে একটা chat model Name catalog spelling-এর সাথে মেলে না। যে response মাঝপথে কেটে যায় তা সাধারণত মানে Max prompt size বা model-এর output ceiling conversation-এর জন্য খুব কম সেট। Indexing এবং search সমস্যা local embedding pipeline এবং endpoint-এর সাথে কোনো সম্পর্ক নেই। একবার chat চললে, APIsRouter console per-request model, token count, এবং spend দেখায়। Automation এবং research run-ই যেখানে second-brain cost লুকিয়ে থাকে, এবং per-key usage-ই কীভাবে আপনি per feature সেটা দেখেন এক মাসিক surprise-এর বদলে।

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

সাধারণ প্রশ্ন

Khoj কি একটা OpenAI-compatible proxy বা gateway সাপোর্ট করে?

হ্যাঁ, একটা documented setup হিসেবে: endpoint-এ point করা একটা Api Base Url সহ একটা AI Model API entry তৈরি করুন, তারপর Model Type Openai সহ chat model যোগ করুন। compose file প্রথম-run seeding-এর জন্য OPENAI_BASE_URL-ও expose করে।

Khoj কি এর মাধ্যমে Claude বা DeepSeek model-এর সাথে chat করতে পারে?

হ্যাঁ। Model Type Openai chat model Name-কে /v1/chat/completions-এর মাধ্যমে Api Base Url-এ একটা plain string হিসেবে forward করে। gateway যে id-ই serve করুক তা কাজ করে, Claude, DeepSeek, GLM, এবং Gemini id সহ।

docker-compose-এ OPENAI_BASE_URL পাল্টানো কেন কিছু করেনি?

variable-টা শুধু প্রথম-run initialization-এর সময় provider এবং model seed করে। একটা initialized server-এ, এর বদলে admin panel-এ AI Model API entry edit করুন; সেটাই live setting।

কাস্টম base URL কি Khoj-এর document search-কে প্রভাবিত করে?

না। Khoj default-এ একটা local sentence-transformers model দিয়ে আপনার document embed এবং search করে। AI Model API entry শুধু chat, agent, automation, এবং research move করে।

Chat model entry-তে Max prompt size কী?

একটা per-model cap যে Khoj একটা request-এ কতটা prompt packs করে তার উপর। model-এর context window-তে fit করার জন্য এটা সেট করুন; খুব কম হলে retrieved note truncate হয়ে যায়, এবং একটা long-context id শুধু তখনই সাহায্য করে যদি এই field-কে মিলিয়ে raise করা হয়।

এটা কি hosted Khoj app-এও প্রযোজ্য?

না, কাস্টম endpoint একটা self-hosting feature। hosted app তার নিজস্ব model server-side manage করে; এখানকার admin-panel এবং environment surface একটা server-এর অন্তর্গত যা আপনি নিজে চালান।