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

Dify দিয়ে LLM অ্যাপ্লিকেশন তৈরি ও নিজস্ব সার্ভারে হোস্ট করুন

Dify কী কী সুবিধা দেয় তা জানুন, Docker Compose দিয়ে এর Community Edition ডিপ্লয় করুন, ড্যাশবোর্ড চালু করুন এবং ওয়ার্কফ্লো, মডেল ইন্টিগ্রেশন, RAG, এজেন্ট, API, অবজারভেবিলিটি ও উন্নত ডিপ্লয়মেন্টের বিকল্পগুলো সম্পর্কে জানুন।

Dify দিয়ে LLM অ্যাপ্লিকেশন তৈরি ও নিজস্ব সার্ভারে হোস্ট করুন

Dify কী?

Dify হলো বড় ভাষা মডেলচালিত অ্যাপ্লিকেশন তৈরির জন্য একটি ওপেন-সোর্স প্ল্যাটফর্ম। এটি একই ইন্টারফেসে ভিজ্যুয়াল AI ওয়ার্কফ্লো, রিট্রিভাল-অগমেন্টেড জেনারেশন, এজেন্ট সক্ষমতা, মডেল ব্যবস্থাপনা, অবজারভেবিলিটি এবং অ্যাপ্লিকেশন API একত্র করে। ফলে দলগুলো প্রোটোটাইপ থেকে প্রোডাকশন পর্যায়ে যেতে পারে।

কোনো কিছু ইনস্টল না করেই হোস্টেড Dify Cloud সেবা ব্যবহার করতে পারেন, অথবা নিজের পরিবেশে Community Edition ডিপ্লয় করতে পারেন। অতিরিক্ত চাহিদাসম্পন্ন প্রতিষ্ঠানগুলোর জন্য এন্টারপ্রাইজ-কেন্দ্রিক বিকল্পও রয়েছে।

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

  • ভিজ্যুয়াল ওয়ার্কফ্লো: ভিজ্যুয়াল ক্যানভাসে AI ওয়ার্কফ্লো তৈরি ও পরীক্ষা করুন।
  • বিস্তৃত মডেল সমর্থন: ইনফারেন্স প্রোভাইডার বা স্ব-হোস্টেড সমাধানের মাধ্যমে শত শত মালিকানাধীন ও ওপেন-সোর্স মডেলের সঙ্গে সংযোগ করুন। সমর্থিত বিকল্পগুলোর মধ্যে রয়েছে GPT, Mistral, Llama 3 এবং OpenAI API-সামঞ্জস্যপূর্ণ মডেল।
  • Prompt IDE: প্রম্পট তৈরি করুন, মডেলের পারফরম্যান্স তুলনা করুন এবং চ্যাট অ্যাপ্লিকেশনে টেক্সট-টু-স্পিচের মতো সক্ষমতা যোগ করুন।
  • RAG পাইপলাইন: ডকুমেন্ট থেকে তথ্য সংগ্রহ ও পুনরুদ্ধার করুন। PDF, প্রেজেন্টেশন এবং অন্যান্য প্রচলিত ফরম্যাটের জন্য বিল্ট-ইন টেক্সট এক্সট্রাকশন সমর্থন রয়েছে।
  • এজেন্ট ও টুল: LLM Function Calling বা ReAct ব্যবহার করে এজেন্ট নির্ধারণ করুন। Dify-তে Google Search, DALL·E, Stable Diffusion এবং WolframAlpha-সহ 50টিরও বেশি বিল্ট-ইন টুল রয়েছে; কাস্টম টুলও সমর্থিত।
  • LLMOps: অ্যাপ্লিকেশনের লগ ও পারফরম্যান্স পর্যবেক্ষণ করুন, তারপর প্রোডাকশন ডেটা ও অ্যানোটেশন ব্যবহার করে প্রম্পট, ডেটাসেট এবং মডেল উন্নত করুন।
  • সেবা হিসেবে ব্যাকএন্ড: সংশ্লিষ্ট API-এর মাধ্যমে Dify অ্যাপ্লিকেশনকে বিদ্যমান ব্যবসায়িক লজিকের সঙ্গে একীভূত করুন।
  • অবজারভেবিলিটি ইন্টিগ্রেশন: Dify Opik, Langfuse এবং Arize Phoenix-সহ বিভিন্ন অবজারভেবিলিটি বিকল্প সমর্থন করে।

Dify কীভাবে চালাবেন

Dify Cloud

