মূল কনটেন্টে যান
এআই টিউটোরিয়াল

স্ব-হোস্টেড AI-এর জন্য Open WebUI ইনস্টল ও ব্যবহার

pip বা Docker ব্যবহার করে Open WebUI ইনস্টল করা, Ollama বা OpenAI-সামঞ্জস্যপূর্ণ API সংযুক্ত করা এবং মডেলগুলোর সঙ্গে চ্যাট শুরু করার পদ্ধতি শিখুন। এই টিউটোরিয়ালে ডকুমেন্ট রিট্রিভাল, ওয়েব কনটেন্ট, একাধিক মডেলের কথোপকথন, অফলাইন অপারেশন, GPU ত্বরান্বন, সমস্যা সমাধান এবং প্রোডাকশন-উপযোগী ফিচারও পরিচয় করিয়ে দেওয়া হয়েছে।

স্ব-হোস্টেড AI-এর জন্য Open WebUI ইনস্টল ও ব্যবহার

Open WebUI কী?

Open WebUI হলো একটি সম্প্রসারণযোগ্য, স্ব-হোস্টেড AI প্ল্যাটফর্ম, যা স্থানীয় রিসোর্স দিয়ে কনফিগার করলে সম্পূর্ণ অফলাইনে কাজ করার জন্য তৈরি। এটি স্থানীয় Ollama মডেল, OpenAI-সামঞ্জস্যপূর্ণ API এবং রিট্রিভাল-অগমেন্টেড জেনারেশনের জন্য একটি বিল্ট-ইন ইনফারেন্স ইঞ্জিন, যা সাধারণত RAG নামে পরিচিত, ব্যবহারের জন্য ব্রাউজারভিত্তিক ইন্টারফেস প্রদান করে।

আপনি এটিকে ব্যক্তিগত AI কর্মক্ষেত্র হিসেবে ব্যবহার করতে পারেন অথবা কোনো দলের জন্য স্থাপন করতে পারেন। কথোপকথনের পাশাপাশি, প্ল্যাটফর্মটিতে নোট, শেয়ার করা চ্যানেল, স্থায়ী মেমরি, ক্যালেন্ডার, নির্ধারিত অটোমেশন, ছবি তৈরির ইন্টিগ্রেশন, ভয়েস ও ভিডিও কল, অ্যানালিটিক্স, মডেল মূল্যায়ন এবং সূক্ষ্ম অ্যাক্সেস নিয়ন্ত্রণ রয়েছে।

Open WebUI ডেমো

প্রধান বৈশিষ্ট্য

  • নমনীয় মডেল সংযোগ: LMStudio, GroqCloud, Mistral, OpenRouter এবং vLLM-এর মতো OpenAI-সামঞ্জস্যপূর্ণ পরিষেবার পাশাপাশি স্থানীয় Ollama মডেল ব্যবহার করুন।
  • স্থানীয় RAG: চ্যাটে নথি যোগ করুন অথবা # কমান্ড দিয়ে জ্ঞানভান্ডার থেকে ফাইল সংগ্রহ করুন। প্ল্যাটফর্মটি হাইব্রিড সার্চ, রির‍্যাঙ্কিং, একাধিক এক্সট্রাকশন ইঞ্জিন এবং নয়টি ভেক্টর ডেটাবেস সমর্থন করে।
  • মডেল ও এজেন্ট: কাস্টম নির্দেশনা, জ্ঞান, টুল, ডায়নামিক ভেরিয়েবল এবং ব্যবহারকারী বা গ্রুপভিত্তিক অ্যাক্সেস নিয়ম দিয়ে একটি বেস মডেলকে সাজান।
  • সম্প্রসারণযোগ্যতা: Filters, Actions, Pipes, Tools এবং Skills যোগ করুন, অথবা MCP, MCPO ও OpenAPI টুল সার্ভারের সঙ্গে সংযুক্ত করুন।
  • সহযোগিতা: নোট, রিয়েল-টাইম চ্যানেল, থ্রেড, প্রতিক্রিয়া, পিন, শেয়ার করা ক্যালেন্ডার এবং AI-সহায়িত সময়সূচি ব্যবহার করুন।
  • একাধিক মোডালিটি: স্পিচ-টু-টেক্সট, টেক্সট-টু-স্পিচ, ভয়েস ও ভিডিও কল এবং ছবি তৈরি বা সম্পাদনার ইঞ্জিন কনফিগার করুন।
  • প্রশাসন: ভূমিকা, গ্রুপ, অনুমতি, প্রমাণীকরণ, ব্যবহারসংক্রান্ত অ্যানালিটিক্স, মডেল মূল্যায়ন, স্টোরেজ এবং অবজারভেবিলিটি পরিচালনা করুন।
  • ডিপ্লয়মেন্টের নমনীয়তা: pip, uv, Docker, Docker Compose, Kubernetes, Kustomize অথবা Helm ব্যবহার করে ইনস্টল করুন।
  • রেসপন্সিভ ইন্টারফেস: ডেস্কটপ ও মোবাইলে Open WebUI ব্যবহার করুন, অথবা এটিকে Progressive Web App হিসেবে ইনস্টল করুন।

