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

Langchain My Retrievers Ka Ast Mal Kys Kry



LangChain وہ فریم ورک ہے جو ڈویلپرز کو بڑے لینگویج ماڈلز (LLMs) بنانے کی اجازت دیتا ہے جو انسانوں کے ساتھ تعامل کے لیے استعمال کیے جا سکتے ہیں۔ LangChain کا ​​استعمال کرتے ہوئے مشینوں کو انسانی زبانیں سیکھنے کی ضرورت ہوتی ہے کیونکہ یہ ان ماڈلز کو بنانے کے لیے تمام ضروری لائبریریاں اور انحصار فراہم کرتی ہے۔

یہ پوسٹ LangChain میں retrievers کے استعمال کے عمل کو ظاہر کرے گی۔

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

بازیافت کرنے والے ماڈلز اور انسانوں کے درمیان انٹرفیس کے طور پر کام کرتے ہیں تاکہ وہ قدرتی زبانوں میں فراہم کردہ ان پٹ کا استعمال کرکے مطلوبہ آؤٹ پٹ حاصل کرنے کے لیے اسے استعمال کرسکیں۔ ویکٹر اسٹورز کو ڈیٹا ذخیرہ کرنے کے لیے استعمال کیا جاتا ہے جس سے معلومات/ڈیٹا حاصل کرنے/ نکالنے کے لیے استعمال کیا جا سکتا ہے۔







تاہم، بازیافت کرنے والے ان ڈیٹا بیس سے زیادہ عام ہیں۔ وہ کوئی ڈیٹا ذخیرہ نہیں کرتے ہیں اور صرف صارفین کے لیے ڈیٹا حاصل کرنے یا بازیافت کرنے کے لیے استعمال ہوتے ہیں۔ LangChain کے ذریعے بازیافت کرنے اور استعمال کرنے کا عمل سیکھنے کے لیے، درج ذیل مراحل کو دیکھیں:



مرحلہ 1: ماڈیولز انسٹال کریں۔
سب سے پہلے، مطلوبہ ماڈیولز انسٹال کریں جیسے LangChain اس کی لائبریریوں اور انحصار کو اس عمل کے ساتھ جاری رکھنے کے لیے:



pip انسٹال کریں langchain





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

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



اب، ریٹریور بنانے سے پہلے ٹیکسٹ ایمبیڈنگ استعمال کرنے کے لیے اس کی لائبریریاں حاصل کرنے کے لیے اوپن اے آئی فریم ورک انسٹال کریں:

pip انسٹال کریں اوپنائی

تمام مطلوبہ ماڈیولز انسٹال کرنے کے بعد، OpenAI API کلید کا استعمال کرتے ہوئے صرف ماحول کو ترتیب دیں:

ہمیں درآمد کریں
گیٹ پاس درآمد کریں۔

os.environ [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'اوپن اے آئی API کلید:' )

مرحلہ 2: ڈیٹا سیٹ اپ لوڈ کریں۔
اب، پر کلک کرنے کے لیے درج ذیل کوڈ پر عمل کریں۔ 'فائلوں کا انتخاب کریں' بٹن دبائیں اور مقامی سسٹم سے دستاویز یا فائل اپ لوڈ کریں:

google.colab سے فائلیں درآمد کریں۔
uploaded = files.upload ( )

مرحلہ 3: لائبریریاں درآمد کریں۔
لینگ چین میں بازیافت کرنے اور استعمال کرنے کے لیے مطلوبہ لائبریریاں درآمد کریں جیسے کہ ' فہرست '،' کال بیکس '، اور بہت کچھ:

abc درآمد سے ABC، خلاصہ طریقہ
ٹائپ کرنے سے درآمد کوئی بھی، فہرست
langchain.schema درآمدی دستاویز سے
langchain.callbacks.manager سے کال بیکس درآمد کریں۔

مرحلہ 4: ایک لائن انڈیکس تخلیق بنائیں
یہ قدم بازیافت کرنے والے کے لیے انڈیکس بناتا ہے جسے مطلوبہ لائبریریوں کو درآمد کرکے ویکٹر اسٹور بنانے کے لیے ڈیٹا حاصل کرنے کے لیے استعمال کیا جا سکتا ہے:

langchain.chains سے RetrievalQA درآمد کریں۔
langchain.llms سے OpenAI درآمد کریں۔

یہاں، کا استعمال کرتے ہوئے ڈیٹا لوڈ کریں۔ ٹیکسٹ لوڈر() مرحلہ 2 میں اپ لوڈ کردہ فائل کے راستے کے ساتھ طریقہ:

langchain.document_loaders سے TextLoader درآمد کریں۔
لوڈر = ٹیکسٹ لوڈر ( 'state_of_the_union.txt' ، انکوڈنگ = 'utf8' )