Dify Cloud প্ল্যাটফর্মটি দ্রুত চেষ্টা করার উপায়, কারণ এতে স্থানীয় সেটআপের প্রয়োজন হয় না। প্রকল্পের README অনুযায়ী, এর sandbox প্ল্যানে 200টি বিনামূল্যের GPT-4 কল রয়েছে এবং স্ব-ডিপ্লয় করা সংস্করণে উপলব্ধ সক্ষমতাগুলোও এতে পাওয়া যায়।

স্ব-হোস্টেড Community Edition

স্ব-হোস্টিং করলে Dify যে পরিবেশে চলে, তার ওপর আপনার নিয়ন্ত্রণ থাকে। নথিভুক্ত সবচেয়ে সহজ ইনস্টলেশন পদ্ধতি Docker Compose ব্যবহার করে।

এন্টারপ্রাইজ ও সাংগঠনিক ব্যবহার

Dify এন্টারপ্রাইজ-কেন্দ্রিক বৈশিষ্ট্যও প্রদান করে। প্রতিষ্ঠানগুলো তাদের চাহিদা ও লাইসেন্সিং বিকল্প নিয়ে আলোচনা করতে Dify টিমের সঙ্গে যোগাযোগ করতে পারে।

Docker Compose দিয়ে Dify ইনস্টল করুন

প্রয়োজনীয়তা যাচাই করুন

শুরু করার আগে নিশ্চিত করুন যে হোস্ট মেশিনটি এই ন্যূনতম প্রয়োজনীয়তাগুলো পূরণ করে:

  • CPU: কমপক্ষে 2টি কোর
  • মেমোরি: কমপক্ষে 4 GiB RAM
  • Docker: ইনস্টল করা ও চালু
  • Docker Compose: সংস্করণ 2.24.0 বা পরবর্তী

Docker আগে থেকে উপলভ্য না থাকলে অফিসিয়াল Docker ইনস্টলেশন গাইড ব্যবহার করুন।

সেবাগুলো চালু করুন

Dify রিপোজিটরির চেক-আউট করা কপি থেকে প্রজেক্ট ও Docker ডিরেক্টরিতে প্রবেশ করুন, উদাহরণ পরিবেশ ফাইলটি কপি করুন এবং সেবাগুলো চালু করুন:

cd dify
cd docker
cp .env.example .env
docker compose up -d

-d অপশনটি কনটেইনারগুলোকে detached mode-এ চালু করে, ফলে এগুলো ব্যাকগ্রাউন্ডে চলতে থাকে।

ড্যাশবোর্ড初始化 করুন

সেবাগুলো চালু হওয়ার পর ব্রাউজারে নিচের ঠিকানাটি খুলুন:

http://localhost/install

ড্যাশবোর্ডে প্রদর্শিত initialization প্রক্রিয়া অনুসরণ করুন। সেটআপ ব্যর্থ হলে অফিসিয়াল self-hosting FAQ দেখুন।

যেসব ডেভেলপার Dify-তে অবদান রাখতে বা এটি পরিবর্তন করতে চান, তাদের শুধু Docker Compose quick start-এর ওপর নির্ভর না করে অফিসিয়াল source-code deployment guide ব্যবহার করা উচিত।

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

1. একটি মডেল নির্বাচন করুন

Dify বিভিন্ন হোস্টেড ইনফারেন্স প্রোভাইডার ও স্ব-হোস্টেড সমাধানের মডেলের সঙ্গে একীভূত হতে পারে। আপনার অ্যাপ্লিকেশনের জন্য উপযুক্ত প্রোভাইডার ও মডেল বেছে নিন। সামঞ্জস্যপূর্ণ বিকল্পগুলোর মধ্যে রয়েছে GPT, Mistral, Llama 3 এবং OpenAI API-সামঞ্জস্যপূর্ণ ইন্টারফেসের মাধ্যমে প্রকাশিত মডেল। বর্তমানে সমর্থিত ইন্টিগ্রেশনগুলোর জন্য মডেল প্রোভাইডারের তালিকা দেখুন।

2. একটি ওয়ার্কফ্লো তৈরি ও পরীক্ষা করুন

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

  1. অ্যাপ্লিকেশনটি ব্যবহারকারীর কাছ থেকে কী গ্রহণ করবে তা নির্ধারণ করুন।
  2. AI প্রক্রিয়াটি উপস্থাপন করতে Dify-এর ভিজ্যুয়াল ওয়ার্কফ্লো ইন্টারফেস ব্যবহার করুন।
  3. ওয়ার্কফ্লোটিকে উপযুক্ত একটি মডেলের সঙ্গে সংযুক্ত করুন।
  4. আচরণ পরীক্ষা করুন এবং তৈরি হওয়া ফলাফল পর্যালোচনা করুন।
  5. প্রয়োজন অনুযায়ী ওয়ার্কফ্লো, প্রম্পট, ডেটাসেট বা মডেল নির্বাচন পরিমার্জন করুন।