একটি ইনস্টলেশন পদ্ধতি বেছে নিন

দ্রুত স্থানীয় পরীক্ষার জন্য pip অথবা Docker ব্যবহার করুন। Pip সরাসরি Python থেকে Open WebUI চালায়, আর Docker একটি বিচ্ছিন্ন ডিপ্লয়মেন্ট প্রদান করে এবং স্ট্যান্ডার্ড, CUDA-সক্ষম অথবা Ollama-বান্ডেল করা ইমেজ বেছে নেওয়া সহজ করে।

গুরুত্বপূর্ণ: প্রতিটি Docker কমান্ডে open-webui:/app/backend/data মাউন্ট করা উচিত। এই স্থায়ী ভলিউম কনটেইনার প্রতিস্থাপন বা অপসারণের সময় ডেটাবেস ও অন্যান্য অ্যাপ্লিকেশন ডেটা সুরক্ষিত রাখে।

বিকল্প ১: Python pip দিয়ে ইনস্টল করুন

প্রকল্পের বর্ণিত pip ইনস্টলেশনের জন্য Open WebUI-তে Python 3.11 প্রয়োজন। এগিয়ে যাওয়ার আগে আপনার পরিবেশে সঠিক Python সংস্করণ ব্যবহার হচ্ছে কি না নিশ্চিত করুন।

  1. প্যাকেজ ইনস্টল করুন:

    pip install open-webui
  2. সার্ভার চালু করুন:

    open-webui serve
  3. ব্রাউজারে http://localhost:8080 খুলুন।

বিকল্প ২: Docker দিয়ে Open WebUI চালান

হোস্ট কম্পিউটারে Ollama-তে সংযোগ করুন

Docker-এর একই কম্পিউটারে Ollama আগে থেকেই চললে, স্ট্যান্ডার্ড Open WebUI ইমেজ চালু করুন এবং একটি হোস্ট ম্যাপিং যোগ করুন, যাতে কনটেইনারটি হোস্টে পৌঁছাতে পারে:

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

কনটেইনার চালু হওয়ার পর http://localhost:3000 ভিজিট করুন।

অন্য সার্ভারে থাকা Ollama-তে সংযোগ করুন

রিমোট Ollama পরিষেবার ঠিকানা হিসেবে OLLAMA_BASE_URL সেট করুন:

docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

https://example.com-এর পরিবর্তে প্রকৃত Ollama সার্ভারের URL দিন।

Nvidia GPU সমর্থন চালু করুন

Open WebUI একটি CUDA-ট্যাগযুক্ত ইমেজ প্রদান করে। এটি চালানোর আগে Linux অথবা WSL-এ Nvidia CUDA container toolkit ইনস্টল করুন:

docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda

শুধু একটি OpenAI API ব্যবহার করুন

আপনার Ollama প্রয়োজন না হলে, স্ট্যান্ডার্ড ইমেজে OpenAI API কী পাঠান:

docker run -d -p 3000:8080 -e OPENAI_API_KEY=your_secret_key -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

your_secret_key-এর পরিবর্তে উপযুক্ত ক্রেডেনশিয়াল দিন। Open WebUI অন্যান্য OpenAI-সামঞ্জস্যপূর্ণ API-তেও সংযোগ করতে পারে; প্রতিটি প্রোভাইডারের নির্দিষ্ট কনফিগারেশন প্রকল্পের ডকুমেন্টেশনে দেওয়া আছে।

একটি কনটেইনারে Open WebUI ও Ollama চালান

:ollama ইমেজে Open WebUI ও Ollama একসঙ্গে থাকে। এটি Ollama মডেলের জন্য একটি ভলিউম এবং Open WebUI অ্যাপ্লিকেশন ডেটার জন্য আরেকটি ভলিউম ব্যবহার করে।

GPU-সহ বান্ডেল করা Ollama

docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

শুধু CPU-সহ বান্ডেল করা Ollama

docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

কনটেইনার চালু হওয়ার পর http://localhost:3000 খুলুন।

