متن کی وسیع مقدار سے درست اور بصیرت پر مبنی جوابات کو کھولنا ایک دلچسپ صلاحیت ہے جسے بڑے لینگویج ماڈلز (LLMs) کے ذریعے فعال کیا گیا ہے۔ ایل ایل ایم ایپلی کیشنز بناتے وقت، ماڈل کو متعلقہ سیاق و سباق فراہم کرنے کے لیے اکثر بیرونی ڈیٹا کے ذرائع سے رابطہ قائم کرنا اور ان سے استفسار کرنا ضروری ہوتا ہے۔ ایک مقبول طریقہ یہ ہے کہ Retrieval Augmented Generation (RAG) کا استعمال کرتے ہوئے سوال و جواب کے ایسے نظام بنائے جو پیچیدہ معلومات کو سمجھیں اور سوالات کے قدرتی جوابات فراہم کریں۔ RAG ماڈلز کو وسیع علمی اڈوں میں ٹیپ کرنے اور چیٹ بوٹس اور انٹرپرائز سرچ اسسٹنٹس جیسی ایپلی کیشنز کے لیے انسان جیسا مکالمہ فراہم کرنے کی اجازت دیتا ہے۔
اس پوسٹ میں، ہم اس کی طاقت کو استعمال کرنے کا طریقہ دریافت کرتے ہیں۔ لاما انڈیکس, Llama 2-70B-Chat، اور لینگ چین طاقتور سوال و جواب کی ایپلی کیشنز بنانے کے لیے۔ ان جدید ترین ٹیکنالوجیز کے ساتھ، آپ ٹیکسٹ کارپورا، انڈیکس تنقیدی علم، اور متن تیار کر سکتے ہیں جو صارفین کے سوالوں کے درست اور واضح طور پر جواب دیتا ہے۔
Llama 2-70B-Chat
Llama 2-70B-Chat ایک طاقتور LLM ہے جو معروف ماڈلز کے ساتھ مقابلہ کرتا ہے۔ یہ دو ٹریلین ٹیکسٹ ٹوکنز پر پہلے سے تربیت یافتہ ہے، اور میٹا کے ذریعے صارفین کو چیٹ کی مدد کے لیے استعمال کرنا ہے۔ پری ٹریننگ ڈیٹا عوامی طور پر دستیاب ڈیٹا سے حاصل کیا جاتا ہے اور ستمبر 2022 تک اختتام پذیر ہوتا ہے، اور فائن ٹیوننگ ڈیٹا جولائی 2023 تک ختم ہوتا ہے۔ ماڈل کے تربیتی عمل، حفاظتی امور، سیکھنے، اور مطلوبہ استعمال کے بارے میں مزید تفصیلات کے لیے، کاغذ کا حوالہ دیں۔ لاما 2: اوپن فاؤنڈیشن اور فائن ٹیونڈ چیٹ ماڈلز. Llama 2 ماڈل دستیاب ہیں۔ ایمیزون سیج میکر جمپ اسٹارٹ فوری اور سیدھی تعیناتی کے لیے۔
لاما انڈیکس
لاما انڈیکس ایک ڈیٹا فریم ورک ہے جو ایل ایل ایم ایپلی کیشنز کو بنانے کے قابل بناتا ہے۔ یہ ایسے ٹولز فراہم کرتا ہے جو آپ کے موجودہ ڈیٹا کو مختلف ذرائع اور فارمیٹس (PDFs، docs، APIs، SQL، اور مزید) کے ساتھ داخل کرنے کے لیے ڈیٹا کنیکٹر پیش کرتے ہیں۔ چاہے آپ کے پاس ڈیٹا بیس میں محفوظ ہو یا پی ڈی ایف میں، LlamaIndex اس ڈیٹا کو LLMs کے لیے استعمال میں لانا آسان بنا دیتا ہے۔ جیسا کہ ہم اس پوسٹ میں ظاہر کرتے ہیں، LlamaIndex APIs ڈیٹا تک رسائی کو آسان بناتا ہے اور آپ کو طاقتور کسٹم LLM ایپلی کیشنز اور ورک فلو بنانے کے قابل بناتا ہے۔
اگر آپ LLMs کے ساتھ تجربہ اور تعمیر کر رہے ہیں، تو آپ ممکنہ طور پر LangChain سے واقف ہوں گے، جو ایک مضبوط فریم ورک پیش کرتا ہے، جو LLM سے چلنے والی ایپلی کیشنز کی ترقی اور تعیناتی کو آسان بناتا ہے۔ LangChain کی طرح، LlamaIndex متعدد ٹولز پیش کرتا ہے، بشمول ڈیٹا کنیکٹر، ڈیٹا انڈیکس، انجن، اور ڈیٹا ایجنٹ، نیز ایپلیکیشن انٹیگریشن جیسے کہ ٹولز اور مشاہدہ، ٹریسنگ، اور تشخیص۔ LlamaIndex ڈیٹا اور طاقتور LLMs کے درمیان فرق کو ختم کرنے پر توجہ مرکوز کرتا ہے، ڈیٹا کے کاموں کو صارف دوست خصوصیات کے ساتھ ہموار کرتا ہے۔ LlamaIndex خاص طور پر RAG جیسی تلاش اور بازیافت ایپلی کیشنز بنانے کے لیے ڈیزائن اور بہتر بنایا گیا ہے، کیونکہ یہ LLMs سے استفسار کرنے اور متعلقہ دستاویزات کی بازیافت کے لیے ایک آسان انٹرفیس فراہم کرتا ہے۔
حل جائزہ
اس پوسٹ میں، ہم LlamaIndex اور LLM کا استعمال کرتے ہوئے RAG پر مبنی ایپلیکیشن بنانے کا طریقہ دکھاتے ہیں۔ مندرجہ ذیل خاکہ اس حل کے مرحلہ وار فن تعمیر کو دکھاتا ہے جو درج ذیل حصوں میں بیان کیا گیا ہے۔
RAG معلومات کی بازیافت کو قدرتی زبان کی تخلیق کے ساتھ جوڑتا ہے تاکہ مزید بصیرت انگیز ردعمل پیدا کیا جا سکے۔ جب اشارہ کیا جاتا ہے، RAG ان پٹ کے لیے سب سے زیادہ متعلقہ مثالیں بازیافت کرنے کے لیے پہلے ٹیکسٹ کارپورا کو تلاش کرتا ہے۔ ردعمل پیدا کرنے کے دوران، ماڈل اپنی صلاحیتوں کو بڑھانے کے لیے ان مثالوں پر غور کرتا ہے۔ متعلقہ بازیافت شدہ اقتباسات کو شامل کرنے سے، بنیادی تخلیقی ماڈلز کے مقابلے RAG کے جوابات زیادہ حقیقت پر مبنی، مربوط اور سیاق و سباق کے مطابق ہوتے ہیں۔ یہ بازیافت-جنریٹ فریم ورک بازیافت اور نسل دونوں کی طاقتوں سے فائدہ اٹھاتا ہے، تکرار اور سیاق و سباق کی کمی جیسے مسائل کو حل کرنے میں مدد کرتا ہے جو خالص خود بخود بات چیت کے ماڈلز سے پیدا ہوسکتے ہیں۔ RAG سیاق و سباق کے مطابق، اعلیٰ معیار کے جوابات کے ساتھ بات چیت کے ایجنٹوں اور AI معاونین کی تعمیر کے لیے ایک مؤثر طریقہ متعارف کراتا ہے۔
حل کی تعمیر درج ذیل مراحل پر مشتمل ہے:
- قائم ایمیزون سیج میکر اسٹوڈیو ترقی کے ماحول کے طور پر اور مطلوبہ انحصار کو انسٹال کریں۔
- ایمیزون سیج میکر جمپ اسٹارٹ حب سے ایمبیڈنگ ماڈل تعینات کریں۔
- ہمارے بیرونی علم کی بنیاد کے طور پر استعمال کرنے کے لیے پریس ریلیز ڈاؤن لوڈ کریں۔
- استفسار کرنے کے قابل ہونے کے لیے پریس ریلیز میں سے ایک انڈیکس بنائیں اور پرامپٹ میں اضافی سیاق و سباق کے طور پر شامل کریں۔
- علم کی بنیاد سے استفسار کریں۔
- LlamaIndex اور LangChain ایجنٹس کا استعمال کرتے ہوئے سوال و جواب کی درخواست بنائیں۔
اس پوسٹ کے تمام کوڈ میں دستیاب ہے۔ GitHub repo.
شرائط
اس مثال کے لیے، آپ کو SageMaker ڈومین اور مناسب کے ساتھ AWS اکاؤنٹ کی ضرورت ہے۔ AWS شناخت اور رسائی کا انتظام (IAM) کی اجازت۔ اکاؤنٹ سیٹ اپ کی ہدایات کے لیے، دیکھیں AWS اکاؤنٹ بنائیں. اگر آپ کے پاس پہلے سے سیج میکر ڈومین نہیں ہے تو رجوع کریں۔ ایمیزون سیج میکر ڈومین ایک بنانے کے لیے جائزہ۔ اس پوسٹ میں، ہم استعمال کرتے ہیں AmazonSageMakerFullAccess کردار یہ سفارش نہیں کی جاتی ہے کہ آپ اس سند کو پیداواری ماحول میں استعمال کریں۔ اس کے بجائے، آپ کو کم از کم استحقاق والی اجازتوں کے ساتھ کردار بنانا اور استعمال کرنا چاہیے۔ آپ یہ بھی دریافت کر سکتے ہیں کہ آپ کس طرح استعمال کر سکتے ہیں۔ ایمیزون سیج میکر رول مینیجر سیج میکر کنسول کے ذریعے عام مشین لرننگ ضروریات کے لیے شخصیت پر مبنی IAM کرداروں کی تعمیر اور ان کا نظم کرنا۔
اس کے علاوہ، آپ کو کم از کم درج ذیل مثال کے سائز تک رسائی کی ضرورت ہے:
- ml.g5.2xlarge کو تعینات کرتے وقت اختتامی نقطہ کے استعمال کے لیے گلے لگانا چہرہ GPT-J ٹیکسٹ ایمبیڈنگز ماڈل
- ml.g5.48xlarge Llama 2-Chat ماڈل اینڈ پوائنٹ کو تعینات کرتے وقت اینڈ پوائنٹ کے استعمال کے لیے
اپنا کوٹہ بڑھانے کے لیے رجوع کریں۔ کوٹہ بڑھانے کی درخواست.
SageMaker JumpStart کا استعمال کرتے ہوئے ایک GPT-J ایمبیڈنگ ماڈل تعینات کریں۔
SageMaker جمپ سٹارٹ ماڈلز کو تعینات کرتے وقت یہ سیکشن آپ کو دو اختیارات فراہم کرتا ہے۔ آپ فراہم کردہ کوڈ کا استعمال کرتے ہوئے کوڈ پر مبنی تعیناتی کا استعمال کرسکتے ہیں، یا SageMaker JumpStart یوزر انٹرفیس (UI) استعمال کرسکتے ہیں۔
SageMaker Python SDK کے ساتھ تعینات کریں۔
آپ LLMs کو تعینات کرنے کے لیے SageMaker Python SDK استعمال کر سکتے ہیں، جیسا کہ میں دکھایا گیا ہے۔ کوڈ ذخیرہ میں دستیاب ہے۔ درج ذیل مراحل کو مکمل کریں:
- مثال کے سائز کو سیٹ کریں جو استعمال کرتے ہوئے ایمبیڈنگز ماڈل کی تعیناتی کے لیے استعمال کیا جائے۔
instance_type = "ml.g5.2xlarge"
- ایمبیڈنگز کے لیے استعمال کرنے کے لیے ماڈل کی شناخت تلاش کریں۔ سیج میکر جمپ اسٹارٹ میں، اس کی شناخت کے طور پر کی گئی ہے۔
model_id = "huggingface-textembedding-gpt-j-6b-fp16"
- پہلے سے تربیت یافتہ ماڈل کنٹینر کو بازیافت کریں اور اسے اندازہ لگانے کے لیے لگائیں۔
SageMaker ماڈل اینڈ پوائنٹ کا نام اور مندرجہ ذیل پیغام واپس کرے گا جب ایمبیڈنگز ماڈل کامیابی کے ساتھ تعینات کیا جائے گا:
سیج میکر اسٹوڈیو میں سیج میکر جمپ اسٹارٹ کے ساتھ تعینات کریں۔
سٹوڈیو میں SageMaker JumpStart کا استعمال کرتے ہوئے ماڈل کو تعینات کرنے کے لیے، درج ذیل مراحل کو مکمل کریں:
- سیج میکر اسٹوڈیو کنسول پر، نیویگیشن پین میں جمپ اسٹارٹ کا انتخاب کریں۔
- تلاش کریں اور GPT-J 6B ایمبیڈنگ FP16 ماڈل منتخب کریں۔
- تعیناتی کا انتخاب کریں اور تعیناتی کی ترتیب کو حسب ضرورت بنائیں۔
- اس مثال کے لیے، ہمیں ایک ml.g5.2xlarge مثال کی ضرورت ہے، جو SageMaker JumpStart کی طرف سے تجویز کردہ ڈیفالٹ مثال ہے۔
- اختتامی نقطہ بنانے کے لیے دوبارہ تعینات کا انتخاب کریں۔
اختتامی نقطہ کو سروس میں ہونے میں تقریباً 5-10 منٹ لگیں گے۔
ایمبیڈنگز ماڈل کو تعینات کرنے کے بعد، SageMaker APIs کے ساتھ LangChain انٹیگریشن کو استعمال کرنے کے لیے، آپ کو ان پٹس (را ٹیکسٹ) کو ہینڈل کرنے کے لیے ایک فنکشن بنانا ہوگا اور ماڈل کا استعمال کرتے ہوئے انہیں ایمبیڈنگز میں تبدیل کرنا ہوگا۔ آپ اسے ایک کلاس بنا کر کرتے ہیں جسے کہتے ہیں۔ ContentHandler
، جو ان پٹ ڈیٹا کا JSON لیتا ہے، اور ٹیکسٹ ایمبیڈنگ کا JSON واپس کرتا ہے: class ContentHandler(EmbeddingsContentHandler).
ماڈل اینڈ پوائنٹ کا نام کو پاس کریں۔ ContentHandler
فنکشن متن کو تبدیل کرنے اور ایمبیڈنگ واپس کرنے کے لیے:
آپ اینڈ پوائنٹ کا نام یا تو SDK کے آؤٹ پٹ میں یا SageMaker JumpStart UI میں تعیناتی کی تفصیلات میں تلاش کر سکتے ہیں۔
آپ اس کی جانچ کر سکتے ہیں۔ ContentHandler
فنکشن اور اینڈ پوائنٹ کچھ خام ٹیکسٹ ڈال کر اور چلا کر توقع کے مطابق کام کر رہے ہیں۔ embeddings.embed_query(text)
فنکشن آپ دی گئی مثال استعمال کر سکتے ہیں۔ text = "Hi! It's time for the beach"
یا اپنا ٹیکسٹ آزمائیں۔
SageMaker JumpStart کا استعمال کرتے ہوئے Llama 2-Chat کی تعیناتی اور جانچ کریں۔
اب آپ اس ماڈل کو متعین کر سکتے ہیں جو آپ کے صارفین کے ساتھ انٹرایکٹو بات چیت کرنے کے قابل ہو۔ اس مثال میں، ہم Llama 2-Chat ماڈلز میں سے ایک کا انتخاب کرتے ہیں، جس کی شناخت بذریعہ کی جاتی ہے۔
ماڈل کو استعمال کرتے ہوئے ریئل ٹائم اینڈ پوائنٹ پر تعینات کرنے کی ضرورت ہے۔ predictor = my_model.deploy()
. SageMaker ماڈل کے اختتامی نقطہ کا نام واپس کرے گا، جسے آپ اس کے لیے استعمال کر سکتے ہیں۔ endpoint_name
بعد میں حوالہ دینے کے لیے متغیر۔
آپ تعریف کرتے ہیں a print_dialogue
چیٹ ماڈل میں ان پٹ بھیجنے اور اس کا آؤٹ پٹ رسپانس وصول کرنے کا فنکشن۔ پے لوڈ میں ماڈل کے لیے ہائپر پیرامیٹرز شامل ہیں، بشمول درج ذیل:
- max_new_tokens - ٹوکنز کی زیادہ سے زیادہ تعداد کا حوالہ دیتا ہے جو ماڈل اپنے آؤٹ پٹس میں پیدا کر سکتا ہے۔
- ٹاپ_پی - ٹوکنز کے مجموعی امکان کا حوالہ دیتا ہے جسے ماڈل اپنے آؤٹ پٹس تیار کرتے وقت برقرار رکھ سکتا ہے۔
- درجہ حرارت - ماڈل کے ذریعہ تیار کردہ آؤٹ پٹ کی بے ترتیب پن کا حوالہ دیتا ہے۔ 0 سے زیادہ یا 1 کے برابر درجہ حرارت بے ترتیب پن کی سطح کو بڑھاتا ہے، جب کہ 0 کا درجہ حرارت سب سے زیادہ ممکنہ ٹوکن پیدا کرے گا۔
آپ کو اپنے استعمال کے معاملے کی بنیاد پر اپنے ہائپر پیرامیٹرس کا انتخاب کرنا چاہیے اور ان کی مناسب جانچ کرنی چاہیے۔ لاما فیملی جیسے ماڈلز کے لیے آپ سے ایک اضافی پیرامیٹر شامل کرنے کی ضرورت ہوتی ہے جس سے یہ ظاہر ہوتا ہے کہ آپ نے اینڈ یوزر لائسنس ایگریمنٹ (EULA) کو پڑھ اور قبول کر لیا ہے:
ماڈل کو جانچنے کے لیے، ان پٹ پے لوڈ کے مواد کے حصے کو تبدیل کریں: "content": "what is the recipe of mayonnaise?"
. آپ اپنی ٹیکسٹ ویلیوز استعمال کر سکتے ہیں اور انہیں بہتر طور پر سمجھنے کے لیے ہائپر پیرامیٹر کو اپ ڈیٹ کر سکتے ہیں۔
ایمبیڈنگز ماڈل کی تعیناتی کی طرح، آپ SageMaker JumpStart UI کا استعمال کرتے ہوئے Llama-70B-Chat کو تعینات کر سکتے ہیں:
- سیج میکر اسٹوڈیو کنسول پر، منتخب کریں۔ جمپ اسٹارٹ نیویگیشن پین میں
- تلاش کریں اور منتخب کریں۔
Llama-2-70b-Chat model
- EULA قبول کریں اور منتخب کریں۔ تعینات، دوبارہ ڈیفالٹ مثال کا استعمال کرتے ہوئے
ایمبیڈنگ ماڈل کی طرح، آپ اپنے چیٹ ماڈل کے ان پٹ اور آؤٹ پٹس کے لیے مواد ہینڈلر ٹیمپلیٹ بنا کر LangChain انضمام کا استعمال کر سکتے ہیں۔ اس صورت میں، آپ ان پٹس کی وضاحت کرتے ہیں جو کہ صارف کی طرف سے آتے ہیں، اور اشارہ کرتے ہیں کہ ان پر system prompt
. system prompt
ماڈل کو کسی خاص استعمال کے معاملے میں صارف کی مدد کرنے میں اس کے کردار سے آگاہ کرتا ہے۔
مندرجہ بالا ہائپرپیرامیٹرس اور کسٹم انتساب (EULA قبولیت) کے علاوہ، اس مواد کے ہینڈلر کو پھر ماڈل کی درخواست کرتے وقت پاس کیا جاتا ہے۔ آپ درج ذیل کوڈ کا استعمال کرتے ہوئے ان تمام صفات کو پارس کرتے ہیں:
اختتامی نقطہ دستیاب ہونے پر، آپ جانچ کر سکتے ہیں کہ یہ توقع کے مطابق کام کر رہا ہے۔ اپ ڈیٹ کر سکتے ہیں۔ llm("what is amazon sagemaker?")
اپنے متن کے ساتھ۔ آپ کو مخصوص کی وضاحت کرنے کی بھی ضرورت ہے۔ ContentHandler
LangChain کا استعمال کرتے ہوئے LLM کو طلب کرنے کے لیے، جیسا کہ میں دکھایا گیا ہے۔ کوڈ اور درج ذیل کوڈ کا ٹکڑا:
RAG بنانے کے لیے LlamaIndex استعمال کریں۔
جاری رکھنے کے لیے، RAG ایپلیکیشن بنانے کے لیے LlamaIndex انسٹال کریں۔ آپ پائپ کا استعمال کرتے ہوئے LlamaIndex انسٹال کر سکتے ہیں: pip install llama_index
انڈیکسنگ کے لیے آپ کو سب سے پہلے اپنے ڈیٹا (نالج بیس) کو LlamaIndex پر لوڈ کرنے کی ضرورت ہے۔ اس میں چند مراحل شامل ہیں:
- ڈیٹا لوڈر کا انتخاب کریں:
LlamaIndex دستیاب متعدد ڈیٹا کنیکٹر فراہم کرتا ہے۔ LlamaHub عام ڈیٹا کی اقسام جیسے JSON، CSV، اور ٹیکسٹ فائلوں کے ساتھ ساتھ دیگر ڈیٹا کے ذرائع کے لیے، جس سے آپ کو مختلف قسم کے ڈیٹا سیٹس کا استعمال کرنے کی اجازت ملتی ہے۔ اس پوسٹ میں، ہم استعمال کرتے ہیں SimpleDirectoryReader
جیسا کہ کوڈ میں دکھایا گیا ہے چند پی ڈی ایف فائلوں کو ہضم کرنے کے لیے۔ ہمارے ڈیٹا کا نمونہ پی ڈی ایف ورژن میں ایمیزون کی دو پریس ریلیز ہیں۔ پریس ریلیز ہمارے کوڈ ریپوزٹری میں فولڈر۔ پی ڈی ایف لوڈ کرنے کے بعد، آپ دیکھ سکتے ہیں کہ انہیں 11 عناصر کی فہرست میں تبدیل کر دیا گیا ہے۔
دستاویزات کو براہ راست لوڈ کرنے کے بجائے، آپ خفیہ بھی کر سکتے ہیں۔ Document
میں اعتراض Node
اشیاء کو انڈیکس میں بھیجنے سے پہلے۔ مکمل بھیجنے کے درمیان انتخاب Document
انڈیکس پر اعتراض کرنا یا دستاویز کو اس میں تبدیل کرنا Node
انڈیکس کرنے سے پہلے اشیاء کا انحصار آپ کے مخصوص استعمال کے کیس اور آپ کے ڈیٹا کی ساخت پر ہوتا ہے۔ نوڈس اپروچ عام طور پر لمبی دستاویزات کے لیے ایک اچھا انتخاب ہے، جہاں آپ پوری دستاویز کے بجائے کسی دستاویز کے مخصوص حصوں کو توڑنا اور بازیافت کرنا چاہتے ہیں۔ مزید معلومات کے لیے رجوع کریں۔ دستاویزات / نوڈس.
- لوڈر کو فوری بنائیں اور دستاویزات لوڈ کریں:
یہ مرحلہ لوڈر کلاس اور کسی بھی ضروری ترتیب کو شروع کرتا ہے، جیسے کہ پوشیدہ فائلوں کو نظر انداز کرنا ہے۔ مزید تفصیلات کے لیے رجوع کریں۔ سادہ ڈائرکٹری ریڈر.
- لوڈر کو کال کریں۔
load_data
آپ کی سورس فائلوں اور ڈیٹا کو پارس کرنے اور انہیں LlamaIndex Document اشیاء میں تبدیل کرنے کا طریقہ، جو اشاریہ سازی اور استفسار کے لیے تیار ہے۔ آپ LlamaIndex کی اشاریہ سازی اور بازیافت کی صلاحیتوں کا استعمال کرتے ہوئے ڈیٹا کے اندراج اور مکمل متن کی تلاش کی تیاری کے لیے درج ذیل کوڈ کا استعمال کر سکتے ہیں:
- انڈیکس بنائیں:
LlamaIndex کی اہم خصوصیت اعداد و شمار پر منظم اشاریہ جات بنانے کی صلاحیت ہے، جسے دستاویزات یا نوڈس کے طور پر پیش کیا جاتا ہے۔ انڈیکسنگ ڈیٹا پر موثر استفسار کی سہولت فراہم کرتی ہے۔ ہم اپنا انڈیکس ڈیفالٹ ان میموری ویکٹر اسٹور کے ساتھ اور اپنی متعین سیٹنگ کنفیگریشن کے ساتھ بناتے ہیں۔ لاما انڈیکس ترتیبات ایک کنفیگریشن آبجیکٹ ہے جو LlamaIndex ایپلی کیشن میں اشاریہ سازی اور استفسار کے عمل کے لیے عام طور پر استعمال ہونے والے وسائل اور ترتیبات فراہم کرتا ہے۔ یہ سنگلٹن آبجیکٹ کے طور پر کام کرتا ہے، تاکہ یہ آپ کو عالمی کنفیگریشنز سیٹ کرنے کی اجازت دیتا ہے، جبکہ آپ کو مخصوص اجزاء کو مقامی طور پر ان کو استعمال کرنے والے انٹرفیس (جیسے LLMs، ایمبیڈنگ ماڈل) میں منتقل کر کے اوور رائیڈ کرنے کی بھی اجازت دیتا ہے۔ جب کوئی خاص جزو واضح طور پر فراہم نہیں کیا جاتا ہے، تو LlamaIndex فریم ورک اس میں بیان کردہ ترتیبات پر واپس آجاتا ہے۔ Settings
ایک عالمی ڈیفالٹ کے طور پر اعتراض. ہمارے ایمبیڈنگ اور ایل ایل ایم ماڈلز کو LangChain کے ساتھ استعمال کرنے اور کنفیگر کرنے کے لیے Settings
ہمیں انسٹال کرنے کی ضرورت ہے llama_index.embeddings.langchain
اور llama_index.llms.langchain
. ہم ترتیب دے سکتے ہیں۔ Settings
مندرجہ ذیل کوڈ کے طور پر اعتراض:
ڈیفالٹ کی طرف سے، VectorStoreIndex
ان میموری استعمال کرتا ہے۔ SimpleVectorStore
جو ڈیفالٹ اسٹوریج سیاق و سباق کے حصے کے طور پر شروع کیا گیا ہے۔ حقیقی زندگی کے استعمال کے معاملات میں، آپ کو اکثر بیرونی ویکٹر اسٹورز سے جڑنے کی ضرورت ہوتی ہے جیسے ایمیزون اوپن سرچ سروس. مزید تفصیلات کے لیے رجوع کریں۔ ایمیزون اوپن سرچ سرور لیس کے لیے ویکٹر انجن.
اب آپ استعمال کرکے اپنے دستاویزات پر سوال و جواب چلا سکتے ہیں۔ query_engine LlamaIndex سے۔ ایسا کرنے کے لیے، سوالات کے لیے آپ نے پہلے بنایا ہوا انڈیکس پاس کریں اور اپنا سوال پوچھیں۔ استفسار انجن ڈیٹا کے استفسار کے لیے ایک عام انٹرفیس ہے۔ یہ فطری زبان کے استفسار کو بطور ان پٹ لیتا ہے اور بھرپور جواب دیتا ہے۔ استفسار کا انجن عام طور پر ایک یا زیادہ کے اوپر بنایا جاتا ہے۔ انڈیکس کا استعمال کرتے ہوئے بازیافت کرنے والے.
آپ دیکھ سکتے ہیں کہ RAG حل فراہم کردہ دستاویزات سے صحیح جواب حاصل کرنے کے قابل ہے:
LangChain ٹولز اور ایجنٹ استعمال کریں۔
Loader
کلاس لوڈر کو LlamaIndex میں ڈیٹا لوڈ کرنے کے لیے ڈیزائن کیا گیا ہے یا بعد میں ایک ٹول کے طور پر لینگ چین ایجنٹ. یہ آپ کو اپنی درخواست کے حصے کے طور پر اسے استعمال کرنے کے لیے مزید طاقت اور لچک دیتا ہے۔ آپ اپنی تعریف کرکے شروع کرتے ہیں۔ کے آلے LangChain ایجنٹ کلاس سے۔ فنکشن جو آپ اپنے ٹول پر دیتے ہیں وہ انڈیکس سے استفسار کرتے ہیں جو آپ نے LlamaIndex کا استعمال کرتے ہوئے اپنی دستاویزات پر بنایا تھا۔
پھر آپ ایجنٹ کی صحیح قسم کا انتخاب کرتے ہیں جسے آپ اپنے RAG کے نفاذ کے لیے استعمال کرنا چاہتے ہیں۔ اس صورت میں، آپ استعمال کرتے ہیں chat-zero-shot-react-description
ایجنٹ اس ایجنٹ کے ساتھ، LLM جواب فراہم کرنے کے لیے دستیاب ٹول (اس منظر نامے میں، نالج بیس پر RAG) کا استعمال کرے گا۔ اس کے بعد آپ اپنے ٹول، ایل ایل ایم، اور ایجنٹ کی قسم کو پاس کرکے ایجنٹ کو شروع کرتے ہیں:
آپ ایجنٹ کو گزرتے ہوئے دیکھ سکتے ہیں۔ thoughts
, actions
، اور observation
، ٹول کا استعمال کریں (اس منظر نامے میں، آپ کے اشاریہ شدہ دستاویزات سے استفسار کرنا)؛ اور نتیجہ واپس کریں:
آپ اس کے ساتھ میں اختتام سے آخر تک عمل درآمد کوڈ تلاش کر سکتے ہیں۔ GitHub repo.
صاف کرو
غیر ضروری اخراجات سے بچنے کے لیے، آپ اپنے وسائل کو یا تو درج ذیل کوڈ کے ٹکڑوں یا Amazon JumpStart UI کے ذریعے صاف کر سکتے ہیں۔
Boto3 SDK استعمال کرنے کے لیے، ٹیکسٹ ایمبیڈنگ ماڈل اینڈ پوائنٹ اور ٹیکسٹ جنریشن ماڈل اینڈ پوائنٹ، نیز اینڈ پوائنٹ کنفیگریشنز کو حذف کرنے کے لیے درج ذیل کوڈ کا استعمال کریں:
SageMaker کنسول استعمال کرنے کے لیے، درج ذیل مراحل کو مکمل کریں:
- SageMaker کنسول پر، نیویگیشن پین میں Inference کے تحت، Endpoints کا انتخاب کریں۔
- ایمبیڈنگ اور ٹیکسٹ جنریشن اینڈ پوائنٹس تلاش کریں۔
- اختتامی نقطہ کی تفصیلات کے صفحہ پر، حذف کریں کو منتخب کریں۔
- تصدیق کرنے کے لیے دوبارہ حذف کا انتخاب کریں۔
نتیجہ
تلاش اور بازیافت پر مرکوز استعمال کے معاملات کے لیے، LlamaIndex لچکدار صلاحیتیں فراہم کرتا ہے۔ یہ LLMs کے لیے اشاریہ سازی اور بازیافت میں سبقت لے جاتا ہے، جو اسے ڈیٹا کی گہرائی سے تلاش کرنے کا ایک طاقتور ٹول بناتا ہے۔ LlamaIndex آپ کو منظم ڈیٹا انڈیکس بنانے، متنوع LLMs استعمال کرنے، LLM کی بہتر کارکردگی کے لیے ڈیٹا کو بڑھانے، اور قدرتی زبان کے ساتھ ڈیٹا کو استفسار کرنے کے قابل بناتا ہے۔
اس پوسٹ نے کچھ اہم LlamaIndex تصورات اور صلاحیتوں کا مظاہرہ کیا۔ ہم نے ایمبیڈنگ کے لیے GPT-J اور RAG ایپلیکیشن بنانے کے لیے Llama 2-Chat کو LLM کے طور پر استعمال کیا، لیکن آپ اس کے بجائے کوئی بھی موزوں ماڈل استعمال کر سکتے ہیں۔ آپ SageMaker JumpStart پر دستیاب ماڈلز کی جامع رینج کو تلاش کر سکتے ہیں۔
ہم نے یہ بھی دکھایا کہ کس طرح LlamaIndex دوسرے فریم ورک جیسے LangChain کے ساتھ ڈیٹا کو مربوط کرنے، انڈیکس کرنے، بازیافت کرنے اور انٹیگریٹ کرنے کے لیے طاقتور، لچکدار ٹولز فراہم کر سکتا ہے۔ LlamaIndex انضمام اور LangChain کے ساتھ، آپ زیادہ طاقتور، ورسٹائل، اور بصیرت انگیز LLM ایپلی کیشنز بنا سکتے ہیں۔
مصنفین کے بارے میں
ڈاکٹر رومینہ شریف پور ایمیزون ویب سروسز (AWS) میں ایک سینئر مشین لرننگ اور آرٹیفیشل انٹیلی جنس سلوشنز آرکیٹیکٹ ہیں۔ اس نے ML اور AI میں پیشرفت کے ذریعے فعال ہونے والے جدید اینڈ ٹو اینڈ حلوں کے ڈیزائن اور نفاذ کی رہنمائی کرتے ہوئے 10 سال سے زیادہ وقت گزارا ہے۔ رومینہ کی دلچسپی کے شعبے قدرتی لینگویج پروسیسنگ، بڑے لینگوئج ماڈلز اور MLOps ہیں۔
نکول پنٹو سڈنی، آسٹریلیا میں مقیم ایک AI/ML ماہر حل آرکیٹیکٹ ہے۔ صحت کی دیکھ بھال اور مالیاتی خدمات میں اس کا پس منظر اسے صارفین کے مسائل کو حل کرنے میں ایک منفرد نقطہ نظر فراہم کرتا ہے۔ وہ مشین لرننگ کے ذریعے صارفین کو قابل بنانے اور STEM میں خواتین کی اگلی نسل کو بااختیار بنانے کے بارے میں پرجوش ہے۔
- SEO سے چلنے والا مواد اور PR کی تقسیم۔ آج ہی بڑھا دیں۔
- پلیٹو ڈیٹا ڈاٹ نیٹ ورک ورٹیکل جنریٹو اے آئی۔ اپنے آپ کو بااختیار بنائیں۔ یہاں تک رسائی حاصل کریں۔
- پلیٹوآئ اسٹریم۔ ویب 3 انٹیلی جنس۔ علم میں اضافہ۔ یہاں تک رسائی حاصل کریں۔
- پلیٹو ای ایس جی۔ کاربن، کلین ٹیک، توانائی ، ماحولیات، شمسی، ویسٹ مینجمنٹ یہاں تک رسائی حاصل کریں۔
- پلیٹو ہیلتھ۔ بائیوٹیک اینڈ کلینیکل ٹرائلز انٹیلی جنس۔ یہاں تک رسائی حاصل کریں۔
- ماخذ: https://aws.amazon.com/blogs/machine-learning/build-knowledge-powered-conversational-applications-using-llamaindex-and-llama-2-chat/
- : ہے
- : ہے
- : نہیں
- :کہاں
- $UP
- 1
- 10
- 100
- 11
- 13
- 14
- 15٪
- 16
- 2022
- 2023
- 22
- 500
- 7
- 8
- 9
- a
- کی صلاحیت
- قابلیت
- ہمارے بارے میں
- قبولیت
- مقبول
- قبول کرتا ہے
- تک رسائی حاصل
- کے مطابق
- اکاؤنٹ
- درست
- کام کرتا ہے
- شامل کریں
- اس کے علاوہ
- ایڈیشنل
- پتہ
- ترقی
- فائدہ
- کے بعد
- پھر
- ایجنٹ
- ایجنٹ
- معاہدہ
- AI
- عی تحقیق
- AI / ML
- تمام
- اجازت دے رہا ہے
- کی اجازت دیتا ہے
- پہلے ہی
- بھی
- ایمیزون
- ایمیزون سیج میکر
- ایمیزون سیج میکر جمپ اسٹارٹ
- ایمیزون ویب سروسز
- ایمیزون ویب سروسز (AWS)
- مقدار
- an
- اور
- جواب
- جواب
- جواب
- کوئی بھی
- APIs
- درخواست
- ایپلی کیشنز
- نقطہ نظر
- مناسب
- مناسب طریقے سے
- تقریبا
- فن تعمیر
- کیا
- علاقوں
- اٹھتا
- مصنوعی
- مصنوعی ذہانت
- AS
- پوچھنا
- اسسٹنس
- اسسٹنٹ
- مدد
- At
- اوصاف
- اضافہ
- اضافہ
- آسٹریلیا
- دستیاب
- سے اجتناب
- AWS
- واپس
- پس منظر
- بیس
- کی بنیاد پر
- بنیادی
- BE
- بیچ
- کیونکہ
- رہا
- اس سے پہلے
- بہتر
- کے درمیان
- دونوں
- توڑ
- پلنگ
- لانے
- تعمیر
- عمارت
- تعمیر
- لیکن
- by
- کہا جاتا ہے
- کر سکتے ہیں
- صلاحیتوں
- صلاحیت
- کیس
- مقدمات
- چیٹ
- چیٹ بٹس
- انتخاب
- میں سے انتخاب کریں
- طبقے
- صاف
- واضح طور پر
- کلائنٹ
- کوڈ
- مربوط
- یکجا
- آنے والے
- کامن
- عام طور پر
- کمپنی کے
- مقابلے میں
- مقابلہ کرتا ہے
- مکمل
- پیچیدہ
- جزو
- اجزاء
- سمجھو
- وسیع
- تصورات
- اختتام
- ترتیب
- ترتیب دیں
- کی توثیق
- رابطہ قائم کریں
- کنیکٹر
- خیالات
- سمجھتا ہے
- متواتر
- مشتمل
- کنسول
- تعمیر
- کنٹینر
- مواد
- سیاق و سباق
- جاری
- سنوادی
- مکالمات
- تبدیل
- تبدیل
- تبدیل کرنا
- درست
- قیمت
- لاگت کی بچت
- اخراجات
- سکتا ہے
- تخلیق
- بنائی
- تخلیق
- کریڈینٹل
- اہم
- اپنی مرضی کے
- گاہک
- گاہکوں
- اپنی مرضی کے مطابق
- کٹ
- اعداد و شمار
- ڈیٹا تک رسائی
- ڈیٹا بیس
- ڈیٹاسیٹس
- گہری
- پہلے سے طے شدہ
- وضاحت
- کی وضاحت
- وضاحت
- نجات
- مظاہرہ
- demonstrated,en
- انحصار
- انحصار کرتا ہے
- تعیناتی
- تعینات
- تعینات
- تعیناتی
- ڈیزائن
- ڈیزائن
- تفصیلات
- ترقی
- آریھ
- مکالمے کے
- DICT
- براہ راست
- متنوع
- do
- دستاویزات
- دستاویز
- دستاویزات
- ڈومین
- نہیں
- کارفرما
- کے دوران
- اس سے قبل
- موثر
- ہنر
- بے سہل
- یا تو
- عناصر
- سرایت کرنا
- بااختیار بنانے
- چالو حالت میں
- کے قابل بناتا ہے
- کو فعال کرنا
- آخر
- آخر سے آخر تک
- اختتام پوائنٹ
- انجن
- انجن
- انٹرپرائز
- پوری
- ماحولیات
- برابر
- تشخیص
- مثال کے طور پر
- مثال کے طور پر
- دلچسپ
- موجودہ
- توقع
- استعمال
- واضح طور پر
- کی تلاش
- تلاش
- بیرونی
- چہرہ
- سہولت
- آبشار
- واقف
- خاندان
- نمایاں کریں
- خصوصیات
- چند
- فائلوں
- مالی
- مالیاتی خدمات
- مل
- پہلا
- لچک
- لچکدار
- توجہ مرکوز
- توجہ مرکوز
- کے بعد
- کے لئے
- فاؤنڈیشن
- فریم ورک
- فریم ورک
- سے
- تقریب
- فرق
- عام طور پر
- پیدا
- پیدا
- پیدا کرنے والے
- نسل
- پیداواری
- فراہم کرتا ہے
- گلوبل
- جا
- اچھا
- حکومت کی
- زیادہ سے زیادہ
- ہینڈل
- کنٹرول
- ہے
- صحت کی دیکھ بھال
- مدد
- اس کی
- پوشیدہ
- اعلی معیار کی
- کس طرح
- کیسے
- تاہم
- HTML
- HTTPS
- حب
- ID
- کی نشاندہی
- شناختی
- if
- نظر انداز
- نفاذ
- بہتری
- in
- شامل
- شامل ہیں
- سمیت
- شامل کرنا
- اضافہ
- اضافہ
- انڈکس
- انڈیکس شدہ
- انڈیکس
- اشارہ کرتے ہیں
- اشارہ کرتے ہیں
- معلومات
- مطلع
- انفراسٹرکچر
- جدت طرازی
- جدید
- ان پٹ
- آدانوں
- داخل کرنا
- بصیرت انگیز۔
- انسٹال
- مثال کے طور پر
- کے بجائے
- ہدایات
- ضم
- انضمام
- انضمام
- انٹیلی جنس
- ارادہ
- انٹرایکٹو
- دلچسپی
- انٹرفیس
- انٹرفیسز
- میں
- متعارف کرواتا ہے
- شامل ہے
- مسائل
- IT
- میں
- فوٹو
- JSON
- جولائی
- کلیدی
- علم
- نہیں
- زبان
- بڑے
- بعد
- معروف
- سیکھنے
- سطح
- لائسنس
- کی طرح
- امکان
- لسٹ
- لاما
- ایل ایل ایم
- لوڈ
- بارک
- لوڈ کر رہا ہے
- مقامی طور پر
- لانگ
- مشین
- مشین لرننگ
- بنا
- بناتا ہے
- بنانا
- انتظام
- زیادہ سے زیادہ
- مئی..
- ذکر کیا
- پیغام
- میٹا
- طریقہ
- ہجرت کرنا
- منتقلی
- کم سے کم
- منٹ
- ML
- ایم ایل اوپس
- ماڈل
- ماڈل
- زیادہ
- سب سے زیادہ
- بہت
- نام
- قدرتی
- قدرتی زبان عملیات
- سمت شناسی
- ضروری
- ضرورت ہے
- ضرورت
- ضروریات
- اگلے
- نوڈس
- تعداد
- اعتراض
- اشیاء
- of
- پیش کرتے ہیں
- تجویز
- اکثر
- on
- ایک
- صرف
- پر
- کھول
- آپریشنل
- آپریشنز
- اصلاح
- آپشنز کے بھی
- or
- حکم
- منظم
- دیگر
- ہمارے
- باہر
- بیان کیا
- پیداوار
- نتائج
- پر
- منسوخی
- مجموعی جائزہ
- خود
- صفحہ
- پین
- کاغذ.
- پیرامیٹر
- پیرامیٹرز
- حصہ
- خاص طور پر
- حصے
- منظور
- حصئوں
- منظور
- پاسنگ
- جذباتی
- کارکردگی
- اجازتیں
- نقطہ نظر
- پلاٹا
- افلاطون ڈیٹا انٹیلی جنس
- پلیٹو ڈیٹا
- مقبول
- پوسٹ
- طاقت
- طاقتور
- ٹھیک ہے
- پیش گو
- تیاری
- پریس
- ریلیز دبائیں
- پریس ریلیز
- مسائل
- عمل
- پروسیسنگ
- پیدا
- پیداوار
- فراہم
- فراہم
- فراہم کرتا ہے
- عوامی طور پر
- پاک
- ازگر
- سوال و جواب
- سوالات
- استفسار میں
- سوال
- سوالات
- فوری
- چیتھڑا
- بے ترتیب پن
- رینج
- بلکہ
- خام
- پڑھیں
- تیار
- اصل وقت
- وصول
- ہدایت
- سفارش کی
- کم
- کا حوالہ دیتے ہیں
- حوالہ
- مراد
- دوبارہ سرمایہ کاری
- جاری
- ریلیز
- متعلقہ
- کی جگہ
- ذخیرہ
- نمائندگی
- کی ضرورت
- ضرورت
- تحقیق
- تحقیق اور ترقی
- وسائل
- جواب
- جوابات
- نتیجہ
- بازیافت
- واپسی
- واپسی
- امیر
- ٹھیک ہے
- مضبوط
- کردار
- کردار
- رن
- چل رہا ہے
- s
- سیفٹی
- sagemaker
- نمونہ
- بچت
- منظر نامے
- sdk
- تلاش کریں
- تلاش
- سیکشن
- سیکشنز
- دیکھنا
- منتخب
- SELF
- بھیجنے
- بھیجنا
- سینئر
- ستمبر
- سروس
- سروسز
- مقرر
- قائم کرنے
- ترتیبات
- سیٹ اپ
- وہ
- ہونا چاہئے
- سے ظاہر ہوا
- دکھایا گیا
- شوز
- اسی طرح
- سادہ
- آسان بنانا
- بعد
- سائز
- سائز
- ٹکڑا
- So
- حل
- حل
- حل کرنا۔
- کچھ
- ماخذ
- ھٹا
- ذرائع
- ماہر
- مخصوص
- خاص طور پر
- خرچ
- شروع کریں
- ریاستی آرٹ
- امریکہ
- تنا
- مرحلہ
- مراحل
- ذخیرہ
- ذخیرہ
- ذخیرہ
- پردہ
- براہ راست
- منظم
- طاقت
- ساخت
- سٹوڈیو
- بعد میں
- کامیابی کے ساتھ
- اس طرح
- موزوں
- سڈنی
- کے نظام
- سسٹمز
- لے لو
- لیتا ہے
- ٹیپ
- کاموں
- ٹیکنالوجی
- سانچے
- کیا کرتے ہیں
- ٹیسٹ
- متن
- سے
- کہ
- ۔
- ان
- تو
- یہ
- وہ
- اس
- ان
- کے ذریعے
- وقت
- کرنے کے لئے
- ٹوکن
- کے آلے
- اوزار
- سب سے اوپر
- سراغ لگانا
- ٹریننگ
- تبدیل
- ٹریلین
- کوشش
- دو
- قسم
- اقسام
- عام طور پر
- ui
- کے تحت
- سمجھ
- منفرد
- غیر ضروری
- اپ ڈیٹ کریں
- استعمال
- استعمال کی شرائط
- استعمال کیس
- استعمال کیا جاتا ہے
- مفید
- رکن کا
- صارف مواجہ
- صارف دوست
- صارفین
- استعمال
- کا استعمال کرتے ہوئے
- اقدار
- متغیر
- مختلف اقسام کے
- مختلف
- وسیع
- ورسٹائل
- ورژن
- کی طرف سے
- چاہتے ہیں
- we
- ویب
- ویب خدمات
- اچھا ہے
- کیا
- کیا ہے
- جب
- جبکہ
- چاہے
- جس
- جبکہ
- گے
- ساتھ
- خواتین
- کام کے بہاؤ
- کام کر
- گا
- سال
- تم
- اور
- زیفیرنیٹ