اپنے ڈیٹا کا استعمال کرتے ہوئے خلاصہ اور سوالوں کے جوابات کے لیے تخلیقی AI فاؤنڈیشن ماڈل استعمال کریں۔ ایمیزون ویب سروسز

اپنے ڈیٹا کا استعمال کرتے ہوئے خلاصہ اور سوالوں کے جوابات کے لیے تخلیقی AI فاؤنڈیشن ماڈل استعمال کریں۔ ایمیزون ویب سروسز

بڑے لینگویج ماڈلز (LLMs) کو پیچیدہ دستاویزات کا تجزیہ کرنے اور سوالات کے خلاصے اور جوابات فراہم کرنے کے لیے استعمال کیا جا سکتا ہے۔ پوسٹ مالیاتی ڈیٹا پر ایمیزون سیج میکر جمپ اسٹارٹ میں فاؤنڈیشن ماڈلز کی ڈومین موافقت آپ کے اپنے ڈیٹاسیٹ کا استعمال کرتے ہوئے ایل ایل ایم کو ٹھیک کرنے کا طریقہ بتاتا ہے۔ ایک بار جب آپ کے پاس ٹھوس LLM ہو جائے تو، آپ اس LLM کو کاروباری صارفین کے سامنے نئی دستاویزات پر کارروائی کرنے کے لیے ظاہر کرنا چاہیں گے، جو سینکڑوں صفحات پر مشتمل ہو سکتا ہے۔ اس پوسٹ میں، ہم یہ ظاہر کرتے ہیں کہ کس طرح ایک حقیقی وقت کا صارف انٹرفیس بنایا جائے تاکہ کاروباری صارفین کو صوابدیدی طوالت کی PDF دستاویز پر کارروائی کرنے دیں۔ فائل پر کارروائی ہونے کے بعد، آپ دستاویز کا خلاصہ کر سکتے ہیں یا مواد کے بارے میں سوالات پوچھ سکتے ہیں۔ اس پوسٹ میں بیان کردہ نمونہ حل پر دستیاب ہے۔ GitHub کے.

مالی دستاویزات کے ساتھ کام کرنا

مالی بیانات جیسے سہ ماہی آمدنی کی رپورٹس اور شیئر ہولڈرز کو سالانہ رپورٹیں اکثر دسیوں یا سینکڑوں صفحات پر مشتمل ہوتی ہیں۔ ان دستاویزات میں بہت ساری بوائلر پلیٹ لینگویج ہے جیسے ڈس کلیمر اور قانونی زبان۔ اگر آپ ان دستاویزات میں سے کسی ایک سے اہم ڈیٹا پوائنٹس نکالنا چاہتے ہیں، تو آپ کو وقت اور بوائلر پلیٹ کی زبان سے کچھ واقفیت دونوں کی ضرورت ہے تاکہ آپ دلچسپ حقائق کی شناخت کر سکیں۔ اور یقیناً، آپ LLM سے کسی ایسی دستاویز کے بارے میں سوالات نہیں پوچھ سکتے جو اس نے کبھی نہیں دیکھی ہو۔

خلاصہ کے لیے استعمال ہونے والے LLMs میں ماڈل میں پاس کیے جانے والے ٹوکنز (حروف) کی تعداد کی ایک حد ہوتی ہے، اور کچھ استثناء کے ساتھ، یہ عام طور پر چند ہزار ٹوکنز سے زیادہ نہیں ہوتے ہیں۔ یہ عام طور پر طویل دستاویزات کا خلاصہ کرنے کی صلاحیت کو روکتا ہے۔

ہمارا حل ان دستاویزات کو ہینڈل کرتا ہے جو LLM کی زیادہ سے زیادہ ٹوکن ترتیب کی لمبائی سے زیادہ ہیں، اور اس دستاویز کو سوال کے جواب کے لیے LLM کو دستیاب کراتے ہیں۔

حل جائزہ

ہمارے ڈیزائن میں تین اہم ٹکڑے ہیں:

  • اس میں کاروباری صارفین کے لیے پی ڈی ایف اپ لوڈ کرنے اور اس پر کارروائی کرنے کے لیے ایک انٹرایکٹو ویب ایپلیکیشن ہے۔
  • یہ ایک بڑی PDF کو مزید قابل انتظام حصوں میں تقسیم کرنے کے لیے langchain لائبریری کا استعمال کرتا ہے۔
  • یہ صارفین کو نئے ڈیٹا کے بارے میں سوالات پوچھنے کی اجازت دینے کے لیے بازیافت بڑھا ہوا نسل کی تکنیک کا استعمال کرتا ہے جو LLM نے پہلے نہیں دیکھا تھا۔

