চ্যাট

Open WebUI ইনস্টলেশন এবং OmniProxy কনফিগারেশন

একই চ্যাট উইন্ডোতে স্থানীয় এবং ক্লাউড মডেল ব্যবহার করতে চান কিন্তু চিন্তিত যে ডিপ্লয়মেন্ট এবং সংযোগ সেটআপ খুব জটিল হবে? Open WebUI একটি পরিচিত চ্যাট ইন্টারফেস প্রদান করে। একবার ইনস্টল হয়ে গেলে, আপনি ধাপে ধাপে সংযোগের বিবরণ প্রবেশ করিয়ে এটি ব্যবহার শুরু করতে পারেন।

দলিলপত্র পর্যালোচিত
৯ অক্টো, ২০২৬
পরীক্ষিত ভার্সন
Open WebUI v0.11.4

Open WebUI হলো একটি সেলফ-হোস্টেড চ্যাট ইন্টারফেস যা আপনার নিজের কম্পিউটার বা সার্ভারে ইনস্টল করা যায় এবং এটি সম্পূর্ণ অফলাইনেও চলতে পারে। এটি কোনো নির্দিষ্ট মডেল প্রোভাইডারের সাথে আবদ্ধ নয়: এটি Ollama-এর মতো টুলের সাথে সংযুক্ত হতে পারে যা স্থানীয়ভাবে মডেল চালায়, পাশাপাশি OpenAI-সামঞ্জস্যপূর্ণ এন্ডপয়েন্ট—ঠিকানা যা একই অনুরোধ ফরম্যাট ব্যবহার করে মডেল পরিষেবা প্রদান করে। এটি আপনাকে একই উইন্ডোতে স্থানীয় এবং ক্লাউড মডেলের মধ্যে সুইচ করতে দেয়।

এটি দল এবং প্রতিষ্ঠানের দীর্ঘমেয়াদী ব্যবহারের জন্য উপযুক্ত। যে সক্ষমতাগুলো দ্রুত আপডেট পায় সেগুলো প্রথমে Computer-এ প্রদর্শিত হয়, যে পণ্যটি Open WebUI নতুন ফিচার পরীক্ষা করার জন্য ব্যবহার করে।

শুরু করার আগে

Open WebUI macOS, Linux এবং Windows-এ উপলব্ধ। আপনি Docker, Python বা Kubernetes ব্যবহার করে এটি ইনস্টল করতে পারেন। Docker অ্যাপ্লিকেশন এবং এর রানটাইম এনভায়রনমেন্টকে একটি তুলনামূলকভাবে বিচ্ছিন্ন কন্টেইনারে প্যাকেজ করে এবং এটি প্রস্তাবিত পদ্ধতি। যদি Docker উপলব্ধ না থাকে, তবে আপনি নিচে পরীক্ষিত Python কমান্ডটিও ব্যবহার করতে পারেন। Kubernetes হলো কন্টেইনার ডিপ্লয় এবং ম্যানেজ করার একটি সিস্টেম; সংশ্লিষ্ট ধাপগুলোর জন্য এই গাইডের শেষে লিঙ্ক করা কুইক স্টার্ট দেখুন।

অফিসিয়ালি প্রস্তাবিত

Docker

  • একটি docker run কমান্ড
  • ব্রাউজারে 3000 খুলুন
  • ডেটা ভলিউমে সংরক্ষিত হয়

শুধু চ্যাট করতে চান

slim ইমেজ

  • ছোট ডাউনলোড সাইজ
  • ট্যাগটি পরিবর্তন করে :slim করুন
  • চ্যাট কার্যকারিতা উপলব্ধ থাকে

এখানে কভার করা হয়নি

অন্য দুটি অপশন

  • ম্যানুয়াল Python ইনস্টলেশন
  • Kubernetes ডিপ্লয়মেন্ট
  • অফিসিয়াল কুইক স্টার্ট দেখুন
