চ্যাট মডেল
চ্যাট মডেলগুলি ভাষা মডেলের একটি বৈশিষ্ট্যবদ্ধ রূপ। যদিও চ্যাট মডেলগুলি মৌলিক স্তরে ভাষা মডেল (LLM) ব্যবহার করে, তবে তাদের পাবলিক ইন্টারফেস কিছুটা ভিন্ন। "ইনপুট টেক্সট, আউটপুট টেক্সট" এর জন্য এপিআই প্রদর্শন করার পরিবর্তে, তারা ইনপুট হিসেবে "চ্যাট মেসেজ" গ্রহণ এবং আউটপুট হিসেবে। চ্যাট মডেলগুলির মোট প্রক্রিয়া চ্যাট মেসেজ বিনিমযের প্রক্রিয়ার মত।
চ্যাট মডেল দিয়ে শুরু করা
এই অধ্যায়টি ওপেনএআই মডেলে ভিত্তি।
কনফিগারেশন
ডিফল্টভাবে, ল্যাঙচেনে মডেল ডিপেন্ডেন্সিগুলি ইনস্টল করা থাকে না। প্রথমে, ওপেনএআই পাইথন প্যাকেজটি ইনস্টল করুন:
pip install langchain-openai
এপিআই অ্যাক্সেস করার জন্য, অ্যাপি কী প্রয়োজন হয়, যা এনভায়রনমেন্ট ভেরিয়েবলগুলি দিয়ে কনফিগার করা যেতে পারে। নীচের উদাহরণটি লিনাক্স পরিবেশে কীভাবে সেট করা যেতে পারে:
export OPENAI_API_KEY="..."
যদি আপনি এনভায়রনমেন্ট ভেরিয়েবলগুলি সেট করতে না চান, তবে আপনি যে যে 'openai_api_key' নামক প্যারামিটার ব্যবহার করে ওপেনএআই এলএলএম ক্লাস ইনিশিয়ালাইজ করতে পারেন:
from langchain_openai import ChatOpenAI
chat = ChatOpenAI(openai_api_key="...")
অন্যান্যভাবে, আপনি যদি কোনও প্যারামিটার ছাড়া তা ইনিশিয়ালাইজ করতে পারেন:
from langchain_openai import ChatOpenAI
chat = ChatOpenAI()
মেসেজ
চ্যাট মডেলের ইন্টারফেসটি মেসেজ ভিত্তিক এবং নির্ভর করে কোনো প্রথমিক টেক্সটের স্থানে প্রেরণ করা। LangChain এই স্মার্ট মেসেজ কি, মানব বা সিস্টেম মেসেজ তৈরি করার কার্যকরীতা সমর্থন করে যেখানে চ্যাট মেসেজটি একটি অবিশেষ ভূমিকা প্যারামিটারের প্রয়োজন। সর্বোচ্চ ঘটনায়, আপনি শুধুমাত্র HumanMessage
, AIMessage
, এবং SystemMessage
সাথে কাজ করবেন।
এলসিইইএলএ
চ্যাট মডেলটি চালানোর জন্য Runnable interface
ইমপলিমেন্ট করে, invoke
, ainvoke
, stream
, astream
, batch
, abatch
, astream_log
প্রয়োজনের মেথড সমর্থন করে, তাই চ্যাট মডেলটি LangChain Expression Language (LCEL) এর জন্য ব্যবহার করা যেতে পারে।
চ্যাট মডেলটি ইনপুট হিসেবে List[BaseMessage]
গ্রহণ করে, বা মেসেজে সন্ধান করতে পারে, যা ডাটা হিসেবে সুন্দর করা যেতে পারে, যেমনঃ str
(কে HumanMessage
মধ্যে রূপান্তরিত হবে) এবং PromptValue
.
from langchain_core.messages import HumanMessage, SystemMessage
messages = [
SystemMessage(content="You are a helpful assistant"),
HumanMessage(content="What is the purpose of model regularization?"),
সন্ধানকে একটি বার্তা বা মেসেজ সহ কল করার উদাহরণ:
chat.invoke(messages)
ফিরে আসার মেসেজের উদাহরণ:
AIMessage(content="The AI response content...details omitted...")
AI রেসপন্স আউটপুটের স্ট্রিমিং:
for chunk in chat.stream(messages):
print(chunk.content, end="", flush=True)