LangChain میں VectorStoreRetrieverMemory کا استعمال کیسے کریں؟

Langchain My Vectorstoreretrievermemory Ka Ast Mal Kys Kry



بڑے لینگویج ماڈلز یا LLMs قدرتی زبان کی پروسیسنگ کے مسائل کا حل ہیں جو LangChain فریم ورک کا استعمال کرتے ہوئے بنائے گئے ہیں۔ LangChain ماڈیول چیٹ ماڈلز یا LLMs کو ڈیزائن کرنے کے لیے تمام مطلوبہ انحصار یا لائبریریاں فراہم کرتا ہے۔ صارف ماڈلز کا استعمال کرتے ہوئے ویکٹر اسٹورز یا ڈیٹا بیس سے ڈیٹا نکالنے کے لیے ریٹریور بھی سیٹ کر سکتا ہے۔

یہ گائیڈ واضح کرے گا کہ LangChain فریم ورک کا استعمال کرتے ہوئے VectorStoreRetrieverMemory کو کیسے استعمال کیا جائے۔

LangChain میں VectorStoreRetrieverMemory کا استعمال کیسے کریں؟

VectorStoreRetrieverMemory LangChain کی لائبریری ہے جسے ویکٹر اسٹورز کا استعمال کرتے ہوئے میموری سے معلومات/ڈیٹا نکالنے کے لیے استعمال کیا جا سکتا ہے۔ ویکٹر اسٹورز کو ڈیٹا کو ذخیرہ کرنے اور ان کا نظم کرنے کے لیے استعمال کیا جا سکتا ہے تاکہ پرامپٹ یا استفسار کے مطابق معلومات کو مؤثر طریقے سے نکالا جا سکے۔







LangChain میں VectorStoreRetrieverMemory استعمال کرنے کا طریقہ سیکھنے کے لیے، بس درج ذیل گائیڈ کو دیکھیں:



مرحلہ 1: ماڈیولز انسٹال کریں۔

pip کمانڈ کا استعمال کرتے ہوئے LangChain کو انسٹال کرکے میموری ریٹریور استعمال کرنے کا عمل شروع کریں:



pip انسٹال langchain





سیمنٹک مماثلت کی تلاش کا استعمال کرتے ہوئے ڈیٹا حاصل کرنے کے لیے FAISS ماڈیولز انسٹال کریں:

pip install faiss-gpu



Chroma ڈیٹا بیس استعمال کرنے کے لیے chromadb ماڈیول انسٹال کریں۔ یہ بازیافت کرنے والے کے لئے میموری بنانے کے لئے ویکٹر اسٹور کے طور پر کام کرتا ہے:

pip chromadb انسٹال کریں۔

انسٹال کرنے کے لیے ایک اور ماڈیول ٹکٹوکن کی ضرورت ہے جسے ڈیٹا کو چھوٹے حصوں میں تبدیل کر کے ٹوکن بنانے کے لیے استعمال کیا جا سکتا ہے:

pip install tiktoken

اوپن اے آئی ماڈیول کو انسٹال کریں تاکہ اس کی لائبریریوں کو اس کے ماحول کا استعمال کرتے ہوئے ایل ایل ایم یا چیٹ بوٹس بنانے کے لیے استعمال کیا جا سکے۔

پائپ انسٹال اوپنائی

ماحول کو ترتیب دیں۔ OpenAI اکاؤنٹ سے API کلید کا استعمال کرتے ہوئے Python IDE یا نوٹ بک پر:

درآمد تم

درآمد گیٹ پاس

تم . تقریباً [ 'OPENAI_API_KEY' ] = گیٹ پاس . گیٹ پاس ( 'اوپن اے آئی API کلید:' )

مرحلہ 2: لائبریریاں درآمد کریں۔

اگلا مرحلہ LangChain میں میموری بازیافت کرنے کے لیے ان ماڈیولز سے لائبریریاں حاصل کرنا ہے۔