প্রথমে Docker ইনস্টল করুন, তারপর প্রস্তাবিত কমান্ড দিয়ে অ্যাপ্লিকেশনটি শুরু করুন। যদি আপনি শুধুমাত্র API-এর মাধ্যমে চ্যাট করেন, তবে আপনি ইমেজ ট্যাগটি slim-এ পরিবর্তন করতে পারেন।

শুরু করার আগে, নিচেরগুলো প্রস্তুত করুন:

  • Docker ইনস্টল করা এবং চলছে।
  • শুধুমাত্র আপনার দ্বারা ব্যবহৃত একটি গোপন স্ট্রিং। চালান openssl rand -hex 32 একটি তৈরি করতে, তারপর এটি প্রবেশ করান WEBUI_SECRET_KEYহিসেবে। এই মানটি স্থায়ীভাবে সংরক্ষণ করুন। যদি আপনি কন্টেইনার রিবিল্ড করার সময় এটি পরিবর্তন করেন, তবে যে ব্যবহারকারীরা ইতিমধ্যে সাইন ইন করেছেন তাদের সাইন আউট করা হবে।
  • একটি চলমান OmniProxy ইনস্ট্যান্স এবং এর বর্তমান মডেল তালিকা থেকে একটি মডেল আইডি। মডেল আইডি হলো একটি নির্দিষ্ট মডেল নির্বাচন করতে ব্যবহৃত সম্পূর্ণ নাম।

প্রথমবার ইনস্টল এবং চালু করা

একটি টার্মিনাল খুলুন এবং কুইক স্টার্ট থেকে কমান্ডটি চালান। প্রথমে প্রতিস্থাপন করুন your-secret-key আপনার তৈরি করা গোপন কোড দিয়ে:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data -e WEBUI_SECRET_KEY=your-secret-key --name open-webui --restart always ghcr.io/open-webui/open-webui:main

এই কমান্ডের নিচের অংশগুলো বিভিন্ন উদ্দেশ্যে কাজ করে:

  • -p 3000:8080: আপনাকে এই কম্পিউটারে পোর্ট 3000-এর মাধ্যমে ইন্টারফেসটি খুলতে দেয়। যদি পোর্ট 3000 ইতিমধ্যে ব্যবহৃত হয়, তবে বাম দিকের নম্বরটি পরিবর্তন করুন।
  • -v open-webui:/app/backend/data: চ্যাট, ব্যবহারকারী এবং সেটিংস একটি ডেটা ভলিউমে সংরক্ষণ করে। ডেটা ভলিউম হলো কন্টেইনারের বাইরের একটি লোকেশন যেখানে ডেটা দীর্ঘমেয়াদে সংরক্ষিত থাকে, তাই কন্টেইনার আপডেট করার পরেও এর বিষয়বস্তু থেকে যায়। এই অপশনটি সরাবেন না।
  • --add-host=host.docker.internal:host-gateway: কন্টেইনারটিকে এই কম্পিউটারে চলমান অন্যান্য পরিষেবা অ্যাক্সেস করার অনুমতি দেয়।
  • --restart always: কম্পিউটার রিবুট হওয়ার পর কন্টেইনারটি আবার শুরু করে।

কমান্ড শেষ হওয়ার পর, খুলুন http://localhost:3000 একটি ব্রাউজারে এবং প্রথম অ্যাকাউন্ট তৈরি করতে অন-স্ক্রিন নির্দেশাবলী অনুসরণ করুন।

যদি আপনি শুধুমাত্র API-এর মাধ্যমে চ্যাট করতে চান, তবে আপনি ইমেজ ট্যাগটি পরিবর্তন করতে পারেন :main থেকে :slim। slim হলো একটি ছোট ইমেজ যাতে কন্টেইনারের ভেতরে স্থানীয় স্পিচ এবং এম্বেডিং মডেল অন্তর্ভুক্ত থাকে না, তবে চ্যাট ইন্টারফেসটি উপলব্ধ থাকে। ব্যবহার চালিয়ে যান :main যদি আপনার সেই স্থানীয় সক্ষমতাগুলোর প্রয়োজন হয়।

