LangChain میں ایک سے زیادہ ان پٹ کے ساتھ ایک سلسلہ میں میموری کو کیسے شامل کیا جائے؟

Langchain My Ayk S Zyad An P K Sat Ayk Slsl My Mymwry Kw Kys Shaml Kya Jay



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

یہ گائیڈ 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 میں ایک سے زیادہ ان پٹ کے ساتھ ایک سلسلہ میں میموری کو شامل کرنے کے عمل کی وضاحت کی ہے۔