سے langchain اشارہ کرتا ہے درآمد PromptTemplate

سے تاریخ وقت درآمد تاریخ وقت

سے langchain ایل ایم ایس درآمد اوپن اے آئی

سے langchain سرایت . اوپنائی درآمد اوپن اے آئی ایم بیڈنگز

سے langchain زنجیریں درآمد گفتگو کا سلسلہ

سے langchain یاداشت درآمد VectorStoreRetrieverMemory

مرحلہ 3: ویکٹر اسٹور شروع کرنا

یہ گائیڈ ان پٹ کمانڈ کا استعمال کرتے ہوئے ڈیٹا کو نکالنے کے لیے FAISS لائبریری کو درآمد کرنے کے بعد Chroma ڈیٹا بیس کا استعمال کرتا ہے:

درآمد faiss

سے langchain ڈاکٹر کی دکان درآمد InMemoryDocstore
ڈیٹا بیس یا ویکٹر اسٹورز کو ترتیب دینے کے لیے لائبریریوں کو درآمد کرنا
سے langchain ویکٹر اسٹورز درآمد FAISS

# ایمبیڈنگز اور ٹیکسٹس کو ویکٹر اسٹورز میں اسٹور کرنے کے لیے بنائیں
ایمبیڈنگ_سائز = 1536
انڈیکس = faiss IndexFlatL2 ( ایمبیڈنگ_سائز )
embedding_fn = اوپن اے آئی ایم بیڈنگز ( ) . embed_query
ویکٹر اسٹور = FAISS ( embedding_fn ، انڈیکس ، InMemoryDocstore ( { } ) ، { } )

مرحلہ 4: ایک ویکٹر اسٹور کی مدد سے ریٹریور کی تعمیر

گفتگو میں تازہ ترین پیغامات کو ذخیرہ کرنے اور چیٹ کا سیاق و سباق حاصل کرنے کے لیے میموری بنائیں:

بازیافت کرنے والا = ویکٹر اسٹور as_retriever ( تلاش_کوارگز = dict ( ک = 1 ) )
یاداشت = VectorStoreRetrieverMemory ( بازیافت کرنے والا = بازیافت کرنے والا )

یاداشت. سیویٹ_سیاق و سباق ( { 'ان پٹ' : 'مجھے پیزا کھانا پسند ہے' } ، { 'آؤٹ پٹ' : 'شاندار' } )
یاداشت. سیویٹ_سیاق و سباق ( { 'ان پٹ' : 'میں فٹ بال میں اچھا ہوں' } ، { 'آؤٹ پٹ' : 'ٹھیک ہے' } )
یاداشت. سیویٹ_سیاق و سباق ( { 'ان پٹ' : ’’مجھے سیاست پسند نہیں‘‘ } ، { 'آؤٹ پٹ' : 'ضرور' } )

صارف کی طرف سے فراہم کردہ ان پٹ کا استعمال کرتے ہوئے اس کی تاریخ کے ساتھ ماڈل کی میموری کی جانچ کریں:

پرنٹ کریں ( یاداشت. load_memory_variables ( { 'فوری طور پر' : 'مجھے کون سا کھیل دیکھنا چاہئے؟' } ) [ 'تاریخ' ] )

مرحلہ 5: ایک سلسلہ میں بازیافت کا استعمال

اگلا مرحلہ OpenAI() طریقہ کا استعمال کرتے ہوئے LLM بنا کر اور پرامپٹ ٹیمپلیٹ کو ترتیب دے کر زنجیروں کے ساتھ میموری بازیافت کا استعمال ہے۔