ম্যানুয়াল আপডেটের জন্য, প্রথমে চালান docker rm -f open-webui, তারপর চালান docker pull ghcr.io/open-webui/open-webui:main, এবং একই কমান্ড দিয়ে এটি রিস্টার্ট করুন docker run । ডেটা ভলিউম এবং উভয়ই রাখুন WEBUI_SECRET_KEY অপরিবর্তিত।

যদি Docker উপলব্ধ না থাকে

কুইক স্টার্ট একটি Python ইনস্টলেশন পদ্ধতিও প্রদান করে। ২০২৬-১০-০৯ তারিখে, macOS-এ Open WebUI v0.11.4 ইনস্টল করতে এবং একটি কথোপকথন সম্পন্ন করতে নিচের কমান্ডটি ব্যবহৃত হয়েছিল। সেই সময়ে কম্পিউটারে Docker Desktop ইনস্টল করা ছিল না।

DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve

শুরু করার পর, খুলুন http://localhost:8080 একটি ব্রাউজারে। এটি Python ইনস্টলেশন দ্বারা ব্যবহৃত পোর্ট, Docker-এর পোর্ট 3000 নয়।

প্রথমবার শুরু করার সময় একটি এম্বেডিং মডেল ডাউনলোড হয়, যা কয়েক মিনিট সময় নিতে পারে। একটি এম্বেডিং মডেল টেক্সটকে এমন ডেটাতে রূপান্তর করে যা অনুসন্ধান এবং মেলানো সহজ। চালিয়ে যাওয়ার আগে সাইন-ইন পৃষ্ঠাটি আসার জন্য অপেক্ষা করুন। প্রথম রেজিস্টার করা অ্যাকাউন্টটি অ্যাডমিনিস্ট্রেটর হয়। ইন্টারফেস ভাষা সিস্টেম ভাষা অনুসরণ করে; এই পরীক্ষার সময় সরলীকৃত চীনা (Simplified Chinese) প্রদর্শিত হয়েছিল।

DATA_DIR অবশ্যই এমন একটি ডিরেক্টরি নির্দেশ করতে হবে যা দীর্ঘমেয়াদে সংরক্ষিত থাকবে এবং Open WebUI ডেটা সংরক্ষণ করতে ব্যবহৃত হবে। যদি এটি সেট না করা থাকে, তবে ডেটা একটি অস্থায়ী ডিরেক্টরিতে সংরক্ষিত হতে পারে এবং শাটডাউনের পর হারিয়ে যেতে পারে। যদি WEBUI_SECRET_KEY সেট না থাকে, তবে প্রোগ্রামটি লেখে .webui_secret_key বর্তমান ডিরেক্টরিতে। আপনি যে ডিরেক্টরি রাখতে চান সেখান থেকে এটি শুরু করুন, অথবা এই ভেরিয়েবলটি নিজে সেট করুন।

OmniProxy থেকে সংযোগের বিবরণ সংগ্রহ করা

আপনার নিজের OmniProxy ইনস্ট্যান্স থেকে নিচের তিনটি আইটেম কপি করুন:

URL:      https://your-omniproxy-origin.example/v1
API Key:  <YOUR_OMNIPROXY_API_KEY>
Model ID: Copy from the current OmniProxy model list

URL হলো সেই ঠিকানা যা Open WebUI এন্ডপয়েন্টের সাথে সংযুক্ত হতে ব্যবহার করে এবং অবশ্যই শেষ হতে হবে /v1দিয়ে। যোগ করবেন না /chat/completions এর পরে; Open WebUI স্বয়ংক্রিয়ভাবে সেই অংশটি যুক্ত করে।