لائبریری درآمد کریں۔ VectorstoreIndexCreator LangChain سے ڈیٹا بیس کے لیے ایک انڈیکس بنانے کے لیے:

langchain.indexes سے VectorstoreIndexCreator درآمد کریں۔

کی وضاحت کریں۔ انڈیکس VectorstoreIndexCreator() کا طریقہ استعمال کرتے ہوئے متغیر لوڈر متغیر:

index = VectorstoreIndexCreator ( ) .from_loaders ( [ لوڈر ] )

دستاویز سے ڈیٹا حاصل کرکے انڈیکس کو جانچنے کے لیے استفسار کا اطلاق کریں:

سوال = 'صدر زیلنسکی نے اپنی تقریر میں کیا کہا'
index.query ( استفسار )

انڈیکس کی تفصیلات حاصل کریں کہ کون سا ڈیٹا بیس ہے۔ انڈیکس درج ذیل کوڈ کا استعمال کرتے ہوئے:

index.vectorstore

درج ذیل کوڈ انڈیکس، اس کی قسم اور ڈیٹا بیس کے بارے میں تمام تفصیلات کی وضاحت کرے گا:

index.vectorstore.as_retriever ( )

دستاویز کا نام استعمال کرنے کے لیے ماخذ دلیل کا استعمال کرتے ہوئے دستاویز کا خلاصہ طلب کرنے کے لیے استفسار () طریقہ کے ساتھ انڈیکس کا استعمال کریں:

index.query ( 'اس دستاویز سے ڈیٹا کا عمومی خلاصہ' ، retriever_kwargs = { 'تلاش_کوارگز' : { 'فلٹر' : { 'ذریعہ' : 'state_of_the_union.txt' } } } )

مرحلہ 5: ایمبیڈنگز بنائیں
دستاویز کو اس کی ایمبیڈنگ بنانے کے لیے لوڈ کریں اور ویکٹر اسٹور کا استعمال کرتے ہوئے متن کو عددی شکل میں اسٹور کریں:

دستاویزات = لوڈر لوڈ ( )

کا استعمال کرتے ہوئے سرایت کرنے کا عمل شروع کریں۔ text_splitter ٹکڑوں کے سائز اور اوورلیپ دلائل کے ساتھ:

langchain.text_splitter سے CharacterTextSplitter درآمد کریں۔
ریٹریور استعمال کرنے کے لیے دستاویز کے چھوٹے چھوٹے ٹکڑے بنانے کے لیے #text_splitter کا استعمال کرنا
text_splitter = کریکٹر ٹیکسٹ سپلٹر ( chunk_size = 1000 ، chunk_overlap = 0 )
متن = text_splitter.split_documents ( دستاویزات )

OpenAIEmbeddings() طریقہ کا اطلاق کریں جو LangChain سے درآمد کیا جا سکتا ہے:

langchain.embeddings سے OpenAIEmbeddings درآمد کریں۔
embeddings = OpenAIEeembeddings ( )

دستاویز سے بنائے گئے ایمبیڈنگز کو اسٹور کرنے کے لیے chromadb اسٹور کا استعمال کریں:

langchain.vectorstores سے کروما درآمد کریں۔
db = Chroma.from_documents ( متن، سرایت )

مرحلہ 6: ریٹریور کی جانچ کریں۔
ایک بار جب ایمبیڈنگز بن جاتی ہیں اور ڈیٹا بیس میں محفوظ ہوجاتی ہیں تو صرف بازیافت متغیر کی وضاحت کریں:

retriever = db.as_retriever ( )

OpenAI() فنکشن کے ساتھ RetrievalQA() طریقہ استعمال کرتے ہوئے زنجیروں کو کال کریں اور اس کے دلائل کے طور پر بازیافت کریں:

qa = RetrievalQA.from_chain_type ( ایل ایل ایم =اوپن اے آئی ( ) ، chain_type = 'سامان' ، بازیافت کرنے والا = بازیافت کرنے والا )

کا استعمال کرتے ہوئے بازیافت کو جانچنے کے لیے ان پٹ فراہم کریں۔ استفسار qa.run() طریقہ کے اندر متغیر:

سوال = 'صدر زیلنسکی نے اپنی تقریر میں کیا کہا'
qa.run ( استفسار )

بس اپنی مرضی کے مطابق بنائیں VectorstoreIndexCreator () مختلف اقدار کو سیٹ کرنے کے لیے اپنے دلائل کا استعمال کرتے ہوئے:

index_creator = VectorstoreIndexCreator (
vectorstore_cls = کروما،
سرایت کرنا =OpenAIEmbeddings ( ) ,
text_splitter =CharacterTextSplitter ( chunk_size = 1000 , chunk_overlap = 0 )
)

یہ سب کچھ LangChain میں بازیافت کرنے والوں کے ساتھ شروع کرنے کے عمل کے بارے میں ہے۔

نتیجہ

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