یہ گائیڈ LangChain میں ایک سے زیادہ ان پٹ کے ساتھ ایک سلسلہ میں میموری کو شامل کرنے کے عمل کی وضاحت کرے گا۔
LangChain میں ایک سے زیادہ ان پٹ کے ساتھ ایک سلسلہ میں میموری کو کیسے شامل کیا جائے؟
تازہ ترین پیغامات یا ڈیٹا کو ذخیرہ کرنے کے لیے میموری کو LLMs یا chatbots میں شامل کیا جا سکتا ہے تاکہ ماڈل کمانڈ کے سیاق و سباق کو سمجھ سکے۔ LangChain میں ایک سے زیادہ ان پٹ کے ساتھ ایک سلسلہ میں میموری کو شامل کرنے کا عمل سیکھنے کے لیے، بس درج ذیل مراحل سے گزریں:
مرحلہ 1: ماڈیولز انسٹال کریں۔
سب سے پہلے، LangChain فریم ورک کو انسٹال کریں کیونکہ اس میں زبان کے ماڈل بنانے کے لیے مختلف قسم کے انحصار ہوتے ہیں:
pip انسٹال langchain
کروما ویکٹر اسٹور میں میموری کے استعمال کردہ ڈیٹا کو اسٹور کرنے کے لیے chromadb انسٹال کریں:
pip chromadb انسٹال کریں۔
Tiktoken وہ ٹوکنائزر ہے جو بڑی دستاویزات کے چھوٹے ٹکڑوں کو بنانے کے لیے استعمال ہوتا ہے تاکہ ان کا آسانی سے انتظام کیا جا سکے۔
pip install tiktoken
OpenAI وہ ماڈیول ہے جو OpenAI() طریقہ استعمال کرتے ہوئے زنجیروں اور LLMs بنانے کے لیے استعمال کیا جا سکتا ہے:
پائپ انسٹال اوپنائی
مرحلہ 2: ماحول کو ترتیب دیں اور ڈیٹا اپ لوڈ کریں۔
اس عمل کے لیے تمام مطلوبہ ماڈیولز انسٹال کرنے کے بعد اگلا مرحلہ ہے۔ ماحول کی ترتیب OpenAI اکاؤنٹ سے API کلید کا استعمال کرتے ہوئے:
درآمد تمدرآمد گیٹ پاس
تم . تقریباً [ 'OPENAI_API_KEY' ] = گیٹ پاس . گیٹ پاس ( 'اوپن اے آئی API کلید:' )
LangChain فریم ورک میں زنجیریں بنانے کے لیے فائلز لائبریری کا استعمال کرتے ہوئے دستاویزات اپ لوڈ کریں:
سے گوگل ET رحمہ اللہ تعالی درآمد فائلوںاپ لوڈ = فائلوں. اپ لوڈ کریں ( )
مرحلہ 3: لائبریریاں درآمد کریں۔
ایک بار دستاویز کامیابی کے ساتھ اپ لوڈ ہونے کے بعد، لینگچین ماڈیول سے مطلوبہ لائبریریاں درآمد کریں۔
سے langchain سرایت . اوپنائی درآمد اوپن اے آئی ایم بیڈنگزسے langchain سرایت . ہم آہنگ درآمد CohereEmbeddings
سے langchain text_splitter درآمد کریکٹر ٹیکسٹ سپلٹر
سے langchain ویکٹر اسٹورز . لچکدار_ویکٹر_تلاش درآمد لچکدار ویکٹر تلاش
سے langchain ویکٹر اسٹورز درآمد کروما
سے langchain ڈاکٹر کی دکان . دستاویز درآمد دستاویز
مرحلہ 4: کروما ڈیٹا بیس کا استعمال کرتے ہوئے میموری بنانا
اب، پہلے اپ لوڈ کردہ دستاویز کے ایمبیڈنگز اور ٹوکنز کو ذخیرہ کرنے کے لیے ویکٹر کی جگہ بنانا شروع کریں:
کے ساتھ کھلا ( 'state_of_the_union.txt' ) کے طور پر f:یونین کی_ریاست = f پڑھیں ( )
text_splitter = کریکٹر ٹیکسٹ اسپلٹر ( chunk_size = 1000 ، chunk_overlap = 0 )
متن = text_splitter. split_text ( یونین کی_ریاست )
سرایت = اوپن اے آئی ایم بیڈنگز ( )
دستاویز سے متن اور سرایت کرنے کے لیے کروما ڈیٹا بیس کو ترتیب دیں:
دستاویز کی تلاش = کروما سے_متن (متن ، سرایت ، میٹا ڈیٹا = [ { 'ذریعہ' : میں } کے لیے میں میں رینج ( صرف ( متن ) ) ]
)
استفسار متغیر میں کمانڈ پوچھ کر میموری کی جانچ کریں اور پھر similarity_search() طریقہ پر عمل کریں:
استفسار = 'نیٹو کب بنی'دستاویزات = دستاویز کی تلاش مماثلت_تلاش ( استفسار )
مرحلہ 5: پرامپٹ ٹیمپلیٹ کو ترتیب دینا
یہ مرحلہ درج ذیل لائبریریوں کو درآمد کرکے اشارے کے لیے ٹیمپلیٹ کو ترتیب دینے کے عمل کی وضاحت کرتا ہے۔
سے langchain زنجیریں . سوال_جواب دینا درآمد load_qa_chainسے langchain ایل ایم ایس درآمد اوپن اے آئی
سے langchain اشارہ کرتا ہے درآمد PromptTemplate
سے langchain یاداشت درآمد گفتگو بفر میموری
اس کے بعد، صرف استفسار کے لیے ٹیمپلیٹ یا ڈھانچہ ترتیب دیں اور ماڈل میں میموری شامل ہونے کے بعد سلسلہ چلائیں۔
سانچے = '''آپ ایک ماڈل ہیں جو ایک انسان کے ساتھ بات چیت کر رہی ہے۔ایک طویل دستاویز اور ایک سوال سے نکالے گئے ٹکڑوں کو دیکھتے ہوئے، حتمی جواب بنائیں
{خیال، سیاق}
{تاریخ}
انسانی: {input}
چیٹ بوٹ:'''
فوری طور پر = PromptTemplate (
input_variables = [ 'ہسٹ' ، 'ان پٹ' ، 'خیال، سیاق' ] ، سانچے = سانچے
)
یاداشت = گفتگو بفر میموری ( میموری_کی = 'ہسٹ' ، input_key = 'ان پٹ' )
زنجیر = load_qa_chain (
اوپن اے آئی ( درجہ حرارت = 0 ) ، chain_type = 'سامان' ، یاداشت = یاداشت ، فوری طور پر = فوری طور پر
)
مرحلہ 6: میموری کی جانچ
سوال متغیر کا استعمال کرتے ہوئے سوال پوچھ کر اور پھر اس کے پیرامیٹرز کے ساتھ chain() طریقہ کو انجام دے کر ماڈل کی جانچ کرنے کا یہ وقت ہے۔
استفسار = 'نیٹو کب بنی'زنجیر ( { 'ان پٹ_دستاویزات' : دستاویزات ، 'ان پٹ' : استفسار } ، واپسی_صرف_آؤٹ پٹ = سچ ہے۔ )
بفر میموری میں محفوظ کردہ ڈیٹا کو پرنٹ کریں کیونکہ ماڈل کی طرف سے دیا گیا جواب حال ہی میں میموری میں محفوظ کیا گیا ہے:
پرنٹ کریں ( زنجیر یاداشت . بفر )
یہ سب کچھ LangChain میں ایک سے زیادہ ان پٹ کے ساتھ ایک سلسلہ میں میموری کو شامل کرنے کے بارے میں ہے۔
نتیجہ
LangChain میں ایک سے زیادہ ان پٹ کے ساتھ ایک زنجیر میں میموری شامل کرنے کے لیے، متن اور ایمبیڈنگز کو اسٹور کرنے کے لیے صرف ماڈیولز اور ویکٹر اسٹور انسٹال کریں۔ اس کے بعد، مقامی نظام سے ڈیٹا/دستاویزات اپ لوڈ کریں اور پھر LLM کے لیے میموری بنانے کے لیے ڈیٹا کو ذخیرہ کرنے کے لیے مطلوبہ لائبریریاں درآمد کریں۔ تازہ ترین پیغامات کو بفر میموری میں ذخیرہ کرنے کے لیے پرامپٹ ٹیمپلیٹ کو ترتیب دیں اور پھر سلسلہ کو متن بھیجیں۔ اس گائیڈ نے LangChain میں ایک سے زیادہ ان پٹ کے ساتھ ایک سلسلہ میں میموری کو شامل کرنے کے عمل کی وضاحت کی ہے۔