1. LLM এর পরিচিতি
প্রচলিত ভাষা মডেলগুলি LangChain এর মৌলিক অংশ। LangChain নিজে বড় ভাষা মডেল সুবিধা সরবরাহ করে না; বরং, এটি বিভিন্ন প্রচলিত বড় ভাষা মডেলগুলি আবদ্ধ করে, বড় ভাষা মডেলগুলি চালানোর জন্য একটি মানক ইন্টারফেস সরবরাহ করে।
বর্তমানে, LangChain বিভিন্ন বড় ভাষা মডেল আবদ্ধ করে এবং কাস্টম মডেল সহযোগী করে। ডেভেলপাররা তাদের নিজের নতুন মডেল ইন্টারফেস আবদ্ধ করতে পারে।
- লক্ষ্য করুন: বর্তমানে বিভিন্ন ওপেন সোর্স এবং কমার্শিয়াল বড় মডেল উপলব্ধ। খরচ এবং মডেল সুবিধা নিয়ে ভিন্ন ভিন্ন মানুষের ভবিষ্যতে ভিন্ন ভিন্ন ভাবে। তাছাড়াও, প্রাসঙ্গিক মডেল পরিবর্তন সম্পর্কে চিন্তা করা হতে পারে, এবং ডেভেলপাররা যখন মডেল পরিবর্তন করে তখন ব্যবসায়িক কোডের অধিক পরিবর্তন করতে চায় না। এই অবস্থায় LangChain এর মানটি বিশেষ ভূমিকা পালন করে।
2. সেটআপ
2.1 ইনস্টলেশন
LangChain এ ওপেন এআই এলএলএম ব্যবহার করতে, ব্যবহারকারীদের নিম্নলিখিত কমান্ড চালিয়ে ওপেন এআই পাইথন প্যাকেজ ইনস্টল করতে হবে:
pip install openai
2.2 এপিআই কী সেটআপ
ওপেন এআই এপিআই অ্যাক্সেস করা হয় একটি এপিআই কীর মাধ্যমে, যা ওপেন এআই প্ল্যাটফর্মে একাউন্ট তৈরি করে পেতে পারে। একবার যখন এপিআই কী পেয়ে গেছেন, তখন নিম্নলিখিত কমান্ড ব্যবহার করে এটি একটি পরিবেশের চালিয়ে যেতে হবে:
export OPENAI_API_KEY="your-api-key"
অথবা, আপনি যদি কোনও পরিবেশের চালিত না করতে চান, তবে আপনি নিম্নলিখিত প্রকারের কমান্ড ব্যবহার করে ওপেনএআই এলএলএম ক্লাস ইনিশিয়ালাইজ করার সময় এপিআই কী সরাসরি পাস করতে পারেন:
from langchain_openai import OpenAI
llm = OpenAI(openai_api_key="your-api-key")
3. এলসিইইএল অনুমান
LangChain এ, LLMs লংচেইন এক্সপ্রেশন ল্যাঙ্গুয়েজ (LCEL) এর জন্য রানাবল ইন্টারফেস ইমপ্লিমেন্ট করে। এটা বাস্তবায়নে ইনভোক
, স্ট্রিম
, ব্যাচ
, ইত্যাদি বিভিন্ন কার্য কলের সমর্থন করে।
LLMs স্ট্রিং ইনপুট বা স্ট্রিং প্রম্প্ট হিসেবে কোয়ের্স করতে পারে, যেমন List[BaseMessage]
এবং PromptValue
।
4. এলএলএম ব্যবহারের উদাহরণ
4.1 অভিহিতকরণ
একটি নির্দিষ্ট প্রম্প্ট দিয়ে একটি LLM কে অভিহিত করার জন্য, invoke
ফাংশন ব্যবহার করা যেতে পারে, যেমন নীচে দেওয়া হয়েছে:
llm.invoke("এখানে LLM জন্য একটি প্রম্প্ট সরবরাহ করুন")
4.2 স্ট্রিমিং
LLM হতে প্রাপ্ত এবং প্রসেস করা নথি আসলেয়াইতে স্ট্রিমিং বলতে। এখানে এলএলএম ব্যবহারের উদাহরণটি দেওয়া হল:
for chunk in llm.stream("LLM জন্য স্ট্রিমিং প্রসেসিং এর জন্য একটি প্রম্প্ট সরবরাহ করুন"):
print(chunk, end="", flush=True)
4.3 ব্যাচ প্রসেসিং
ব্যাচ প্রসেসিং ব্যবহারকারীদের বিভিন্ন ইনপুট গুলির প্যারালেল প্রসেসিং সমর্থন করে। আপনি এমন একটি ব্যাচ প্রম্প্ট প্রসেস করতে পারেন:
llm.batch(["প্রম্প্ট 1", "প্রম্প্ট 2", "প্রম্প্ট 3"])
4.4 অসময়িক অপারেশন
বাড়তি দক্ষতার জন্য, অসময়িক অপারেশনগুলি ব্যবহার করা যায় এলএলএম সহ। ainvoke
, astream
, abatch
, এবং astream_log
এই ধরনের অপারেশনগুলি অসময়ে নিষ্পাদন করার সুযোগ দেয়। নীচে এলএলএম ব্যবহারের জন্য অসময়িক স্ট্রিমিং প্রসেসিং সম্পর্কে একটি উদাহরণ দেওয়া হল:
async for chunk in llm.astream("এলএলএম এর জন্য একটি অসময়িক প্রম্প্ট সরবরাহ করুন"):
print(chunk, end="", flush=True)
এই উদাহরণ গুলি লংচেইন ফ্রেমওয়ার্কে প্রাকৃতিক ভাষা প্রসেসিং কাজে এলএলএম গুলি ব্যবহারের বিভিন্ন উপায়গুলি প্রদর্শন করে।