Retrieval Augmented Generation (RAG) آپ کو بیرونی علمی ذرائع جیسے کہ ذخیرہ خانوں، ڈیٹا بیسز، اور APIs کے ڈیٹا تک رسائی کے ساتھ ایک بڑا لینگویج ماڈل (LLM) فراہم کرنے کی اجازت دیتا ہے اور اسے ٹھیک کرنے کی ضرورت نہیں ہے۔ سوالوں کے جوابات کے لیے جنریٹیو AI کا استعمال کرتے وقت، RAG LLMs کو قابل بناتا ہے کہ وہ سب سے زیادہ متعلقہ، تازہ ترین معلومات کے ساتھ سوالات کے جوابات دے سکیں اور اختیاری طور پر تصدیق کے لیے اپنے ڈیٹا کے ذرائع کا حوالہ دیں۔
دستاویزات سے علم کی بازیافت کے لیے ایک عام RAG حل ڈیٹا کے ذرائع سے ڈیٹا کو ایمبیڈنگز میں تبدیل کرنے کے لیے ایمبیڈنگز ماڈل کا استعمال کرتا ہے اور ان ایمبیڈنگز کو ویکٹر ڈیٹا بیس میں اسٹور کرتا ہے۔ جب صارف کوئی سوال پوچھتا ہے، تو وہ ویکٹر ڈیٹا بیس کو تلاش کرتا ہے اور ایسی دستاویزات کو بازیافت کرتا ہے جو صارف کے سوال سے زیادہ ملتے جلتے ہیں۔ اس کے بعد، یہ بازیافت شدہ دستاویزات اور صارف کے استفسار کو ایک بڑھے ہوئے پرامپٹ میں یکجا کرتا ہے جو ٹیکسٹ جنریشن کے لیے LLM کو بھیجا جاتا ہے۔ اس نفاذ میں دو ماڈلز ہیں: ایمبیڈنگز ماڈل اور LLM جو حتمی ردعمل پیدا کرتا ہے۔
اس پوسٹ میں، ہم استعمال کرنے کا طریقہ بتاتے ہیں۔ ایمیزون سیج میکر اسٹوڈیو RAG سوال کا جواب دینے والا حل تیار کرنا۔
RAG پر مبنی سوالوں کے جوابات کے لیے نوٹ بک کا استعمال
RAG کو لاگو کرنے میں عام طور پر مختلف ایمبیڈنگ ماڈلز، ویکٹر ڈیٹا بیسز، ٹیکسٹ جنریشن ماڈلز، اور پرامپٹس کے ساتھ تجربہ کرنا پڑتا ہے، جبکہ آپ کے کوڈ کو ڈیبگ کرتے ہوئے جب تک آپ ایک فنکشنل پروٹو ٹائپ حاصل نہیں کر لیتے۔ ایمیزون سیج میکر GPU مثالوں سے لیس مینیجڈ Jupyter نوٹ بک پیش کرتا ہے، جو آپ کو اس ابتدائی مرحلے کے دوران اضافی انفراسٹرکچر کو گھمائے بغیر تیزی سے تجربہ کرنے کے قابل بناتا ہے۔ سیج میکر میں نوٹ بک استعمال کرنے کے دو اختیارات ہیں۔ پہلا آپشن تیز لانچ ہے۔ نوٹ بک سیج میکر اسٹوڈیو کے ذریعے دستیاب ہے۔ سیج میکر اسٹوڈیو میں، مربوط ترقیاتی ماحول (IDE) مقصد کے لیے ML کے لیے بنایا گیا ہے، آپ نوٹ بک لانچ کر سکتے ہیں جو مختلف مثالوں کی اقسام اور مختلف کنفیگریشنز کے ساتھ چلتی ہیں، ساتھیوں کے ساتھ مل کر کام کرتی ہیں، اور مشین لرننگ (ML) کے لیے اضافی مقصد سے بنی خصوصیات تک رسائی حاصل کر سکتی ہیں۔ دوسرا آپشن استعمال کر رہا ہے a سیج میکر نوٹ بک مثالجو کہ Jupyter Notebook ایپ کو چلانے والی ایک مکمل طور پر منظم ML کمپیوٹ مثال ہے۔
اس پوسٹ میں، ہم ایک RAG حل پیش کرتے ہیں جو کہ کسٹم ڈومین کے لیے مخصوص زیادہ درست جوابات فراہم کرنے کے لیے بیرونی معلومات کے ذرائع سے اضافی ڈیٹا کے ساتھ ماڈل کے علم کو بڑھاتا ہے۔ ہم ایک واحد سیج میکر اسٹوڈیو نوٹ بک استعمال کرتے ہیں جو ایک پر چل رہی ہے۔ ml.g5.2xlarge
مثال (1 A10G GPU) اور لاما 2 7b چیٹ hf, Llama 2 7b کا ٹھیک ٹیون ورژن، جسے Hugging Face Hub سے ڈائیلاگ استعمال کے کیسز کے لیے بہتر بنایا گیا ہے۔ ہم دو AWS میڈیا اور انٹرٹینمنٹ بلاگ پوسٹس کو بطور نمونہ بیرونی ڈیٹا استعمال کرتے ہیں، جسے ہم ایمبیڈنگ میں تبدیل کرتے ہیں۔ BAAI/bge-small-en-v1.5 سرایت ہم سرایت کو ذخیرہ کرتے ہیں۔ پنکون، ایک ویکٹر پر مبنی ڈیٹا بیس جو اعلی کارکردگی کی تلاش اور مماثلت کی مماثلت پیش کرتا ہے۔ ہم اس بات پر بھی تبادلہ خیال کرتے ہیں کہ جب آپ اپنی پروٹو ٹائپنگ مکمل کرتے ہیں تو ریئل ٹائم انفرنس کے لیے نوٹ بک میں تجربہ کرنے سے اپنے ماڈلز کو SageMaker اینڈ پوائنٹس پر تعینات کرنے تک کیسے منتقل کیا جائے۔ ایک ہی نقطہ نظر مختلف ماڈلز اور ویکٹر ڈیٹا بیس کے ساتھ استعمال کیا جا سکتا ہے۔
حل جائزہ
مندرجہ ذیل خاکہ حل کے فن تعمیر کی وضاحت کرتا ہے۔
حل کو نافذ کرنا دو اعلیٰ سطحی مراحل پر مشتمل ہے: سیج میکر اسٹوڈیو نوٹ بک کا استعمال کرتے ہوئے حل تیار کرنا، اور ماڈلز کو اندازہ لگانے کے لیے تعینات کرنا۔
سیج میکر اسٹوڈیو نوٹ بک کا استعمال کرتے ہوئے حل تیار کریں۔
حل تیار کرنا شروع کرنے کے لیے درج ذیل اقدامات کو مکمل کریں:
- نوٹ بک میں Hugging Face Hub سے Llama-2 7b چیٹ ماڈل لوڈ کریں۔
- کے ساتھ ایک PromptTemplate بنائیں لینگ چین اور اسے اپنے استعمال کے کیس کے لیے اشارے بنانے کے لیے استعمال کریں۔
- 1-2 مثال کے اشارے کے لیے، فوری سیاق و سباق کے طور پر بیرونی دستاویزات سے متعلقہ جامد متن شامل کریں اور جائزہ لیں کہ کیا جوابات کا معیار بہتر ہوتا ہے۔
- یہ فرض کرتے ہوئے کہ معیار بہتر ہوتا ہے، RAG سوال کا جواب دینے والے ورک فلو کو لاگو کریں:
- بیرونی دستاویزات جمع کریں جو ماڈل کو آپ کے استعمال کے معاملے میں سوالات کے بہتر جواب دینے میں مدد کر سکیں۔
- BGE ایمبیڈنگز ماڈل کو لوڈ کریں اور ان دستاویزات کی ایمبیڈنگز بنانے کے لیے اسے استعمال کریں۔
- ان ایمبیڈنگز کو پنیکون انڈیکس میں اسٹور کریں۔
- جب کوئی صارف سوال پوچھتا ہے، تو Pinecone میں مماثلت کی تلاش کریں اور سب سے ملتی جلتی دستاویزات سے مواد کو پرامپٹ کے سیاق و سباق میں شامل کریں۔
پیمانے پر اندازہ لگانے کے لیے ماڈلز کو SageMaker پر تعینات کریں۔
جب آپ اپنے کارکردگی کے اہداف کو پورا کر لیتے ہیں، تو آپ ماڈلز کو SageMaker میں تعینات کر سکتے ہیں تاکہ جنریٹیو AI ایپلی کیشنز کے ذریعے استعمال کیا جا سکے۔
- Llama-2 7b چیٹ ماڈل کو SageMaker ریئل ٹائم اینڈ پوائنٹ پر تعینات کریں۔
- تعینات کریں۔ BAAI/bge-small-en-v1.5 SageMaker ریئل ٹائم اینڈ پوائنٹ میں ایمبیڈنگز ماڈل۔
- جنریٹیو AI ایپلی کیشنز کے جواب دینے والے اپنے سوال میں تعینات ماڈلز کا استعمال کریں۔
مندرجہ ذیل حصوں میں، ہم آپ کو سیج میکر اسٹوڈیو نوٹ بک میں اس حل کو نافذ کرنے کے مراحل سے آگاہ کرتے ہیں۔
شرائط
اس پوسٹ میں درج مراحل پر عمل کرنے کے لیے، آپ کے پاس AWS اکاؤنٹ اور ایک ہونا ضروری ہے۔ AWS شناخت اور رسائی کا انتظام (IAM) حل کے وسائل بنانے اور ان تک رسائی کی اجازت کے ساتھ کردار۔ اگر آپ AWS میں نئے ہیں تو دیکھیں اسٹینڈ اسٹون AWS اکاؤنٹ بنائیں.
اپنے AWS اکاؤنٹ میں SageMaker اسٹوڈیو نوٹ بک استعمال کرنے کے لیے، آپ کو ایک کی ضرورت ہے۔ سیج میکر ڈومین ایک صارف پروفائل کے ساتھ جس کے پاس سیج میکر اسٹوڈیو ایپ لانچ کرنے کی اجازت ہے۔ اگر آپ سیج میکر اسٹوڈیو میں نئے ہیں، تو کوئیک اسٹوڈیو سیٹ اپ شروع کرنے کا تیز ترین طریقہ ہے۔ ایک ہی کلک کے ساتھ، SageMaker SageMaker ڈومین کو پہلے سے طے شدہ پیش سیٹوں کے ساتھ فراہم کرتا ہے، بشمول صارف پروفائل، IAM رول، IAM تصدیق، اور عوامی انٹرنیٹ تک رسائی۔ اس پوسٹ کے لیے نوٹ بک ایک فرض کرتی ہے۔ ml.g5.2xlarge
مثال کی قسم. اپنے کوٹہ کا جائزہ لینے یا بڑھانے کے لیے، AWS سروس کوٹاس کنسول کھولیں، منتخب کریں۔ AWS خدمات نیویگیشن پین میں، منتخب کریں۔ ایمیزون سیج میکر، اور اسٹوڈیو کرنل گیٹ وے ایپس کی قدر کا حوالہ دیں۔ ml.g5.2xlarge
مثال کے طور پر.
اپنے کوٹہ کی حد کی تصدیق کرنے کے بعد، آپ کو Llama 2 7b چیٹ استعمال کرنے کے لیے انحصار کو مکمل کرنا ہوگا۔
Llama 2 7b چیٹ کے تحت دستیاب ہے۔ لاما 2 لائسنس. گلے ملنے والے چہرے پر لاما 2 تک رسائی حاصل کرنے کے لیے، آپ کو پہلے چند مراحل مکمل کرنے ہوں گے۔
- اگر آپ کے پاس پہلے سے ہیگنگ فیس اکاؤنٹ نہیں ہے تو بنائیں۔
- میٹا پر فارم "للاما کے اگلے ورژن تک رسائی کی درخواست کریں" کو مکمل کریں۔ ویب سائٹ.
- تک رسائی کی درخواست کریں۔ لاما 2 7b چیٹ گلے ملنے والے چہرے پر۔
آپ کو رسائی دیے جانے کے بعد، آپ ماڈلز تک رسائی کے لیے ایک نیا رسائی ٹوکن بنا سکتے ہیں۔ رسائی ٹوکن بنانے کے لیے، پر تشریف لے جائیں۔ ترتیبات ہگنگ فیس ویب سائٹ پر صفحہ۔
اسے ویکٹر ڈیٹا بیس کے طور پر استعمال کرنے کے لیے آپ کے پاس Pinecone کے ساتھ ایک اکاؤنٹ ہونا ضروری ہے۔ Pinecone AWS پر کے ذریعے دستیاب ہے۔ AWS مارکیٹ پلیٹ فارم. Pinecone ویب سائٹ ایک بنانے کا اختیار بھی پیش کرتی ہے۔ مفت اکاؤنٹ جو کہ ایک سنگل انڈیکس بنانے کی اجازت کے ساتھ آتا ہے، جو اس پوسٹ کے مقاصد کے لیے کافی ہے۔ اپنی Pinecone کیز کو بازیافت کرنے کے لیے، کھولیں۔ پائنیکون کنسول اور منتخب کریں API چابیاں.
نوٹ بک اور ماحول ترتیب دیں۔
اس پوسٹ میں کوڈ کو فالو کرنے کے لیے سیج میکر اسٹوڈیو کھولیں اور درج ذیل کو کلون کریں۔ GitHub ذخیرہ. اگلا، نوٹ بک کھولیں studio-local-gen-ai/rag/RAG-with-Llama-2-on-Studio.ipynb اور PyTorch 2.0.0 Python 3.10 GPU آپٹمائزڈ امیج، Python 3 کرنل، اور منتخب کریں۔ ml.g5.2xlarge
مثال کی قسم کے طور پر. اگر آپ پہلی بار سیج میکر اسٹوڈیو نوٹ بک استعمال کررہے ہیں، تو رجوع کریں۔ ایمیزون سیج میکر اسٹوڈیو نوٹ بک بنائیں یا کھولیں۔.
ترقی کے ماحول کو ترتیب دینے کے لیے، آپ کو ضروری Python لائبریریاں انسٹال کرنے کی ضرورت ہے، جیسا کہ درج ذیل کوڈ میں دکھایا گیا ہے۔
%%writefile requirements.txt
sagemaker>=2.175.0
transformers==4.33.0
accelerate==0.21.0
datasets==2.13.0
langchain==0.0.297
pypdf>=3.16.3
pinecone-client
sentence_transformers
safetensors>=0.3.3
!pip install -U -r requirements.txt
پہلے سے تربیت یافتہ ماڈل اور ٹوکنائزر لوڈ کریں۔
مطلوبہ لائبریریوں کو درآمد کرنے کے بعد، آپ لوڈ کر سکتے ہیں۔ Llama-2 7b چیٹ Hugging Face سے اس کے متعلقہ ٹوکنائزرز کے ساتھ ماڈل۔ یہ بھاری بھرکم ماڈل نمونے سیج میکر اسٹوڈیو کے اندر مقامی ڈائرکٹری میں محفوظ ہیں۔ جب بھی آپ کو کسی دوسرے وقت اپنا کام دوبارہ شروع کرنے کی ضرورت ہو تو یہ آپ کو تیزی سے انہیں میموری میں دوبارہ لوڈ کرنے کے قابل بناتا ہے۔
import torch from transformers import ( AutoTokenizer, LlamaTokenizer, LlamaForCausalLM, GenerationConfig, AutoModelForCausalLM
)
import transformers tg_model_id = "meta-llama/Llama-2-7b-chat-hf" #the model id in Hugging Face
tg_model_path = f"./tg_model/{tg_model_id}" #the local directory where the model will be saved tg_model = AutoModelForCausalLM.from_pretrained(tg_model_id, token=hf_access_token,do_sample=True, use_safetensors=True, device_map="auto", torch_dtype=torch.float16
tg_tokenizer = AutoTokenizer.from_pretrained(tg_model_id, token=hf_access_token) tg_model.save_pretrained(save_directory=tg_model_path, from_pt=True)
tg_tokenizer.save_pretrained(save_directory=tg_model_path, from_pt=True)
ایسا سوال پوچھیں جس کے لیے تازہ ترین معلومات درکار ہوں۔
اب آپ ماڈل کا استعمال شروع کر سکتے ہیں اور سوالات پوچھ سکتے ہیں۔ Llama-2 چیٹ ماڈل مندرجہ ذیل فارمیٹ پر عمل پیرا ہونے کی توقع کرتے ہیں:
<s>[INST] <<SYS>>
system_prompt
<<SYS>>
{{ user_message }} [/INST]
آپ استعمال کر سکتے ہیں PromptTemplate LangChain سے پرامپٹ فارمیٹ کی بنیاد پر ایک نسخہ تیار کرنے کے لیے، تاکہ آپ آسانی سے آگے بڑھتے ہوئے پرامپٹس بنا سکیں:
from langchain import PromptTemplate template = """<s>[INST] <<SYS>>nYou are an assistant for question-answering tasks. You are helpful and friendly. Use the following pieces of retrieved context to answer the query. If you don't know the answer, you just say I don't know. Use three sentences maximum and keep the answer concise.
<<SYS>>n
{context}n
{question} [/INST] """
prompt_template = PromptTemplate( template=template, input_variables=['context','question'] )
آئیے ماڈل سے ایک سوال پوچھیں جس کے لیے 2023 سے حالیہ معلومات درکار ہیں۔ آپ LangChain اور خاص طور پر ایل ایل ایم چین LLM کے پیرامیٹرز کے طور پر چین اور پاس کی قسم، پرامپٹ ٹیمپلیٹ جو آپ نے پہلے بنایا تھا، اور سوال:
question = "When can I visit the AWS M&E Customer Experience Center in New York City?" tg_tokenizer.add_special_tokens( {"pad_token": "[PAD]"} )
tg_tokenizer.padding_side = "left" tg_pipe = transformers.pipeline(task='text-generation', model=tg_model, tokenizer=tg_tokenizer, num_return_sequences=1, eos_token_id=tg_tokenizer.eos_token_id, pad_token_id=tg_tokenizer.eos_token_id, max_new_tokens=400, temperature=0.7) from langchain.chains import LLMChain
from langchain.llms import HuggingFacePipeline llm=HuggingFacePipeline(pipeline=tg_pipe, model_kwargs={'temperature':0.7})
llm_chain = LLMChain(llm=llm, prompt=prompt_template)
no_context_response = llm_chain.predict(context="", question=question)
print(no_context_response)
ہمیں مندرجہ ذیل تیار کردہ جواب ملتا ہے:
تک پہنچنے کے لیے آپ کا شکریہ! نیو یارک سٹی میں AWS M&E کسٹمر ایکسپریئنس سینٹر فی الحال COVID-19 وبائی امراض کی وجہ سے دوروں کے لیے بند ہے۔ تاہم، آپ ان کی آفیشل ویب سائٹ یا سوشل میڈیا اکاؤنٹس پر کسی بھی اپ ڈیٹ کے لیے چیک کر سکتے ہیں کہ سینٹر کب دوبارہ کھلے گا۔ اس دوران، آپ ان کے ورچوئل ٹورز اور آن لائن دستیاب وسائل کو دریافت کر سکتے ہیں۔
پرامپٹ میں سیاق و سباق شامل کرکے جواب کو بہتر بنائیں
ہم نے جو جواب تیار کیا ہے وہ مکمل طور پر درست نہیں ہے۔ آئیے دیکھتے ہیں کہ کیا ہم کچھ سیاق و سباق فراہم کر کے اسے بہتر بنا سکتے ہیں۔ آپ پوسٹ سے ایک اقتباس شامل کر سکتے ہیں۔ AWS نے نیویارک میں نئے M&E کسٹمر ایکسپریئنس سینٹر کا اعلان کیا۔، جس میں 2023 سے موضوع پر اپ ڈیٹس شامل ہیں:
context = """Media and entertainment (M&E) customers continue to face challenges in creating more content, more quickly, and distributing it to more endpoints than ever before in their quest to delight viewers globally. Amazon Web Services (AWS), along with AWS Partners, have showcased the rapid evolution of M&E solutions for years at industry events like the National Association of Broadcasters (NAB) Show and the International Broadcast Convention (IBC). Until now, AWS for M&E technology demonstrations were accessible in this way just a few weeks out of the year. Customers are more engaged than ever before; they want to have higher quality conversations regarding user experience and media tooling. These conversations are best supported by having an interconnected solution architecture for reference. Scheduling a visit of the M&E Customer Experience Center will be available starting November 13th, please send an email to AWS-MediaEnt-CXC@amazon.com."""
LLMCchain دوبارہ استعمال کریں اور پچھلے متن کو سیاق و سباق کے طور پر پاس کریں:
context_response = llm_chain.predict(context=context, question=question)
print(context_response)
نیا جواب تازہ ترین معلومات کے ساتھ سوال کا جواب دیتا ہے:
آپ 13 نومبر سے نیو یارک سٹی میں AWS M&E کسٹمر ایکسپریئنس سنٹر پر جا سکتے ہیں۔ وزٹ شیڈول کرنے کے لیے براہ کرم AWS-MediaEnt-CXC@amazon.com پر ای میل بھیجیں۔
ہم نے تصدیق کی ہے کہ صحیح سیاق و سباق شامل کرنے سے، ماڈل کی کارکردگی بہتر ہوئی ہے۔ اب آپ پوچھے گئے سوال کے لیے صحیح سیاق و سباق تلاش کرنے اور شامل کرنے پر اپنی کوششیں مرکوز کر سکتے ہیں۔ دوسرے الفاظ میں، RAG کو نافذ کریں۔
BGE ایمبیڈنگز اور Pinecone کے ساتھ RAG سوال کے جواب کو لاگو کریں۔
اس موڑ پر، آپ کو ماڈل کے علم کو بڑھانے کے لیے معلومات کے ذرائع کا فیصلہ کرنا چاہیے۔ یہ ذرائع آپ کی تنظیم کے اندرونی ویب صفحات یا دستاویزات، یا عوامی طور پر دستیاب ڈیٹا کے ذرائع ہو سکتے ہیں۔ اس پوسٹ کے مقاصد اور سادگی کی خاطر، ہم نے 2023 میں شائع ہونے والی AWS بلاگ پوسٹس کا انتخاب کیا ہے:
یہ پوسٹس پہلے سے ہی فوری رسائی کے لیے سیج میکر اسٹوڈیو میں ڈیٹا پروجیکٹ ڈائرکٹری میں پی ڈی ایف دستاویزات کے طور پر دستیاب ہیں۔ دستاویزات کو قابل انتظام حصوں میں تقسیم کرنے کے لیے، آپ استعمال کر سکتے ہیں۔ تکراری کریکٹر ٹیکسٹ اسپلٹر LangChain سے طریقہ:
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.document_loaders import PyPDFDirectoryLoader loader = PyPDFDirectoryLoader("./data/") documents = loader.load() text_splitter=RecursiveCharacterTextSplitter( chunk_size=1000, chunk_overlap=5
)
docs = text_splitter.split_documents(documents)
اگلا، BGE ایمبیڈنگز ماڈل استعمال کریں۔ bge-small-en کی طرف سے پیدا بیجنگ اکیڈمی آف آرٹیفیشل انٹیلی جنس (BAAI) جو کہ ان ٹکڑوں کے ایمبیڈنگز کو جنریٹ کرنے کے لیے Hugging Face پر دستیاب ہے۔ اسٹوڈیو میں مقامی ڈائرکٹری میں ماڈل کو ڈاؤن لوڈ اور محفوظ کریں۔ ہم fp32 استعمال کرتے ہیں تاکہ یہ مثال کے CPU پر چل سکے۔
em_model_name = "BAAI/bge-small-en"
em_model_path = f"./em-model" from transformers import AutoModel
# Load model from HuggingFace Hub
em_model = AutoModel.from_pretrained(em_model_name,torch_dtype=torch.float32)
em_tokenizer = AutoTokenizer.from_pretrained(em_model_name,device="cuda") # save model to disk
em_tokenizer.save_pretrained(save_directory=f"{em_model_path}/model",from_pt=True)
em_model.save_pretrained(save_directory=f"{em_model_path}/model",from_pt=True)
em_model.eval()
ایمبیڈنگ_جنریٹر فنکشن بنانے کے لیے درج ذیل کوڈ کا استعمال کریں، جو دستاویز کے ٹکڑوں کو بطور ان پٹ لیتا ہے اور BGE ماڈل کا استعمال کرتے ہوئے ایمبیڈنگز تیار کرتا ہے۔
# Tokenize sentences
def tokenize_text(_input, device): return em_tokenizer( [_input], padding=True, truncation=True, return_tensors='pt' ).to(device) # Run embedding task as a function with model and text sentences as input
def embedding_generator(_input, normalize=True): # Compute token embeddings with torch.no_grad(): embedded_output = em_model( **tokenize_text( _input, em_model.device ) ) sentence_embeddings = embedded_output[0][:, 0] # normalize embeddings if normalize: sentence_embeddings = torch.nn.functional.normalize( sentence_embeddings, p=2, dim=1 ) return sentence_embeddings[0, :].tolist() sample_sentence_embedding = embedding_generator(docs[0].page_content)
print(f"Embedding size of the document --->", len(sample_sentence_embedding))
اس پوسٹ میں، ہم Pinecone کا استعمال کرتے ہوئے ایک RAG ورک فلو کا مظاہرہ کرتے ہیں، جو ایک منظم، کلاؤڈ مقامی ہے۔ ویکٹر ڈیٹا بیس یہ بھی ایک پیش کرتا ہے API مماثلت کی تلاش کے لیے۔ آپ اپنا پسندیدہ ویکٹر ڈیٹا بیس استعمال کرنے کے لیے درج ذیل کوڈ کو دوبارہ لکھنے کے لیے آزاد ہیں۔
ہم شروع کرتے ہیں a پائنیکون ازگر کا کلائنٹ اور ایمبیڈنگ ماڈل کی آؤٹ پٹ لمبائی کا استعمال کرتے ہوئے ایک نیا ویکٹر سرچ انڈیکس بنائیں۔ پچھلے مرحلے میں ہم نے جو ایمبیڈنگز بنائی تھیں ہم ان کو داخل کرنے کے لیے LangChain کی بلٹ ان Pinecone کلاس استعمال کرتے ہیں۔ اسے تین پیرامیٹرز کی ضرورت ہے: داخل کرنے کے لیے دستاویزات، ایمبیڈنگز جنریٹر کا فنکشن، اور پنیکون انڈیکس کا نام۔
import pinecone
pinecone.init( api_key = os.environ["PINECONE_API_KEY"], environment = os.environ["PINECONE_ENV"]
)
#check if index already exists, if not we create it
index_name = "rag-index"
if index_name not in pinecone.list_indexes(): pinecone.create_index( name=index_name, dimension=len(sample_sentence_embedding), ## 384 for bge-small-en metric='cosine' ) #insert the embeddings
from langchain.vectorstores import Pinecone
vector_store = Pinecone.from_documents( docs, embedding_generator, index_name=index_name
)
Llama-2 7B چیٹ ماڈل کو میموری میں لوڈ کرنے اور Pinecone انڈیکس میں ضم شدہ سرایت کے ساتھ، آپ اب ان عناصر کو جوڑ کر ہمارے سوال کے جواب کے استعمال کے کیس کے لیے Llama 2 کے جوابات کو بڑھا سکتے ہیں۔ اس کو حاصل کرنے کے لیے، آپ LangChain کو ملازمت دے سکتے ہیں۔ بازیافت کیو اے، جو ویکٹر اسٹور سے ملتے جلتے دستاویزات کے ساتھ ابتدائی پرامپٹ کو بڑھاتا ہے۔ ترتیب سے return_source_documents=True
، آپ جواب کے حصے کے طور پر جواب تیار کرنے کے لیے استعمال ہونے والی عین دستاویزات میں مرئیت حاصل کرتے ہیں، جس سے آپ جواب کی درستگی کی تصدیق کر سکتے ہیں۔
from langchain.chains import RetrievalQA
import textwrap #helper method to improve the readability of the response
def print_response(llm_response): temp = [textwrap.fill(line, width=100) for line in llm_response['result'].split('n')] response = 'n'.join(temp) print(f"{llm_response['query']}n n{response}'n n Source Documents:") for source in llm_response["source_documents"]: print(source.metadata) llm_qa_chain = RetrievalQA.from_chain_type( llm=llm, #the Llama-2 7b chat model chain_type='stuff', retriever=vector_store.as_retriever(search_kwargs={"k": 2}), # perform similarity search in Pinecone return_source_documents=True, #show the documents that were used to answer the question chain_type_kwargs={"prompt": prompt_template}
)
print_response(llm_qa_chain(question))
ہمیں درج ذیل جواب ملتا ہے:
سوال: میں نیو یارک سٹی میں AWS M&E کسٹمر ایکسپریئنس سینٹر کب جا سکتا ہوں؟
A: میں مدد کرنے میں خوش ہوں! سیاق و سباق کے مطابق، نیویارک شہر میں AWS M&E کسٹمر ایکسپیرینس سینٹر 13 نومبر سے شروع ہونے والے دوروں کے لیے دستیاب ہوگا۔ آپ وزٹ شیڈول کرنے کے لیے AWS-MediaEnt-CXC@amazon.com پر ای میل بھیج سکتے ہیں۔'
ماخذ دستاویزات:
{'page': 4.0, 'source': 'data/AWS نے نیو یارک سٹی میں نئے M&E کسٹمر ایکسپیرینس سنٹر کا اعلان کیا _ AWS for M&E Blog.pdf'}
{'page': 2.0, 'source': 'data/AWS نے نیو یارک سٹی میں نئے M&E کسٹمر ایکسپیرینس سنٹر کا اعلان کیا _ AWS for M&E Blog.pdf'}
آئیے ایک مختلف سوال آزماتے ہیں:
question2=" How many awards have AWS Media Services won in 2023?"
print_response(llm_qa_chain(question2))
ہمیں درج ذیل جواب ملتا ہے:
س: AWS میڈیا سروسز نے 2023 میں کتنے ایوارڈز جیتے ہیں؟
A: بلاگ پوسٹ کے مطابق، AWS میڈیا سروسز نے 2023 میں پانچ انڈسٹری ایوارڈز جیتے ہیں۔'
ماخذ دستاویزات:
{'صفحہ': 0.0، 'ماخذ': 'ڈیٹا/AWS میڈیا سروسز نے صنعت کی تعریفیں _ AWS for M&E Blog.pdf'}
{'صفحہ': 1.0، 'ماخذ': 'ڈیٹا/AWS میڈیا سروسز نے صنعت کی تعریفیں _ AWS for M&E Blog.pdf'}
آپ کے اعتماد کی کافی سطح قائم کرنے کے بعد، آپ ماڈلز کو تعینات کر سکتے ہیں۔ ریئل ٹائم انفرنس کے لیے سیج میکر اینڈ پوائنٹس. یہ اختتامی نقطے مکمل طور پر منظم ہیں اور آٹو اسکیلنگ کے لیے تعاون پیش کرتے ہیں۔
سیج میکر لارج ماڈل انفرنس کنٹینرز (LMIs) کا استعمال کرتے ہوئے بڑے ماڈل کا اندازہ پیش کرتا ہے، جسے ہم اپنے ماڈلز کو تعینات کرنے کے لیے استعمال کر سکتے ہیں۔ یہ کنٹینرز ڈیپ اسپیڈ جیسی پہلے سے نصب اوپن سورس لائبریریوں سے لیس ہوتے ہیں، جس سے کارکردگی کو بڑھانے والی تکنیکوں جیسے کہ تخمینہ کے دوران ٹینسر متوازی کے نفاذ میں سہولت ہوتی ہے۔ مزید برآں، وہ DJLServing کو پہلے سے تعمیر شدہ مربوط ماڈل سرور کے طور پر استعمال کرتے ہیں۔ DJLSserving یہ ایک اعلی کارکردگی کا حامل، یونیورسل ماڈل پیش کرنے والا حل ہے جو متحرک بیچنگ اور ورکر آٹو اسکیلنگ کے لیے سپورٹ فراہم کرتا ہے، اس طرح تھرو پٹ میں اضافہ ہوتا ہے۔
اپنے نقطہ نظر میں، ہم SageMaker LMI کو DJLServing اور DeepSpeed Inference کے ساتھ استعمال کرتے ہیں تاکہ Llama-2-chat 7b اور BGE ماڈلز کو SageMaker کے اختتامی پوائنٹس پر تعینات کیا جا سکے۔ ml.g5.2xlarge
مثالیں، ریئل ٹائم انفرنس کو فعال کرنا۔ اگر آپ خود ان اقدامات پر عمل کرنا چاہتے ہیں تو ساتھ والے کو دیکھیں نوٹ بک تفصیلی ہدایات کے لئے.
آپ کو دو کی ضرورت ہوگی۔ ml.g5.2xlarge
تعیناتی کے لئے مثالیں. اپنے کوٹہ کا جائزہ لینے یا بڑھانے کے لیے، AWS سروس کوٹاس کنسول کھولیں، منتخب کریں۔ AWS خدمات نیویگیشن پین میں، منتخب کریں۔ ایمیزون سیج میکر، اور کے لیے قدر کا حوالہ دیں۔ ml.g5.2xlarge
اختتامی نقطہ کے استعمال کے لیے۔
مندرجہ ذیل اقدامات SageMaker اینڈ پوائنٹ پر RAG ورک فلو کے لیے حسب ضرورت ماڈلز کی تعیناتی کے عمل کا خاکہ پیش کرتے ہیں۔
- تعینات کریں۔ للہ -2 7b ایک پر چلنے والے سیج میکر ریئل ٹائم اینڈ پوائنٹ سے چیٹ ماڈل
ml.g5.2xlarge
تیز ٹیکسٹ جنریشن کی مثال۔ - تعینات کریں۔ BAAI/bge-small-en-v1.5 ایک SageMaker ریئل ٹائم اینڈ پوائنٹ پر چلنے والے ماڈل کو سرایت کرتا ہے۔
ml.g5.2xlarge
مثال. متبادل طور پر، آپ اپنا ایمبیڈنگ ماڈل تعینات کر سکتے ہیں۔ - ایک سوال پوچھیں اور LangChain استعمال کریں۔ بازیافت کیو اے Pinecone سے ملتی جلتی دستاویزات کے ساتھ پرامپٹ کو بڑھانے کے لیے، اس بار SageMaker ریئل ٹائم اینڈ پوائنٹ میں تعینات ماڈل کا استعمال کرتے ہوئے:
# convert your local LLM into SageMaker endpoint LLM
llm_sm_ep = SagemakerEndpoint( endpoint_name=tg_sm_model.endpoint_name, # <--- Your text-gen model endpoint name region_name=region, model_kwargs={ "temperature": 0.05, "max_new_tokens": 512 }, content_handler=content_handler,
) llm_qa_smep_chain = RetrievalQA.from_chain_type( llm=llm_sm_ep, # <--- This uses SageMaker Endpoint model for inference chain_type='stuff', retriever=vector_store.as_retriever(search_kwargs={"k": 2}), return_source_documents=True, chain_type_kwargs={"prompt": prompt_template}
)
- اس بات کی تصدیق کرنے کے لیے LangChain کا استعمال کریں کہ سرایت کرنے والے ماڈل کے ساتھ SageMaker اختتامی نقطہ توقع کے مطابق کام کرتا ہے تاکہ اسے مستقبل میں دستاویز کے ادخال کے لیے استعمال کیا جا سکے۔
response_model = smr_client.invoke_endpoint( EndpointName=em_sm_model.endpoint_name, <--- Your embedding model endpoint name Body=json.dumps({ "text": "This is a sample text" }), ContentType="application/json",
) outputs = json.loads(response_model["Body"].read().decode("utf8"))['outputs']
صاف کرو
اپنے وسائل کو صاف کرنے کے لیے درج ذیل اقدامات کو مکمل کریں:
- جب آپ اپنی سیج میکر اسٹوڈیو نوٹ بک میں کام ختم کر لیں، تو یقینی بنائیں کہ آپ نے اسے بند کر دیا ہے۔
ml.g5.2xlarge
مثال کے طور پر اسٹاپ آئیکن کو منتخب کرکے کسی بھی چارجز سے بچنے کے لیے۔ آپ بھی ترتیب دے سکتے ہیں۔ لائف سائیکل کنفیگریشن اسکرپٹس وسائل کو استعمال نہ ہونے پر خود بخود بند کرنا۔
- اگر آپ نے ماڈلز کو SageMaker اینڈ پوائنٹس پر تعینات کیا ہے، تو نوٹ بک کے آخر میں درج ذیل کوڈ کو اینڈ پوائنٹس کو حذف کرنے کے لیے چلائیں:
#delete your text generation endpoint
sm_client.delete_endpoint( EndpointName=tg_sm_model.endpoint_name
)
# delete your text embedding endpoint
sm_client.delete_endpoint( EndpointName=em_sm_model.endpoint_name
)
- آخر میں، Pinecone انڈیکس کو حذف کرنے کے لیے درج ذیل لائن کو چلائیں:
pinecone.delete_index(index_name)
نتیجہ
SageMaker نوٹ بکس Retrieval Augmented Generation کے ساتھ اپنے سفر کو شروع کرنے کا ایک سیدھا سا طریقہ فراہم کرتی ہیں۔ وہ آپ کو اضافی انفراسٹرکچر کو گھمائے بغیر مختلف ماڈلز، کنفیگریشنز اور سوالات کے ساتھ انٹرایکٹو تجربہ کرنے کی اجازت دیتے ہیں۔ اس پوسٹ میں، ہم نے LangChain، BGE ایمبیڈنگز ماڈل، اور Pinecone کا استعمال کرتے ہوئے سوال کے جواب کے استعمال کے معاملے میں Llama 2 7b چیٹ کی کارکردگی کو کیسے بڑھایا ہے۔ شروع کرنے کے لیے، سیج میکر اسٹوڈیو شروع کریں اور چلائیں۔ نوٹ بک مندرجہ ذیل میں دستیاب ہے GitHub repo. براہ کرم تبصرے کے سیکشن میں اپنے خیالات کا اشتراک کریں!
مصنفین کے بارے میں
Anastasia Tzeveleka AWS میں مشین لرننگ اور AI سپیشلسٹ سولیوشن آرکیٹیکٹ ہے۔ وہ EMEA میں صارفین کے ساتھ کام کرتی ہے اور AWS سروسز کا استعمال کرتے ہوئے پیمانے پر مشین لرننگ سلوشنز کی تعمیر میں ان کی مدد کرتی ہے۔ اس نے مختلف ڈومینز میں پروجیکٹس پر کام کیا ہے جن میں نیچرل لینگویج پروسیسنگ (NLP)، MLOps اور Low Code No Code ٹولز شامل ہیں۔
پرناو مورتی AWS میں ایک AI/ML ماہر حل آرکیٹیکٹ ہے۔ وہ صارفین کو مشین لرننگ (ML) کام کے بوجھ کو SageMaker پر بنانے، تربیت دینے، تعینات کرنے اور منتقل کرنے میں مدد کرنے پر توجہ مرکوز کرتا ہے۔ اس نے پہلے سیمی کنڈکٹر انڈسٹری میں کام کیا جو سیمی کنڈکٹر کے عمل کو بہتر بنانے کے لیے بڑے کمپیوٹر وژن (CV) اور قدرتی زبان کی پروسیسنگ (NLP) ماڈل تیار کرتا ہے۔ اپنے فارغ وقت میں وہ شطرنج کھیلنا اور سفر کرنا پسند کرتا ہے۔
- SEO سے چلنے والا مواد اور PR کی تقسیم۔ آج ہی بڑھا دیں۔
- پلیٹو ڈیٹا ڈاٹ نیٹ ورک ورٹیکل جنریٹو اے آئی۔ اپنے آپ کو بااختیار بنائیں۔ یہاں تک رسائی حاصل کریں۔
- پلیٹوآئ اسٹریم۔ ویب 3 انٹیلی جنس۔ علم میں اضافہ۔ یہاں تک رسائی حاصل کریں۔
- پلیٹو ای ایس جی۔ کاربن، کلین ٹیک، توانائی ، ماحولیات، شمسی، ویسٹ مینجمنٹ یہاں تک رسائی حاصل کریں۔
- پلیٹو ہیلتھ۔ بائیوٹیک اینڈ کلینیکل ٹرائلز انٹیلی جنس۔ یہاں تک رسائی حاصل کریں۔
- ماخذ: https://aws.amazon.com/blogs/machine-learning/use-amazon-sagemaker-studio-to-build-a-rag-question-answering-solution-with-llama-2-langchain-and-pinecone-for-fast-experimentation/
- : ہے
- : ہے
- : نہیں
- :کہاں
- $UP
- 1
- 10
- 100
- 13
- 16
- 2023
- 33
- 500
- 7
- a
- AC
- اکیڈمی
- تک رسائی حاصل
- ڈیٹا تک رسائی۔
- قابل رسائی
- کے مطابق
- اکاؤنٹ
- اکاؤنٹس
- درستگی
- درست
- حاصل
- شامل کریں
- انہوں نے مزید کہا
- ایڈیشنل
- اس کے علاوہ
- مان لیا
- پھر
- AI
- AI / ML
- کی اجازت
- اجازت دے رہا ہے
- کی اجازت دیتا ہے
- ساتھ
- پہلے ہی
- بھی
- ایمیزون
- ایمیزون سیج میکر
- ایمیزون سیج میکر اسٹوڈیو
- ایمیزون ویب سروسز
- ایمیزون ویب سروسز (AWS)
- an
- اور
- اعلان
- جواب
- جواب
- کوئی بھی
- APIs
- اپلی کیشن
- ایپلی کیشنز
- نقطہ نظر
- ایپس
- فن تعمیر
- کیا
- مصنوعی
- مصنوعی ذہانت
- AS
- پوچھنا
- تشخیص کریں
- اسسٹنٹ
- ایسوسی ایشن
- فرض کرتا ہے
- At
- اضافہ
- اضافہ
- augments
- کی توثیق
- آٹو
- خود کار طریقے سے
- دستیاب
- سے اجتناب
- سے نوازا
- ایوارڈ
- AWS
- کی بنیاد پر
- BE
- رہا
- اس سے پہلے
- BEST
- بہتر
- بلاگ
- بلاگ مراسلات
- جسم
- نشر
- تعمیر
- تعمیر میں
- by
- کر سکتے ہیں
- کیس
- مقدمات
- سینٹر
- چین
- زنجیروں
- چیلنجوں
- بوجھ
- چیک کریں
- شطرنج
- میں سے انتخاب کریں
- منتخب کریں
- منتخب کیا
- شہر
- طبقے
- صاف
- کلک کریں
- بند
- کوڈ
- تعاون
- ساتھیوں
- COM
- جمع
- یکجا
- کس طرح
- آتا ہے
- تبصروں
- مکمل
- کمپیوٹنگ
- کمپیوٹر
- کمپیوٹر ویژن
- جامع
- آپکا اعتماد
- ترتیب
- منسلک
- مشتمل
- کنسول
- کنٹینر
- مواد
- سیاق و سباق
- جاری
- کنونشن
- مکالمات
- تبدیل
- اسی کے مطابق
- سکتا ہے
- کوویڈ ۔19
- CoVID-19 وبائی
- تخلیق
- بنائی
- تخلیق
- اس وقت
- اپنی مرضی کے
- گاہک
- گاہک کا تجربہ
- گاہکوں
- اعداد و شمار
- ڈیٹا بیس
- ڈیٹا بیس
- فیصلہ کرنا
- پہلے سے طے شدہ
- خوشی
- مظاہرہ
- demonstrated,en
- انحصار
- تعیناتی
- تعینات
- تعینات
- تعیناتی
- تفصیلی
- ترقی
- ترقی
- آلہ
- مکالمے کے
- مختلف
- بات چیت
- تقسیم
- تقسیم
- دستاویز
- دستاویزات
- ڈومین
- ڈومینز
- ڈان
- نہیں
- نیچے
- ڈاؤن لوڈ، اتارنا
- دو
- کے دوران
- متحرک
- e
- اس سے قبل
- آسانی سے
- کوششوں
- عناصر
- ای میل
- سرایت کرنا
- ای ایم ای اے
- کے قابل بناتا ہے
- کو فعال کرنا
- آخر
- اختتام پوائنٹ
- مصروف
- بڑھانے کے
- تفریح
- مکمل
- ماحولیات
- لیس
- قائم
- واقعات
- کبھی نہیں
- ارتقاء
- مثال کے طور پر
- موجود ہے
- توقع ہے
- توقع
- تجربہ
- تجربہ
- تلاش
- بیرونی
- نکالنے
- چہرہ
- سہولت
- فاسٹ
- سب سے تیزی سے
- خصوصیات
- چند
- فائنل
- تلاش
- پہلا
- پہلی بار
- پانچ
- توجہ مرکوز
- توجہ مرکوز
- پر عمل کریں
- کے بعد
- کے لئے
- فارم
- فارمیٹ
- آگے
- مفت
- دوستانہ
- سے
- مکمل طور پر
- تقریب
- فنکشنل
- مستقبل
- حاصل کرنا
- پیدا
- پیدا
- پیدا ہوتا ہے
- نسل
- پیداواری
- پیداواری AI۔
- جنریٹر
- حاصل
- عالمی سطح پر
- اہداف
- جا
- GPU
- عطا کی
- خوش
- ہے
- ہونے
- he
- مدد
- مدد گار
- مدد
- مدد کرتا ہے
- اعلی سطحی
- اعلی کارکردگی
- اعلی
- ان
- مارو
- کس طرح
- کیسے
- تاہم
- HTML
- HTTPS
- حب
- گلے لگانے والا چہرہ
- i
- IBC
- آئکن
- ID
- شناختی
- if
- وضاحت کرتا ہے
- تصویر
- پر عملدرآمد
- نفاذ
- پر عمل درآمد
- درآمد
- کو بہتر بنانے کے
- بہتر
- بہتر ہے
- in
- دیگر میں
- شامل ہیں
- سمیت
- اضافہ
- اضافہ
- انڈکس
- صنعت
- صنعت واقعات
- معلومات
- انفراسٹرکچر
- ابتدائی
- ان پٹ
- انسٹال
- مثال کے طور پر
- ہدایات
- ضم
- انٹیلی جنس
- باہم منسلک
- اندرونی
- بین الاقوامی سطح پر
- انٹرنیٹ
- انٹرنیٹ تک رسائی
- میں
- IT
- میں
- سفر
- فوٹو
- JSON
- صرف
- رکھیں
- چابیاں
- جان
- علم
- زبان
- بڑے
- شروع
- سیکھنے
- چھوڑ دیا
- لمبائی
- سطح
- لائبریریوں
- کی طرح
- LIMIT
- لائن
- لاما
- ایل ایل ایم
- لوڈ
- بارک
- مقامی
- لو
- مشین
- مشین لرننگ
- بنا
- قابل انتظام
- میں کامیاب
- بہت سے
- کے ملاپ
- زیادہ سے زیادہ
- اس دوران
- میڈیا
- یاد داشت
- میٹا
- میٹا ڈیٹا
- طریقہ
- منتقلی
- ML
- ایم ایل اوپس
- ماڈل
- ماڈل
- زیادہ
- سب سے زیادہ
- ضروری
- نیب
- نام
- قومی
- قدرتی
- قدرتی زبان عملیات
- تشریف لے جائیں
- سمت شناسی
- ضروری
- ضرورت ہے
- ضروریات
- نئی
- نئی رسائی
- NY
- نیو یارک شہر
- اگلے
- ویزا
- نہیں
- نوٹ بک
- نومبر
- اب
- of
- پیش کرتے ہیں
- تجویز
- سرکاری
- سرکاری ویب سائٹ
- on
- ایک
- آن لائن
- کھول
- اوپن سورس
- اصلاح
- اختیار
- آپشنز کے بھی
- or
- تنظیم
- OS
- دیگر
- ہمارے
- باہر
- خاکہ
- پیداوار
- نتائج
- خود
- پیڈ
- صفحہ
- وبائی
- پین
- پیرامیٹرز
- حصہ
- شراکت داروں کے
- منظور
- انجام دیں
- کارکردگی
- اجازتیں
- مرحلہ
- ٹکڑے ٹکڑے
- پلاٹا
- افلاطون ڈیٹا انٹیلی جنس
- پلیٹو ڈیٹا
- کھیل
- مہربانی کرکے
- پوسٹ
- مراسلات
- کو ترجیح دی
- حال (-)
- پچھلا
- پہلے
- عمل
- عمل
- پروسیسنگ
- پروفائل
- منصوبے
- منصوبوں
- پروٹوٹائپ
- prototyping کے
- فراہم
- فراہم کرنے
- عوامی
- عوامی طور پر
- شائع
- مقاصد
- ازگر
- pytorch
- معیار
- تلاش
- سوال
- سوالات
- فوری
- جلدی سے
- تیزی سے
- میں تیزی سے
- پہنچنا
- اصل وقت
- حال ہی میں
- ہدایت
- کا حوالہ دیتے ہیں
- حوالہ
- کے بارے میں
- متعلقہ
- دوبارہ کھولیں
- کی ضرورت
- ضرورت
- ضروریات
- کی ضرورت ہے
- وسائل
- جواب
- جوابات
- نتیجہ
- تجربے کی فہرست
- واپسی
- کا جائزہ لینے کے
- ٹھیک ہے
- کردار
- رن
- چل رہا ہے
- sagemaker
- خاطر
- اسی
- محفوظ کریں
- محفوظ
- کا کہنا ہے کہ
- پیمانے
- سکیلنگ
- شیڈول
- شیڈولنگ
- تلاش کریں
- تلاش
- دوسری
- سیکشنز
- دیکھنا
- سیمکولیٹر
- بھیجنے
- بھیجا
- سرور
- سروس
- سروسز
- مقرر
- قائم کرنے
- سیکنڈ اور
- وہ
- دکھائیں
- ظاہر ہوا
- سے ظاہر ہوا
- بند
- بند کرو
- اسی طرح
- سادگی
- ایک
- سائز
- So
- سماجی
- سوشل میڈیا
- حل
- حل
- کچھ
- ماخذ
- ذرائع
- ماہر
- مخصوص
- خاص طور پر
- اسٹینڈ
- شروع کریں
- شروع
- شروع
- مستحکم
- مرحلہ
- مراحل
- بند کرو
- ذخیرہ
- ذخیرہ
- پردہ
- براہ راست
- سٹوڈیو
- اس طرح
- کافی
- حمایت
- تائید
- اس بات کا یقین
- تیزی سے
- لیتا ہے
- ٹاسک
- کاموں
- تکنیک
- ٹیکنالوجی
- سانچے
- متن
- سے
- کہ
- ۔
- ان
- ان
- وہاں.
- اس طرح
- یہ
- وہ
- اس
- تین
- کے ذریعے
- تھرو پٹ
- وقت
- کرنے کے لئے
- ٹوکن
- ٹوکن دینا
- اوزار
- موضوع
- مشعل
- سیاحت
- ٹرین
- ٹرانسفارمرز
- منتقلی
- سفر
- سچ
- کوشش
- دو
- قسم
- اقسام
- ٹھیٹھ
- عام طور پر
- کے تحت
- یونیورسل
- جب تک
- اپ ڈیٹ کرنے کے لئے
- تازہ ترین معلومات
- استعمال
- استعمال کی شرائط
- استعمال کیس
- استعمال کیا جاتا ہے
- رکن کا
- صارف کا تجربہ
- استعمال
- کا استعمال کرتے ہوئے
- استعمال
- قیمت
- مختلف
- توثیق
- اس بات کی تصدیق
- ورژن
- کی طرف سے
- ناظرین۔
- مجازی
- ورچوئل ٹور
- کی نمائش
- نقطہ نظر
- دورہ
- دورے
- چلنا
- چاہتے ہیں
- راستہ..
- we
- ویب
- ویب خدمات
- ویب سائٹ
- مہینے
- تھے
- جب
- جب بھی
- جس
- جبکہ
- گے
- ساتھ
- کے اندر
- بغیر
- وون
- الفاظ
- کام
- کام کیا
- کارکن
- کام کا بہاؤ
- کام کر
- کام کرتا ہے
- سال
- سال
- یارک
- تم
- اور
- اپنے آپ کو
- زیفیرنیٹ