মৌলিক ব্যবহার

  1. ইন্টারফেস খুলুন: pip সেটআপের জন্য 8080 পোর্ট অথবা উপরের স্ট্যান্ডার্ড Docker কমান্ডগুলোর জন্য 3000 পোর্ট ব্যবহার করুন।

  2. উপলভ্য মডেল ব্যবহার করুন: আপনার কনফিগার করা Ollama বা OpenAI-সামঞ্জস্যপূর্ণ সংযোগে উন্মুক্ত কোনো মডেলের সঙ্গে কথোপকথন শুরু করুন।

  3. আরও সমৃদ্ধ প্রম্পট লিখুন: প্রতিক্রিয়াগুলো Markdown ও LaTeX সমর্থন করে, তাই ইন্টারফেসটি কাঠামোবদ্ধ ব্যাখ্যা, কোড, টেবিল এবং গাণিতিক স্বরলিপির জন্য উপযোগী।

  4. বিভিন্ন ডিভাইসে কাজ চালিয়ে যান: প্রতিক্রিয়াশীল ইন্টারফেসটি ডেস্কটপ ও মোবাইলে কাজ করে, আর Progressive Web App সমর্থন অ্যাপের মতো অভিজ্ঞতা দেয়।

RAG-এর সঙ্গে নথি ব্যবহার করুন

সরাসরি কোনো কথোপকথনে নথি যোগ করুন অথবা # কমান্ড ব্যবহার করে আপনার লাইব্রেরি থেকে সেগুলো সংগ্রহ করুন। Open WebUI কনটেন্ট নিষ্কাশন ও ইনডেক্স করতে, প্রাসঙ্গিক অংশ পুনরুদ্ধার করতে এবং সেগুলো মডেলের কনটেক্সটে যুক্ত করতে পারে। এর RAG স্ট্যাক BM25 ও ভেক্টর হাইব্রিড সার্চ, রির‍্যাঙ্কিং এবং পূর্ণ-কনটেক্সট মোড সমর্থন করে।

বড় ডিপ্লয়মেন্টের জন্য সমর্থিত ভেক্টর ডেটাবেসের বিকল্পগুলোর মধ্যে রয়েছে ChromaDB, PGVector, Qdrant, Milvus, Elasticsearch, OpenSearch, Pinecone, S3Vector এবং Oracle 23ai।

চ্যাটে একটি ওয়েবসাইট আনুন

কথোপকথনে ওয়েবসাইটের কনটেন্ট আনতে # কমান্ডের পরে একটি URL ব্যবহার করুন। প্রয়োজন হলে মডেলগুলোকে ওয়েব কনটেন্ট সংগ্রহের অনুমতি দেওয়ার জন্যও Open WebUI কনফিগার করা যায়।

একাধিক মডেলের তুলনা করুন

মাল্টি-মডেল কথোপকথনে আপনি একসঙ্গে একাধিক মডেলের সঙ্গে কাজ করতে পারেন। যুক্তি, লেখার ধরন বা প্রদানকারীর আচরণ তুলনা করতে এটি কার্যকর। মডেল মূল্যায়নের জন্য প্রশাসকেরা বিল্ট-ইন arena, A/B testing এবং ELO-ভিত্তিক leaderboard-ও ব্যবহার করতে পারেন।

উন্নত কনফিগারেশন টিপস

বিশেষায়িত মডেল ও এজেন্ট তৈরি করুন

কাস্টম নির্দেশনা, টুল এবং জ্ঞানের সঙ্গে একটি বেস মডেল যুক্ত করে বিশেষায়িত এজেন্ট তৈরি করুন। ডায়নামিক ভেরিয়েবল এবং ব্যবহারকারী বা গোষ্ঠীভিত্তিক অ্যাক্সেস নিয়ন্ত্রণের মাধ্যমে বিভিন্ন দলের জন্য এজেন্টকে উপযোগী করে তোলা যায়। Open WebUI Community থেকেও কমিউনিটি প্রিসেট ইমপোর্ট করা যায়।

প্ল্যাটফর্ম সম্প্রসারণ করুন

Open WebUI Filters, Actions, Pipes, Tools এবং Skills সমর্থন করে। MCP, MCPO এবং OpenAPI টুল সার্ভারের মাধ্যমে বাহ্যিক পরিষেবা সংযুক্ত করা যায়। এসব এক্সটেনশন পয়েন্ট কাস্টম ইন্টিগ্রেশন, অনুমোদন প্রবাহ, রেট লিমিট এবং অতিরিক্ত ডেটা সংযোগ সমর্থন করতে পারে।

দল ও এন্টারপ্রাইজ ডিপ্লয়মেন্টের পরিকল্পনা করুন

বহু-ব্যবহারকারী পরিবেশে অ্যাক্সেস নিয়ন্ত্রণের জন্য ভূমিকা, গোষ্ঠী এবং অনুমতি ব্যবহার করুন। Open WebUI LDAP ও Active Directory ইন্টিগ্রেশন, trusted-header ও OAuth-ভিত্তিক single sign-on এবং Okta, Azure AD ও Google Workspace-এর মতো পরিচয় প্রদানকারীদের জন্য SCIM 2.0 provisioning সমর্থন করে।