3. Prompt IDE-তে প্রম্পট তৈরি করুন

ইন্টারঅ্যাকটিভ ইন্টারফেসের মাধ্যমে প্রম্পট তৈরি ও পরীক্ষা করতে Prompt IDE ব্যবহার করুন। কোন মডেলটি অ্যাপ্লিকেশনের জন্য সবচেয়ে উপযুক্ত, তা নির্ধারণের আগে আপনি মডেলগুলোর কর্মদক্ষতা তুলনা করতে পারবেন। চ্যাটভিত্তিক অ্যাপ্লিকেশনের জন্য IDE-তে টেক্সট-টু-স্পিচের মতো বৈশিষ্ট্যও যুক্ত করা যায়।

৪. RAG দিয়ে জ্ঞান যুক্ত করুন

Dify-এর RAG পাইপলাইন ডকুমেন্ট গ্রহণ ও পুনরুদ্ধারের কাজ পরিচালনা করে। একটি সাধারণ জ্ঞানভিত্তিক অ্যাপ্লিকেশন PDF ও প্রেজেন্টেশনসহ সমর্থিত ফাইল গ্রহণ করতে পারে, সেগুলোর টেক্সট বের করতে পারে এবং ব্যবহারকারীর উত্তর দেওয়ার সময় প্রাসঙ্গিক উপাদান পুনরুদ্ধার করতে পারে।

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

৫. টুল ব্যবহারকারী এজেন্ট তৈরি করুন

যেসব কাজে পদক্ষেপ নেওয়া বা বাহ্যিক সেবার প্রয়োজন হয়, সেসবের জন্য Function Calling অথবা ReAct ব্যবহার করে একটি এজেন্ট নির্ধারণ করুন। Google Search, DALL·E, Stable Diffusion অথবা WolframAlpha-এর মতো বিল্ট-ইন টুল যুক্ত করুন, অথবা আপনার অ্যাপ্লিকেশনের নকশা অনুযায়ী সমর্থিত কাস্টম টুল সংযুক্ত করুন।

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

৬. API-এর মাধ্যমে অ্যাপ্লিকেশন সংযুক্ত করুন

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

মনিটরিং ও ধারাবাহিক উন্নতি

Dify-এর LLMOps সক্ষমতা আপনাকে সময়ের সঙ্গে অ্যাপ্লিকেশনের লগ ও কর্মদক্ষতা পর্যবেক্ষণে সহায়তা করে। প্রোডাকশন ডেটা ও অ্যানোটেশন প্রম্পট, ডেটাসেট এবং মডেল নির্বাচন উন্নত করতে পারে। এর মাধ্যমে একটি পুনরাবৃত্তিমূলক কর্মপ্রবাহ তৈরি হয়, যেখানে আপনি অ্যাপ্লিকেশন ডিপ্লয় করেন, এর আচরণ পরীক্ষা করেন এবং পর্যবেক্ষিত ফলাফলের ভিত্তিতে তা পরিমার্জন করেন।

আরও বিস্তৃত অবজারভেবিলিটির জন্য Opik, Langfuse এবং Arize Phoenix-এর সঙ্গে Dify-এর ইন্টিগ্রেশনগুলো পর্যালোচনা করুন। আপনার পরিবেশের ট্রেসিং, মূল্যায়ন এবং মনিটরিংয়ের প্রয়োজন অনুযায়ী একটি ইন্টিগ্রেশন বেছে নিন।

উন্নত সেটআপের পরামর্শ

এনভায়রনমেন্ট ভেরিয়েবল কাস্টমাইজ করুন

স্টার্টআপের প্রয়োজনীয় ডিফল্টগুলো docker/.env.example-এ সংরক্ষিত থাকে। quick-start কমান্ডটি এই ডিফল্টগুলো docker/.env-এ কপি করে, এবং কাস্টম ডিপ্লয়মেন্টের জন্য এই ফাইলটিই সম্পাদনা করতে হবে। ঐচ্ছিক উন্নত ভেরিয়েবলগুলো বিষয়ভিত্তিকভাবে docker/envs/-এর অধীনে সাজানো আছে।

