LangChain এ VectorStoreRetrieverMemory কিভাবে ব্যবহার করবেন?

Langchain E Vectorstoreretrievermemory Kibhabe Byabahara Karabena



বড় ভাষার মডেল বা এলএলএম হল প্রাকৃতিক ভাষা প্রক্রিয়াকরণ সমস্যার সমাধান যা ল্যাংচেইন ফ্রেমওয়ার্ক ব্যবহার করে তৈরি করা হয়। LangChain মডিউল চ্যাট মডেল বা LLM ডিজাইন করার জন্য প্রয়োজনীয় সমস্ত নির্ভরতা বা লাইব্রেরি প্রদান করে। ব্যবহারকারী মডেল ব্যবহার করে ভেক্টর স্টোর বা ডেটাবেস থেকে ডেটা বের করার জন্য পুনরুদ্ধার সেট করতে পারেন।

LangChain ফ্রেমওয়ার্ক ব্যবহার করে কিভাবে VectorStoreRetrieverMemory ব্যবহার করতে হয় এই গাইডটি ব্যাখ্যা করবে।

LangChain এ VectorStoreRetrieverMemory কিভাবে ব্যবহার করবেন?

VectorStoreRetrieverMemory হল LangChain এর লাইব্রেরি যা ভেক্টর স্টোর ব্যবহার করে মেমরি থেকে তথ্য/ডেটা বের করতে ব্যবহার করা যেতে পারে। ভেক্টর স্টোরগুলি প্রম্পট বা ক্যোয়ারী অনুসারে দক্ষতার সাথে তথ্য বের করতে ডেটা সংরক্ষণ এবং পরিচালনা করতে ব্যবহার করা যেতে পারে।







LangChain এ VectorStoreRetrieverMemory ব্যবহার করার প্রক্রিয়াটি শিখতে, কেবল নিম্নলিখিত নির্দেশিকাটি দেখুন:



ধাপ 1: মডিউল ইনস্টল করুন

পিপ কমান্ড ব্যবহার করে ল্যাংচেইন ইনস্টল করে মেমরি রিট্রিভার ব্যবহার করার প্রক্রিয়া শুরু করুন:



পিপ ল্যাংচেইন ইনস্টল করুন





শব্দার্থিক মিল অনুসন্ধান ব্যবহার করে ডেটা পেতে FAISS মডিউলগুলি ইনস্টল করুন:

pip install faiss-gpu



Chroma ডাটাবেস ব্যবহার করার জন্য chromadb মডিউল ইনস্টল করুন। এটি পুনরুদ্ধারের জন্য মেমরি তৈরি করতে ভেক্টর স্টোর হিসাবে কাজ করে:

chromadb পিপ ইনস্টল করুন

ইন্সটল করার জন্য আরেকটি মডিউল টিকটকেন প্রয়োজন যা ডেটাকে ছোট খণ্ডে রূপান্তর করে টোকেন তৈরি করতে ব্যবহার করা যেতে পারে:

পিপ টিকটকেন ইনস্টল করুন

এর পরিবেশ ব্যবহার করে এলএলএম বা চ্যাটবট তৈরির জন্য লাইব্রেরি ব্যবহার করতে OpenAI মডিউলটি ইনস্টল করুন:

পিপ ইনস্টল ওপেনই

পরিবেশ স্থাপন করুন OpenAI অ্যাকাউন্ট থেকে API কী ব্যবহার করে Python IDE বা নোটবুকে:

আমদানি আপনি

আমদানি গেটপাস

আপনি . আন্দাজ [ 'OPENAI_API_KEY' ] = গেটপাস . গেটপাস ( 'ওপেনএআই এপিআই কী:' )

ধাপ 2: লাইব্রেরি আমদানি করুন

পরবর্তী ধাপ হল LangChain-এ মেমরি রিট্রিভার ব্যবহার করার জন্য এই মডিউলগুলি থেকে লাইব্রেরিগুলি পাওয়া:

থেকে ল্যাংচেইন অনুরোধ আমদানি প্রম্পট টেমপ্লেট

থেকে তারিখ সময় আমদানি তারিখ সময়

থেকে ল্যাংচেইন এলএমএস আমদানি OpenAI

থেকে ল্যাংচেইন এমবেডিং . openai আমদানি OpenAIEmbeddings

থেকে ল্যাংচেইন চেইন আমদানি কথোপকথন চেইন

থেকে ল্যাংচেইন স্মৃতি আমদানি VectorStoreRetrieverMemory

ধাপ 3: ভেক্টর স্টোর শুরু করা হচ্ছে

ইনপুট কমান্ড ব্যবহার করে ডেটা বের করতে FAISS লাইব্রেরি আমদানি করার পরে এই নির্দেশিকাটি Chroma ডাটাবেস ব্যবহার করে:

আমদানি faiss

থেকে ল্যাংচেইন ডাক্তারের দোকান আমদানি InMemoryDocstore
#ডাটাবেস বা ভেক্টর স্টোর কনফিগার করার জন্য লাইব্রেরি আমদানি করা
থেকে ল্যাংচেইন ভেক্টর স্টোর আমদানি FAISS

# এম্বেডিং এবং পাঠ্যগুলি ভেক্টর স্টোরগুলিতে সংরক্ষণ করার জন্য তৈরি করুন৷
এমবেডিং_সাইজ = 1536
সূচক = faiss IndexFlatL2 ( এমবেডিং_সাইজ )
এমবেডিং_এফএন = OpenAIEmbeddings ( ) . embed_query
ভেক্টর স্টোর = FAISS ( এমবেডিং_এফএন , সূচক , InMemoryDocstore ( { } ) , { } )