OmniProxy-এর বর্তমান তালিকা থেকে সম্পূর্ণ মডেল আইডি কপি করুন। যদি আইডিতে একটি সোর্স প্রিফিক্স এবং স্ল্যাশ থাকে, তবে সেগুলোও বজায় রাখুন। নিচের দুটি ছোট নাম ২০২৬-১০-০৯ তারিখ পর্যন্ত প্রোভাইডার ডকুমেন্টেশনের রেফারেন্স মাত্র। যদি সেগুলো বর্তমান তালিকায় না থাকে তবে ব্যবহার করবেন না:

  • Claude Sonnet 5.5-এর জন্য Claude API ID: claude-sonnet-5-5
  • Gemini 3.8 Flash-এর জন্য API নাম: gemini-3.8-flash

Open WebUI-তে কোনো প্রোভাইডার কি (key) প্রবেশ করাবেন না। যদি গেটওয়ে কি (key) যাচাই না করে, তবে অন্য কোনো কি (key) উদ্ভাবন করার পরিবর্তে API কি (key) খালি রাখুন।

ব্রাউজার

স্থানীয় পোর্ট 3000

  • চ্যাট পৃষ্ঠা খুলুন
  • প্রথমে রেজিস্ট্রেশন সম্পন্ন করুন
  • তারপর সেটিংস খুলুন

কন্টেইনারের ভেতরে

Open WebUI

  • localhost ব্যবহার করবেন না
  • পরিবর্তে হোস্ট মেশিনের নাম ব্যবহার করুন
  • URL /v1 দিয়ে শেষ হয়

একই কম্পিউটার

OmniProxy

  • গেটওয়েতে কি (key) রাখুন
  • গেটওয়ের মডেল তালিকা ব্যবহার করুন
  • তারপর অনুরোধ লগ পর্যালোচনা করুন
যখন Open WebUI Docker-এ চলে এবং OmniProxy হোস্টে চলে, তখন ঠিকানায় কন্টেইনারের localhost ব্যবহার করবেন না।

যদি মডেল পরিষেবা হোস্টে চলে যখন Open WebUI একটি Docker কন্টেইনারে চলে, তবে প্রতিস্থাপন করুন localhost URL-এ host.docker.internalদিয়ে। হোস্ট হলো সেই কম্পিউটার যা সরাসরি Docker চালায়। যদি OmniProxy শুধুমাত্র এই কম্পিউটারে লিসেন করে, তবে URL লেখা যেতে পারে http://host.docker.internal:port/v1হিসেবে, প্রতিস্থাপন করে port OmniProxy আসলে যে পোর্ট ব্যবহার করে তার সাথে।

যদি Open WebUI আগের সেকশনের Python কমান্ডের মাধ্যমে স্থানীয়ভাবে চলে এবং OmniProxy-ও স্থানীয়ভাবে চলে, তবে ব্যবহার করুন 127.0.0.1 অথবা localhost ঠিকানায়। ব্যবহার করবেন না host.docker.internal এই ক্ষেত্রে।

কনফিগারেশন প্রবেশ করানো

২০২৬-১০-০৯ তারিখে পরীক্ষিত v0.11.4-এর সরলীকৃত চীনা ইন্টারফেসে, নামগুলো ইংরেজি নির্দেশাবলীর Settings > Admin > Connections থেকে আলাদা ছিল। পরীক্ষিত ইন্টারফেসে দেখানো অপশনগুলো অনুসরণ করুন, নিচে অনুবাদ করা হলো:

১. বাম দিকের সাইডবার প্রসারিত করুন। ২. নিচে ব্যবহারকারী মেনুতে ক্লিক করুন। ৩. ক্লিক করুন Settings। ৪. নিচের অ্যাডমিনিস্ট্রেটর সেকশনে, ক্লিক করুন External Connections। ৫. খুলুন OpenAI API। ৬. ক্লিক করুন + ডানদিকে Manage OpenAI API Connections-এর। ৭. Edit Connection ডায়ালগে, URL লিখুন যা শেষ হয় /v1দিয়ে। API টাইপ Chat Completions-এ সেট করা রাখুন। ৮. Authentication Method সেট করা রাখুন Key (Bearer)-এ। Bearer অথেন্টিকেশন পরিচয় যাচাইয়ের জন্য অনুরোধে API কি (key) রাখে। যদি OmniProxy আপনাকে একটি কি (key) দিয়ে থাকে, তবে API Key-এর অধীনে তা লিখুন। যদি গেটওয়ে কি (key) যাচাই না করে, তবে এই ফিল্ডটি খালি রাখুন। ২০২৬-১০-০৯ তারিখে, ফিল্ডটি খালি রেখে যাচাইকরণ এবং একটি কথোপকথন উভয়ই সফল হয়েছিল। ৯. URL-এর পাশে Verify Connection-এ ক্লিক করুন। যদি OmniProxy প্রদান করে /modelsতবে মডেল তালিকা এখানে পুনরুদ্ধার করা হবে। ১০. খুলুন Advanced। যদি Model ID খালি রাখা হয়, তবে সেই ঠিকানায় /models দ্বারা ফেরত দেওয়া সমস্ত মডেল ব্যবহৃত হবে। শুধুমাত্র যদি যাচাইকরণ ব্যর্থ হয়, তবে Add Model ID-এর অধীনে তালিকা থেকে একটি সম্পূর্ণ আইডি লিখুন, তারপর ক্লিক করুন Add। প্রতিটি আইডি একবারই যোগ করুন; শুরুতে এবং শেষে থাকা স্পেসগুলো মুছে ফেলা হয়। ১১. এই উইন্ডোতে Save-এ ক্লিক করুন, তারপর External Connections পৃষ্ঠার নিচের ডানদিকে Save-এ ক্লিক করুন।

শুধুমাত্র কনফিগারেশন সংরক্ষণ করা যাচাইকরণকে প্রতিস্থাপন করে না। Verify Connection অন্য পরিষেবার অনুরোধ করে /models এন্ডপয়েন্ট, যা উপলব্ধ মডেলগুলো তালিকাভুক্ত করে। কিছু পরিষেবা এই এন্ডপয়েন্ট প্রদান করে না, তাই চ্যাট কাজ করলেও যাচাইকরণ ত্রুটি রিপোর্ট করতে পারে। সেই ক্ষেত্রে, মডেল আইডি ম্যানুয়ালি যোগ করুন।

একটি বাস্তব কাজ যাচাই করা

চ্যাট পৃষ্ঠায় ফিরে যান, ইনপুট বক্সের পাশে মডেল মেনু খুলুন এবং OmniProxy তালিকা থেকে সম্পূর্ণ আইডি নির্বাচন করুন। খুব ছোট একটি মেসেজ পাঠান, যেমন এটিকে শুধুমাত্র একটি শব্দ দিয়ে উত্তর দিতে বলুন। চ্যাট বক্সে অবশ্যই একটি রেসপন্স আসতে হবে।

২০২৬-১০-০৯ তারিখে, এই কথোপকথনটি v0.11.4-এর Python ইনস্টলেশন ব্যবহার করে সম্পন্ন হয়েছিল। Docker প্রস্তাবিত পদ্ধতি হিসেবে রয়ে গেছে, তবে পরীক্ষাটি Docker-এ পুনরাবৃত্তি করা হয়নি।

এরপর, OmniProxy-এর অনুরোধ লগ খুলুন এবং এই অনুরোধের জন্য উৎস এবং মডেল আইডি নিশ্চিত করুন। শুধুমাত্র একটি সফল সংরক্ষণ দেখা, অথবা মেনুতে মডেলটি দেখা মানেই সম্পন্ন হওয়া নয়।

ইন্টারফেস

মডেলটি নির্বাচন করা যায়

  • সংযোগ সংরক্ষিত হয়েছে
  • মডেলটি তালিকায় প্রদর্শিত হয়
  • একটি ছোট প্রশ্ন পাঠান

রেসপন্স

চ্যাট বক্সে একটি উত্তর দেখায়

  • এটি কোনো খালি মেসেজ নয়
  • এটি কোনো সংযোগ ত্রুটি নয়
  • অন্য মডেল দিয়ে আবার চেষ্টা করুন