কনফিগারেশন পরিবর্তন করার পর docker ডিরেক্টরি থেকে আবার নিচের কমান্ডটি চালান:

docker compose up -d

উপলভ্য সব সেটিংসের সম্পূর্ণ তালিকার জন্য এনভায়রনমেন্ট ভেরিয়েবল ডকুমেন্টেশন পর্যালোচনা করুন।

Grafana দিয়ে মেট্রিক্স মনিটর করুন

কমিউনিটি-নির্মিত একটি Grafana ড্যাশবোর্ড Dify-এর PostgreSQL ডেটাবেসকে ডেটা সোর্স হিসেবে ব্যবহার করতে পারে। এটি অ্যাপ্লিকেশন, টেন্যান্ট, মেসেজ এবং অন্যান্য মেট্রিক্সের স্তরে মনিটরিং প্রদান করে।

Kubernetes-এ ডিপ্লয় করুন

উচ্চ প্রাপ্যতাসম্পন্ন পরিবেশের জন্য README-তে কমিউনিটির অবদান হিসেবে তৈরি Helm chart এবং Kubernetes YAML ফাইলের তালিকা রয়েছে। উপলভ্য বিকল্পগুলোর মধ্যে রয়েছে:

এই ডিপ্লয়মেন্ট রিসোর্সগুলো কমিউনিটির অবদান, তাই প্রোডাকশনে ব্যবহারের আগে এগুলোর ডকুমেন্টেশন ও সামঞ্জস্য পর্যালোচনা করুন।

ক্লাউড অবকাঠামো টুল ব্যবহার করুন

প্রকল্পের README প্রধান ক্লাউড প্ল্যাটফর্মগুলোর জন্য কমিউনিটি-নির্মিত ডিপ্লয়মেন্ট বিকল্পগুলোরও উল্লেখ করে:

  • Terraform: Azure Global এবং Google Cloud-এর জন্য কমিউনিটি প্রকল্প উপলভ্য।
  • AWS CDK: AWS নমুনাগুলো EKS-ভিত্তিক এবং ECS-ভিত্তিক স্ব-হোস্টিংয়ের বিকল্প প্রদান করে।
  • Alibaba Cloud: Computing Nest এবং Data Management ডিপ্লয়মেন্টের বিকল্প তালিকাভুক্ত রয়েছে।
  • Azure Kubernetes Service: একটি কমিউনিটি Azure DevOps Pipeline এবং Helm chart Dify-কে AKS-এ ডিপ্লয় করতে পারে।

নিরাপত্তা প্রতিবেদন ব্যক্তিগতভাবে পরিচালনা করুন

GitHub issue হিসেবে নিরাপত্তা দুর্বলতা প্রকাশ করবেন না। প্রকল্পটি ব্যবহারকারীদের সেগুলো ব্যক্তিগতভাবে security@dify.ai-এ জানাতে অনুরোধ করে।

সহায়তা পাওয়া ও অবদান রাখা

প্রশ্ন ও মতামতের জন্য GitHub Discussions এবং বাগ ও ফিচার প্রস্তাবের জন্য GitHub Issues ব্যবহার করুন। অ্যাপ্লিকেশন শেয়ার করা ও অন্যান্য ব্যবহারকারীর সঙ্গে আলোচনা করার জন্য Discord কমিউনিটি উপলভ্য।

আপনি যদি কোডে অবদান রাখতে চান, প্রকল্পটির অবদান রাখার নির্দেশিকা পড়ুন। অনুবাদে অবদানকারীরা আন্তর্জাতিকীকরণ README দেখতে পারেন।

উপসংহার

Dify ওয়ার্কফ্লো, প্রম্পট, RAG, এজেন্ট, মডেল ব্যবস্থাপনা, পর্যবেক্ষণযোগ্যতা এবং API-গুলোকে একটি সমন্বিত LLM অ্যাপ্লিকেশন প্ল্যাটফর্মে একত্র করে। আপনি Dify Cloud-এর মাধ্যমে অবিলম্বে এটি ব্যবহার করে দেখতে পারেন অথবা Docker Compose দিয়ে Community Edition নিজে হোস্ট করতে পারেন। ডিফল্ট কনফিগারেশন দিয়ে শুরু করুন, একটি নির্দিষ্ট AI অ্যাপ্লিকেশন তৈরি ও পরীক্ষা করুন, তারপর আপনার প্রয়োজন বাড়ার সঙ্গে সঙ্গে মনিটরিং বা ক্লাউড ডিপ্লয়মেন্টের বিকল্প গ্রহণ করুন।