স্টোরেজে SQLite, ঐচ্ছিক এনক্রিপশনসহ, অথবা PostgreSQL ব্যবহার করা যায়। ফাইল স্থানীয়ভাবে অথবা S3, Google Cloud Storage কিংবা Azure Blob Storage-এ রাখা যায়। Redis-সমর্থিত সেশন এবং WebSocket সমর্থন লোড ব্যালান্সারের পেছনে multi-worker ও multi-node ডিপ্লয়মেন্ট চালু করে, আর OpenTelemetry ট্রেস, মেট্রিক এবং লগ সরবরাহ করে।

সম্পূর্ণ অফলাইনে পরিচালনা করুন

অফলাইন পরিবেশে Open WebUI চালানোর সময় ইন্টারনেট থেকে মডেল ডাউনলোডের চেষ্টা বন্ধ করতে HF_HUB_OFFLINE-এর মান 1 সেট করুন:

export HF_HUB_OFFLINE=1

অফলাইন ডিপ্লয়মেন্টের জন্যও পরিবেশে প্রয়োজনীয় সব মডেল, নির্ভরতা এবং স্থানীয় পরিষেবা উপলভ্য থাকা আবশ্যক।

ডেভেলপমেন্ট ইমেজ সাবধানে ব্যবহার করুন

:dev ইমেজে অস্থিতিশীল, সর্বশেষ পরীক্ষামূলক পরিবর্তন থাকে, যাতে বাগ বা অসম্পূর্ণ ফিচার থাকতে পারে। এই ঝুঁকি গ্রহণে সম্মত হলেই এটি ব্যবহার করুন:

docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui --add-host=host.docker.internal:host-gateway --restart always ghcr.io/open-webui/open-webui:dev

Ollama সংযোগের ত্রুটি সমাধান

একটি সাধারণ Docker সমস্যা দেখা দেয় যখন কনটেইনারের ভেতর থেকে Open WebUI 127.0.0.1:11434 অথবা host.docker.internal:11434-এ থাকা Ollama-তে পৌঁছাতে পারে না। সমর্থিত সিস্টেমে নথিভুক্ত একটি সমাধান হলো host networking ব্যবহার করা:

docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main

এই কমান্ডের ক্ষেত্রে 3000 পোর্টের পরিবর্তে http://localhost:8080 ঠিকানায় Open WebUI-তে প্রবেশ করুন।

সংযোগ এখনও ব্যর্থ হলে Ollama চালু আছে কি না নিশ্চিত করুন, এর ঠিকানা যাচাই করুন এবং Open WebUI troubleshooting documentation দেখুন। Docker পরিবেশে অতিরিক্ত নেটওয়ার্কিং কনফিগারেশনের প্রয়োজন হতে পারে।

রক্ষণাবেক্ষণ ও নিরাপত্তা

  • ডিপ্লয়মেন্ট প্রতিস্থাপন বা আপগ্রেড করার সময় অফিসিয়াল updating guide অনুসরণ করুন।

  • অ্যাপ্লিকেশনের ডেটা হারানো এড়াতে আপগ্রেডের সময় persistent Docker volume সংযুক্ত রাখুন।

  • প্রকল্পের লাইসেন্স ও লাইসেন্সের ইতিহাস পর্যালোচনা করুন, কারণ কোডবেসে একাধিক লাইসেন্সের অধীনে থাকা উপাদান রয়েছে, যার মধ্যে বর্তমানে Open WebUI-লাইসেন্সপ্রাপ্ত কোডের ব্র্যান্ডিং-সংক্রান্ত শর্তও অন্তর্ভুক্ত।

  • সন্দেহভাজন দুর্বলতা প্রকাশ্য কমিউনিটি চ্যানেলে নয়, প্রকল্পের GitHub responsible disclosure program-এর মাধ্যমে গোপনীয়ভাবে জানান।

উপসংহার

Open WebUI আপনার নিয়ন্ত্রণাধীন অবকাঠামোর মাধ্যমে স্থানীয় ও হোস্ট করা AI মডেল চালানোর জন্য একটি নমনীয় ইন্টারফেস প্রদান করে। Python 3.11 অথবা একটি স্থায়ী Docker ডিপ্লয়মেন্ট দিয়ে শুরু করুন, Ollama বা OpenAI-সামঞ্জস্যপূর্ণ API সংযুক্ত করুন, তারপর RAG, এজেন্ট, প্লাগইন, সহযোগিতা, অ্যানালিটিক্স এবং স্কেলযোগ্য প্রোডাকশন সার্ভিসে সম্প্রসারিত করুন। আরও ডিপ্লয়মেন্ট বিকল্পের জন্য অফিশিয়াল getting-started ডকুমেন্টেশন দেখুন।