جیسا کہ مندرجہ ذیل خاکہ میں دکھایا گیا ہے، ہم ایک فرنٹ اینڈ کا استعمال کرتے ہیں جو کہ React JavaScript کے ساتھ لاگو کیا گیا ہے ایمیزون سادہ اسٹوریج سروس (ایمیزون S3) بالٹی کی طرف سے سامنے ایمیزون CloudFront. فرنٹ اینڈ ایپلی کیشن صارفین کو ایمیزون ایس 3 پر پی ڈی ایف دستاویزات اپ لوڈ کرنے دیتی ہے۔ اپ لوڈ مکمل ہونے کے بعد، آپ ٹیکسٹ نکالنے کے کام کو متحرک کر سکتے ہیں۔ ایمیزون ٹیکسٹ. پوسٹ پروسیسنگ کے حصے کے طور پر، ایک او ڈبلیو ایس لامبڈا۔ فنکشن صفحہ کی حدود کی نشاندہی کرنے والے متن میں خصوصی مارکر داخل کرتا ہے۔ جب وہ کام ہو جاتا ہے، تو آپ ایک API کا استعمال کر سکتے ہیں جو متن کا خلاصہ کرتا ہے یا اس کے بارے میں سوالات کے جوابات دیتا ہے۔

اپنے ڈیٹا کا استعمال کرتے ہوئے خلاصہ اور سوالوں کے جوابات کے لیے تخلیقی AI فاؤنڈیشن ماڈل استعمال کریں۔ ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

چونکہ ان میں سے کچھ اقدامات میں کچھ وقت لگ سکتا ہے، اس لیے فن تعمیر ایک ڈیکپلڈ غیر مطابقت پذیر طریقہ استعمال کرتا ہے۔ مثال کے طور پر، کسی دستاویز کا خلاصہ کرنے کے لیے کال ایک لیمبڈا فنکشن کو طلب کرتی ہے جو کسی کو پیغام بھیجتا ہے۔ ایمیزون سادہ قطار سروس (ایمیزون SQS) قطار۔ لیمبڈا کا ایک اور فنکشن اس پیغام کو اٹھاتا ہے اور ایک شروع کرتا ہے۔ ایمیزون لچکدار کنٹینر سروس (ایمیزون ای سی ایس) اے ڈبلیو ایس فارگیٹ کام فارگیٹ ٹاسک کال کرتا ہے۔ ایمیزون سیج میکر اندازہ اختتامی نقطہ. ہم یہاں فارگیٹ ٹاسک استعمال کرتے ہیں کیونکہ ایک بہت طویل پی ڈی ایف کا خلاصہ کرنے میں لیمبڈا فنکشن کی دستیابی سے زیادہ وقت اور میموری لگ سکتی ہے۔ جب خلاصہ کیا جاتا ہے، فرنٹ اینڈ ایپلی کیشن ایک سے نتائج اٹھا سکتی ہے۔ ایمیزون ڈائنومو ڈی بی میز.

خلاصہ کے لیے، ہم AI21 کا خلاصہ ماڈل استعمال کرتے ہیں، جو کہ دستیاب فاؤنڈیشن ماڈلز میں سے ایک ہے۔ ایمیزون سیج میکر جمپ اسٹارٹ. اگرچہ یہ ماڈل 10,000 الفاظ (تقریباً 40 صفحات) تک کی دستاویزات کو ہینڈل کرتا ہے، لیکن ہم اس بات کو یقینی بنانے کے لیے langchain کے ٹیکسٹ اسپلٹر کا استعمال کرتے ہیں کہ LLM میں ہر خلاصہ کال 10,000 الفاظ سے زیادہ طویل نہ ہو۔ ٹیکسٹ جنریشن کے لیے، ہم Cohere's Medium ماڈل استعمال کرتے ہیں، اور ہم جمپ اسٹارٹ کے ذریعے ایمبیڈنگز کے لیے GPT-J استعمال کرتے ہیں۔

خلاصہ پروسیسنگ

بڑی دستاویزات کو سنبھالتے وقت، ہمیں اس بات کی وضاحت کرنے کی ضرورت ہے کہ دستاویز کو چھوٹے ٹکڑوں میں کیسے تقسیم کیا جائے۔ جب ہمیں Amazon Textract سے متن نکالنے کے نتائج واپس ملتے ہیں، تو ہم متن کے بڑے ٹکڑوں (صفحات کی ایک قابل ترتیب تعداد)، انفرادی صفحات، اور لائن بریکس کے لیے مارکر داخل کرتے ہیں۔ Langchain ان مارکروں کی بنیاد پر تقسیم ہو جائے گا اور چھوٹی دستاویزات کو جمع کرے گا جو ٹوکن کی حد کے تحت ہیں۔ درج ذیل کوڈ دیکھیں:

text_splitter = RecursiveCharacterTextSplitter( separators = ["<CHUNK>", "<PAGE>", "n"], chunk_size = int(chunk_size), chunk_overlap = int(chunk_overlap)) with open(local_path) as f: doc = f.read() texts = text_splitter.split_text(doc) print(f"Number of splits: {len(texts)}") llm = SageMakerLLM(endpoint_name = endpoint_name) responses = [] for t in texts: r = llm(t) responses.append(r) summary = "n".join(responses)

خلاصہ سلسلہ میں LLM ہمارے SageMaker اختتامی نقطہ کے ارد گرد ایک پتلی ریپر ہے:

class SageMakerLLM(LLM): endpoint_name: str @property
def _llm_type(self) -> str: return "summarize" def _call(self, prompt: str, stop: Optional[List[str]] = None) -> str: response = ai21.Summarize.execute( source=prompt, sourceType="TEXT", sm_endpoint=self.endpoint_name ) return response.summary 

سوال جواب

بازیافت بڑھا ہوا نسل کے طریقہ کار میں، ہم نے پہلے دستاویز کو چھوٹے حصوں میں تقسیم کیا۔ ہم ہر سیگمنٹ کے لیے ایمبیڈنگز بناتے ہیں اور انہیں langchain کے انٹرفیس کے ذریعے اوپن سورس کروما ویکٹر ڈیٹا بیس میں اسٹور کرتے ہیں۔ ہم ڈیٹا بیس کو ایک میں محفوظ کرتے ہیں۔ ایمیزون لچکدار فائل سسٹم (ایمیزون ای ایف ایس) فائل سسٹم بعد میں استعمال کے لیے۔ درج ذیل کوڈ دیکھیں:

documents = loader.load()
text_splitter = RecursiveCharacterTextSplitter(chunk_size = 500, chunk_overlap = 0)
texts = text_splitter.split_documents(documents)
print(f"Number of splits: {len(texts)}") embeddings = SMEndpointEmbeddings( endpoint_name=endpoint_name,
)
vectordb = Chroma.from_documents(texts, embeddings, persist_directory=persist_directory)
vectordb.persist()

ایمبیڈنگز تیار ہونے پر، صارف سوال پوچھ سکتا ہے۔ ہم متن کے ٹکڑوں کے لیے ویکٹر ڈیٹا بیس تلاش کرتے ہیں جو سوال سے زیادہ قریب سے میل کھاتے ہیں:

embeddings = SMEndpointEmbeddings( endpoint_name=endpoint_embed
)
vectordb = Chroma(persist_directory=persist_directory, embedding_function=embeddings)
docs = vectordb.similarity_search_with_score(question)

ہم قریب ترین مماثل حصہ لیتے ہیں اور سوال کا جواب دینے کے لیے اسے ٹیکسٹ جنریشن ماڈل کے سیاق و سباق کے طور پر استعمال کرتے ہیں:

cohere_client = Client(endpoint_name=endpoint_qa)
context = docs[high_score_idx][0].page_content.replace("n", "")
qa_prompt = f'Context={context}nQuestion={question}nAnswer='
response = cohere_client.generate(prompt=qa_prompt, max_tokens=512, temperature=0.25, return_likelihoods='GENERATION')
answer = response.generations[0].text.strip().replace('n', '')

صارف کے تجربے

اگرچہ LLMs اعلی درجے کی ڈیٹا سائنس کی نمائندگی کرتے ہیں، LLMs کے استعمال کے زیادہ تر معاملات میں بالآخر غیر تکنیکی صارفین کے ساتھ تعامل شامل ہوتا ہے۔ ہماری مثال ویب ایپلیکیشن ایک انٹرایکٹو استعمال کیس کو ہینڈل کرتی ہے جہاں کاروباری صارفین ایک نئی پی ڈی ایف دستاویز کو اپ لوڈ اور پروسیس کر سکتے ہیں۔

درج ذیل خاکہ یوزر انٹرفیس کو دکھاتا ہے۔ ایک صارف پی ڈی ایف اپ لوڈ کرکے شروع کرتا ہے۔ دستاویز کو Amazon S3 میں محفوظ کرنے کے بعد، صارف ٹیکسٹ نکالنے کا کام شروع کر سکتا ہے۔ جب یہ مکمل ہو جائے تو، صارف خلاصہ کا کام شروع کر سکتا ہے یا سوالات پوچھ سکتا ہے۔ یوزر انٹرفیس کچھ جدید آپشنز کو بے نقاب کرتا ہے جیسے chunk size اور chunk overlap، جو ان جدید صارفین کے لیے کارآمد ہوں گے جو نئی دستاویزات پر ایپلیکیشن کی جانچ کر رہے ہیں۔

یوزر انٹرفیس

اگلے مراحل