ایل ایل ایم = اوپن اے آئی ( درجہ حرارت = 0 )
_DEFAULT_TEMPLATE = ''' انسان اور مشین کے درمیان ایک تعامل ہے۔
سسٹم سیاق و سباق کا استعمال کرتے ہوئے تفصیلات کے ساتھ مفید معلومات تیار کرتا ہے۔
اگر سسٹم کے پاس آپ کے لیے جواب نہیں ہے، تو یہ صرف کہتا ہے کہ میرے پاس جواب نہیں ہے۔

گفتگو سے اہم معلومات:
{تاریخ}
(اگر متن متعلقہ نہیں ہے تو اسے استعمال نہ کریں)

موجودہ چیٹ:
انسانی: {input}
AI:'''

فوری طور پر = PromptTemplate (
input_variables = [ 'تاریخ' ، 'ان پٹ' ] ، سانچے = _DEFAULT_TEMPLATE
)
#ConversationChain() کو اس کے پیرامیٹرز کی اقدار کا استعمال کرتے ہوئے ترتیب دیں۔
گفتگو_کے ساتھ_خلاصہ = گفتگو کا سلسلہ (
ایل ایل ایم = ایل ایل ایم ،
فوری طور پر = فوری طور پر ،
یاداشت = یاداشت ،
لفظی = سچ ہے۔
)
گفتگو_کے ساتھ_خلاصہ پیشن گوئی ( ان پٹ = 'ہیلو، میرا نام پیری ہے، کیا ہو رہا ہے؟' )

آؤٹ پٹ

کمانڈ پر عمل کرنے سے سلسلہ چلتا ہے اور ماڈل یا LLM کے ذریعہ فراہم کردہ جواب دکھاتا ہے:

ویکٹر اسٹور میں ذخیرہ شدہ ڈیٹا کی بنیاد پر پرامپٹ کا استعمال کرتے ہوئے گفتگو کے ساتھ آگے بڑھیں:

گفتگو_کے ساتھ_خلاصہ پیشن گوئی ( ان پٹ = 'میرا پسندیدہ کھیل کون سا ہے؟' )

پچھلے پیغامات ماڈل کی میموری میں محفوظ ہیں جنہیں ماڈل پیغام کے سیاق و سباق کو سمجھنے کے لیے استعمال کر سکتا ہے:

گفتگو_کے ساتھ_خلاصہ پیشن گوئی ( ان پٹ = 'میرا پسندیدہ کھانا کون سا ہے' )

پچھلے پیغامات میں سے ایک میں ماڈل کو فراہم کردہ جواب حاصل کریں تاکہ یہ معلوم ہو سکے کہ میموری بازیافت کرنے والا چیٹ ماڈل کے ساتھ کیسے کام کر رہا ہے:

گفتگو_کے ساتھ_خلاصہ پیشن گوئی ( ان پٹ = 'میرا نام کیا ہے؟' )

ماڈل نے میموری میں محفوظ ڈیٹا سے مماثلت کی تلاش کا استعمال کرتے ہوئے آؤٹ پٹ کو صحیح طریقے سے ظاہر کیا ہے:

یہ سب LangChain میں ویکٹر اسٹور ریٹریور استعمال کرنے کے بارے میں ہے۔

نتیجہ

LangChain میں ویکٹر اسٹور کی بنیاد پر میموری بازیافت کرنے کے لیے، صرف ماڈیولز اور فریم ورکس انسٹال کریں اور ماحول کو ترتیب دیں۔ اس کے بعد، کروما کا استعمال کرتے ہوئے ڈیٹا بیس بنانے کے لیے ماڈیولز سے لائبریریاں درآمد کریں اور پھر پرامپٹ ٹیمپلیٹ سیٹ کریں۔ بات چیت شروع کرکے اور پچھلے پیغامات سے متعلق سوالات پوچھ کر میموری میں ڈیٹا اسٹور کرنے کے بعد بازیافت کرنے والے کی جانچ کریں۔ اس گائیڈ نے LangChain میں VectorStoreRetrieverMemory لائبریری کو استعمال کرنے کے عمل کی وضاحت کی ہے۔