ধাপ 4: একটি ভেক্টর স্টোর দ্বারা ব্যাকড রিট্রিভার তৈরি করা

কথোপকথনে সাম্প্রতিকতম বার্তাগুলি সংরক্ষণ করতে এবং চ্যাটের প্রসঙ্গ পেতে মেমরি তৈরি করুন:

উদ্ধারকারী = ভেক্টর স্টোর as_retriever ( search_kwargs = dict ( k = 1 ) )
স্মৃতি = VectorStoreRetrieverMemory ( উদ্ধারকারী = উদ্ধারকারী )

স্মৃতি. সংরক্ষণ_প্রসঙ্গ ( { 'ইনপুট' : 'আমি পিজা খেতে পছন্দ করি' } , { 'আউটপুট' : 'চমৎকার' } )
স্মৃতি. সংরক্ষণ_প্রসঙ্গ ( { 'ইনপুট' : 'আমি ফুটবলে ভালো' } , { 'আউটপুট' : 'ঠিক আছে' } )
স্মৃতি. সংরক্ষণ_প্রসঙ্গ ( { 'ইনপুট' : 'আমি রাজনীতি পছন্দ করি না' } , { 'আউটপুট' : 'নিশ্চিত' } )

এর ইতিহাস সহ ব্যবহারকারী দ্বারা প্রদত্ত ইনপুট ব্যবহার করে মডেলের মেমরি পরীক্ষা করুন:

ছাপা ( স্মৃতি. load_memory_variables ( { 'শীঘ্র' : 'আমি কোন খেলা দেখতে হবে?' } ) [ 'ইতিহাস' ] )

ধাপ 5: একটি চেইনে রিট্রিভার ব্যবহার করা

পরবর্তী ধাপ হল OpenAI() পদ্ধতি ব্যবহার করে LLM তৈরি করে এবং প্রম্পট টেমপ্লেট কনফিগার করে চেইন সহ একটি মেমরি পুনরুদ্ধার করা:

এলএলএম = OpenAI ( তাপমাত্রা = 0 )
_ডিফল্ট টেমপ্লেট = '''একটি মানুষ এবং একটি মেশিনের মধ্যে একটি মিথস্ক্রিয়া
সিস্টেমটি প্রসঙ্গ ব্যবহার করে বিশদ বিবরণ সহ দরকারী তথ্য তৈরি করে
যদি সিস্টেমের কাছে আপনার জন্য উত্তর না থাকে তবে এটি কেবল বলে যে আমার কাছে উত্তর নেই

কথোপকথন থেকে গুরুত্বপূর্ণ তথ্য:
{ইতিহাস}
(পাঠ্যটি প্রাসঙ্গিক না হলে এটি ব্যবহার করবেন না)

বর্তমান চ্যাট:
মানুষ: {input}
এআই:'''

শীঘ্র = প্রম্পট টেমপ্লেট (
input_variables = [ 'ইতিহাস' , 'ইনপুট' ] , টেমপ্লেট = _ডিফল্ট টেমপ্লেট
)
# ConversationChain() এর প্যারামিটারের মান ব্যবহার করে কনফিগার করুন
কথোপকথন_সাথে_সারাংশ = কথোপকথন চেইন (
এলএলএম = এলএলএম ,
শীঘ্র = শীঘ্র ,
স্মৃতি = স্মৃতি ,
ভার্বোস = সত্য
)
কথোপকথন_সাথে_সারাংশ। ভবিষ্যদ্বাণী ( ইনপুট = 'হাই, আমার নাম পেরি, কি খবর?' )

আউটপুট

কমান্ড কার্যকর করা চেইন চালায় এবং মডেল বা এলএলএম দ্বারা প্রদত্ত উত্তর প্রদর্শন করে:

ভেক্টর স্টোরে সঞ্চিত ডেটার উপর ভিত্তি করে প্রম্পট ব্যবহার করে কথোপকথন শুরু করুন:

কথোপকথন_সাথে_সারাংশ। ভবিষ্যদ্বাণী ( ইনপুট = 'আমার প্রিয় খেলা কি?' )

পূর্ববর্তী বার্তাগুলি মডেলের মেমরিতে সংরক্ষণ করা হয় যা বার্তাটির প্রসঙ্গ বুঝতে মডেল ব্যবহার করতে পারে:

কথোপকথন_সাথে_সারাংশ। ভবিষ্যদ্বাণী ( ইনপুট = 'আমার প্রিয় খাবার কি' )

চ্যাট মডেলের সাথে মেমরি পুনরুদ্ধারকারী কীভাবে কাজ করছে তা পরীক্ষা করতে পূর্ববর্তী বার্তাগুলির একটিতে মডেলকে দেওয়া উত্তরটি পান:

কথোপকথন_সাথে_সারাংশ। ভবিষ্যদ্বাণী ( ইনপুট = 'আমার নাম কি?' )

মেমরিতে সংরক্ষিত ডেটা থেকে সাদৃশ্য অনুসন্ধান ব্যবহার করে মডেলটি সঠিকভাবে আউটপুট প্রদর্শন করেছে:

ল্যাংচেইনে ভেক্টর স্টোর রিট্রিভার ব্যবহার করার বিষয়ে এটিই।

উপসংহার

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