লগ

গেটওয়েতে দৃশ্যমান

  • উৎস হলো এই সংযোগ
  • মডেল আইডি মিলে যায়
  • পৃষ্ঠায় কোনো কি (key) প্রবেশ করানো হয়নি
সংযোগটি তখনই ব্যবহারযোগ্য যখন তিনটি চেকই মিলে যায়।

সাধারণ ত্রুটিসমূহ

  • localhost অথবা 127.0.0.1 কন্টেইনারের ভেতরে ব্যবহৃত হয়েছিল: এই ঠিকানাগুলো কন্টেইনারকেই নির্দেশ করে, হোস্টকে নয়। ঠিকানা পরিবর্তন করে host.docker.internal করুন এবং নিশ্চিত করুন যে স্টার্টআপ কমান্ডে অন্তর্ভুক্ত আছে --add-host=host.docker.internal:host-gateway। যখন Open WebUI কন্টেইনারে চলে না তখন বিপরীতটি প্রযোজ্য: পরিবর্তে একটি স্থানীয় ঠিকানা ব্যবহার করুন।
  • ব্রাউজার পৃষ্ঠাটি খুলতে পারে না: Docker-এর জন্য, পোর্ট 3000 চেক করুন; Python-এর জন্য, পোর্ট 8080 চেক করুন। প্রথম স্টার্টআপের সময়, এম্বেডিং মডেল ডাউনলোড শেষ হওয়ার জন্য অপেক্ষা করুন। আপনি ব্যবহার করতে পারেন docker ps কন্টেইনারটি চলছে কিনা তা নিশ্চিত করতে। যদি পোর্ট 3000 ইতিমধ্যে ব্যবহৃত হয়, তবে পোর্টের বাম দিকে পরিবর্তন করুন -p।
  • মডেল মেনুর আইডি প্রোভাইডারের ছোট নামের চেয়ে দীর্ঘ: মেনু থেকে সম্পূর্ণ আইডি ব্যবহার করুন, যেকোনো স্ল্যাশসহ।
  • আপডেটের পর সবাই সাইন আউট হয়ে গেছে: WEBUI_SECRET_KEY পরিবর্তিত হয়েছে। প্রথমবার তৈরি করা গোপন কোড ব্যবহার করে রিস্টার্ট করুন।
  • Verify Connection ব্যর্থ হয়: প্রথমে Advanced-এর অধীনে ম্যানুয়ালি মডেল আইডি যোগ করুন, তারপর একটি বাস্তব এক-বাক্যের চ্যাট দিয়ে এটি নিশ্চিত করুন। কিছু পরিষেবা প্রদান করে না /modelsতাই যাচাইকরণ ত্রুটি রিপোর্ট করলেও চ্যাট কাজ করতে পারে।
  • মডেলটি বিদ্যমান নেই: OmniProxy-এর বর্তমান তালিকা থেকে আইডিটি আবার কপি করুন, পুরোনো নাম ব্যবহার চালিয়ে যাওয়ার পরিবর্তে।

অফিসিয়াল রেফারেন্স

ইনস্টলেশন কমান্ডের জন্য, দেখুন Open WebUI Quick Start। সংযোগ ধাপের জন্য, দেখুন OpenAI-compatible connection instructions। উদাহরণে ব্যবহৃত মডেল আইডির জন্য, দেখুন Claude model overview এবং Gemini model list.

আপনার নিজস্ব OmniProxy কনফিগারেশন থেকে প্রতিটি প্লেসহোল্ডার মান দিয়ে প্রতিস্থাপন করুন। কখনোই একটি আসল কি প্রকাশ করবেন না।

একটি সংরক্ষিত ফলাফল বা HTTP 200 নিজে থেকেই এজেন্টের পূর্ণ সামঞ্জস্যতা প্রমাণ করে না। OmniProxy-এর কল লগে উৎস এবং মডেল পরীক্ষা করুন।

অফিশিয়াল উৎস · Open WebUI ↗