ایل ایل ایم اہم نئی معلومات کی بازیافت کی صلاحیتیں فراہم کرتے ہیں۔ کاروباری صارفین کو ان صلاحیتوں تک آسان رسائی کی ضرورت ہے۔ مستقبل کے کام کے لیے دو سمتوں پر غور کرنا ہے:

  • جمپ سٹارٹ فاؤنڈیشن ماڈلز میں پہلے سے موجود طاقتور LLM سے فائدہ اٹھائیں۔ کوڈ کی صرف چند سطروں کے ساتھ، ہماری نمونہ ایپلیکیشن متن کے خلاصے اور جنریشن کے لیے AI21 اور Cohere کے جدید ترین LLMs کو تعینات اور استعمال کر سکتی ہے۔
  • ان صلاحیتوں کو غیر تکنیکی صارفین کے لیے قابل رسائی بنائیں۔ پی ڈی ایف دستاویزات پر کارروائی کرنے کے لیے ایک شرط دستاویز سے متن نکالنا ہے، اور خلاصہ کاری کے کاموں کو چلنے میں کئی منٹ لگ سکتے ہیں۔ اس میں غیر مطابقت پذیر بیک اینڈ پروسیسنگ کی صلاحیتوں کے ساتھ ایک سادہ یوزر انٹرفیس کا مطالبہ کیا گیا ہے، جسے کلاؤڈ-آبائی خدمات جیسے لیمبڈا اور فارگیٹ کا استعمال کرتے ہوئے ڈیزائن کرنا آسان ہے۔

ہم یہ بھی نوٹ کرتے ہیں کہ پی ڈی ایف دستاویز نیم ساختہ معلومات ہے۔ اہم اشارے جیسے سیکشن ہیڈنگز کو پروگرام کے لحاظ سے شناخت کرنا مشکل ہے، کیونکہ وہ فونٹ کے سائز اور دیگر بصری اشارے پر انحصار کرتے ہیں۔ معلومات کے بنیادی ڈھانچے کی نشاندہی کرنے سے LLM کو ڈیٹا کو زیادہ درست طریقے سے پروسیس کرنے میں مدد ملتی ہے، کم از کم اس وقت تک جب تک کہ LLMs بے حد لمبائی کے ان پٹ کو سنبھال سکیں۔

نتیجہ

اس پوسٹ میں، ہم نے ایک انٹرایکٹو ویب ایپلیکیشن بنانے کا طریقہ دکھایا جو کاروباری صارفین کو خلاصہ اور سوالوں کے جوابات کے لیے PDF دستاویزات کو اپ لوڈ اور پروسیس کرنے دیتا ہے۔ ہم نے دیکھا کہ جمپ سٹارٹ فاؤنڈیشن ماڈلز سے کس طرح فائدہ اٹھانا ہے تاکہ ایڈوانسڈ LLMs تک رسائی حاصل کی جا سکے، اور طویل دستاویزات پر کارروائی کرنے اور انہیں LLM کو معلومات کے طور پر دستیاب کرنے کے لیے ٹیکسٹ اسپلٹنگ اور دوبارہ حاصل کرنے والی اگمنٹڈ جنریشن تکنیک کا استعمال کریں۔

اس وقت، ان طاقتور صلاحیتوں کو اپنے صارفین کے لیے دستیاب نہ کرنے کی کوئی وجہ نہیں ہے۔ ہم آپ کو استعمال کرنا شروع کرنے کی ترغیب دیتے ہیں۔ جمپ سٹارٹ فاؤنڈیشن ماڈلز آج.


مصنف کے بارے میں

مصنف کی تصویررینڈی ڈیفاؤ AWS میں ایک سینئر پرنسپل سولیوشن آرکیٹیکٹ ہیں۔ اس نے مشی گن یونیورسٹی سے MSEE کی ڈگری حاصل کی، جہاں اس نے خود مختار گاڑیوں کے کمپیوٹر وژن پر کام کیا۔ انہوں نے کولوراڈو اسٹیٹ یونیورسٹی سے ایم بی اے بھی کیا ہے۔ رینڈی نے ٹیکنالوجی کے شعبے میں سافٹ ویئر انجینئرنگ سے لے کر پروڈکٹ مینجمنٹ تک مختلف عہدوں پر فائز ہیں۔ 2013 میں بگ ڈیٹا اسپیس میں داخل ہوا اور اس علاقے کو تلاش کرنا جاری رکھا۔ وہ ایم ایل اسپیس میں پراجیکٹس پر سرگرمی سے کام کر رہا ہے اور متعدد کانفرنسوں میں پیش کر چکا ہے جن میں اسٹراٹا اور گلوکون شامل ہیں۔

ٹائم اسٹیمپ:

سے زیادہ AWS مشین لرننگ