আপনার নিজস্ব ডেটা ব্যবহার করে সংক্ষিপ্তকরণ এবং প্রশ্নের উত্তর দেওয়ার জন্য একটি জেনারেটিভ এআই ফাউন্ডেশন মডেল ব্যবহার করুন | আমাজন ওয়েব সার্ভিসেস

আপনার নিজস্ব ডেটা ব্যবহার করে সংক্ষিপ্তকরণ এবং প্রশ্নের উত্তর দেওয়ার জন্য একটি জেনারেটিভ এআই ফাউন্ডেশন মডেল ব্যবহার করুন | আমাজন ওয়েব সার্ভিসেস

বৃহৎ ভাষা মডেল (LLMs) জটিল নথি বিশ্লেষণ এবং সারাংশ এবং প্রশ্নের উত্তর প্রদান করতে ব্যবহার করা যেতে পারে। পোস্টটি আমাজন সেজমেকার জাম্পস্টার্ট অন ফাইন্যান্সিয়াল ডেটাতে ফাউন্ডেশন মডেলের ডোমেন-অভিযোজন ফাইন-টিউনিং আপনার নিজের ডেটাসেট ব্যবহার করে একটি এলএলএম কীভাবে সূক্ষ্ম-টিউন করবেন তা বর্ণনা করে। একবার আপনার একটি শক্ত LLM হয়ে গেলে, আপনি নতুন নথিগুলি প্রক্রিয়া করার জন্য সেই LLMটিকে ব্যবসায়িক ব্যবহারকারীদের কাছে প্রকাশ করতে চাইবেন, যা শত শত পৃষ্ঠা দীর্ঘ হতে পারে। এই পোস্টে, আমরা প্রদর্শন করি কিভাবে একটি রিয়েল-টাইম ইউজার ইন্টারফেস তৈরি করা যায় যাতে ব্যবসায়িক ব্যবহারকারীরা নির্বিচারে দৈর্ঘ্যের একটি PDF নথি প্রক্রিয়া করতে দেয়। ফাইলটি প্রসেস হয়ে গেলে, আপনি ডকুমেন্টের সারসংক্ষেপ করতে পারেন বা বিষয়বস্তু সম্পর্কে প্রশ্ন করতে পারেন। এই পোস্টে বর্ণিত নমুনা সমাধান পাওয়া যায় GitHub.

আর্থিক নথি নিয়ে কাজ করা

ত্রৈমাসিক আয়ের প্রতিবেদন এবং শেয়ারহোল্ডারদের বার্ষিক প্রতিবেদনের মতো আর্থিক বিবৃতি প্রায়শই দশ বা শত শত পৃষ্ঠার হয়। এই নথিগুলিতে দাবিত্যাগ এবং আইনি ভাষার মতো প্রচুর বয়লারপ্লেট ভাষা রয়েছে৷ আপনি যদি এই নথিগুলির মধ্যে একটি থেকে মূল ডেটা পয়েন্টগুলি বের করতে চান তবে আপনার সময় এবং বয়লারপ্লেট ভাষার সাথে কিছু পরিচিতি উভয়ই প্রয়োজন যাতে আপনি আকর্ষণীয় তথ্যগুলি সনাক্ত করতে পারেন। এবং অবশ্যই, আপনি এমন একটি নথি সম্পর্কে LLM প্রশ্ন জিজ্ঞাসা করতে পারবেন না যা এটি কখনও দেখেনি।

সংক্ষিপ্তকরণের জন্য ব্যবহৃত এলএলএম-এর মডেলে পাস করা টোকেন (অক্ষর) সংখ্যার একটি সীমা থাকে এবং কিছু ব্যতিক্রম ছাড়া, এগুলি সাধারণত কয়েক হাজার টোকেনের বেশি নয়। এটি সাধারণত দীর্ঘ নথি সংক্ষিপ্ত করার ক্ষমতা বাদ দেয়।

আমাদের সমাধান এমন নথিগুলি পরিচালনা করে যা একটি LLM-এর সর্বাধিক টোকেন ক্রম দৈর্ঘ্য অতিক্রম করে এবং সেই নথিটিকে প্রশ্নের উত্তরের জন্য LLM-এর কাছে উপলব্ধ করে৷

সমাধান ওভারভিউ

আমাদের নকশা তিনটি গুরুত্বপূর্ণ টুকরা আছে:

  • এটিতে ব্যবসায়িক ব্যবহারকারীদের জন্য পিডিএফ আপলোড এবং প্রক্রিয়া করার জন্য একটি ইন্টারেক্টিভ ওয়েব অ্যাপ্লিকেশন রয়েছে
  • এটি একটি বৃহৎ পিডিএফকে আরও পরিচালনাযোগ্য খণ্ডে বিভক্ত করতে ল্যাংচেইন লাইব্রেরি ব্যবহার করে
  • এটি পুনরুদ্ধার বর্ধিত প্রজন্মের কৌশল ব্যবহার করে ব্যবহারকারীদের নতুন ডেটা সম্পর্কে প্রশ্ন জিজ্ঞাসা করতে দেয় যা LLM আগে দেখেনি

নিম্নোক্ত চিত্রে যেমন দেখানো হয়েছে, আমরা একটি ফ্রন্ট এন্ড ব্যবহার করি যা রিঅ্যাক্ট জাভাস্ক্রিপ্টের সাথে হোস্ট করা হয়েছে আমাজন সিম্পল স্টোরেজ সার্ভিস (Amazon S3) বালতি দ্বারা ফ্রন্টেড অ্যামাজন মেঘ ফ্রন্ট. ফ্রন্ট-এন্ড অ্যাপ্লিকেশন ব্যবহারকারীদের পিডিএফ ডকুমেন্টগুলি Amazon S3 এ আপলোড করতে দেয়। আপলোড সম্পূর্ণ হওয়ার পরে, আপনি দ্বারা চালিত একটি পাঠ্য নিষ্কাশন কাজ ট্রিগার করতে পারেন অ্যামাজন টেক্সট্র্যাক. পোস্ট-প্রসেসিংয়ের অংশ হিসাবে, একটি এডাব্লুএস ল্যাম্বদা ফাংশন পৃষ্ঠার সীমানা নির্দেশ করে পাঠ্যে বিশেষ মার্কার সন্নিবেশ করায়। যখন সেই কাজটি সম্পন্ন হয়, আপনি একটি এপিআই আহ্বান করতে পারেন যা পাঠ্যের সংক্ষিপ্ত বিবরণ দেয় বা এটি সম্পর্কে প্রশ্নের উত্তর দেয়।

আপনার নিজের ডেটা ব্যবহার করে সংক্ষিপ্তকরণ এবং প্রশ্নের উত্তর দেওয়ার জন্য একটি জেনারেটিভ এআই ফাউন্ডেশন মডেল ব্যবহার করুন | আমাজন ওয়েব সার্ভিস প্লেটোব্লকচেইন ডেটা ইন্টেলিজেন্স। উল্লম্ব অনুসন্ধান. আ.

যেহেতু এই পদক্ষেপগুলির মধ্যে কিছু কিছু সময় নিতে পারে, আর্কিটেকচারটি একটি ডিকপলড অ্যাসিঙ্ক্রোনাস পদ্ধতি ব্যবহার করে। উদাহরণস্বরূপ, একটি নথির সারসংক্ষেপ করার জন্য কল একটি ল্যাম্বডা ফাংশনকে আহ্বান করে যা একটি বার্তা পোস্ট করে অ্যামাজন সরল সারি পরিষেবা (Amazon SQS) সারি। আরেকটি ল্যাম্বডা ফাংশন সেই বার্তাটি তুলে নেয় এবং একটি শুরু করে অ্যামাজন ইলাস্টিক কনটেইনার পরিষেবা (আমাজন ইসিএস) AWS Fargate টাস্ক Fargate টাস্ক কল আমাজন সেজমেকার অনুমান শেষ বিন্দু। আমরা এখানে একটি ফারগেট টাস্ক ব্যবহার করি কারণ একটি খুব দীর্ঘ পিডিএফের সংক্ষিপ্তসারে ল্যাম্বডা ফাংশন উপলব্ধ থেকে বেশি সময় এবং মেমরি নিতে পারে। যখন সংক্ষিপ্তকরণ করা হয়, ফ্রন্ট-এন্ড অ্যাপ্লিকেশন একটি থেকে ফলাফল নিতে পারে আমাজন ডায়নামোডিবি টেবিল।

সংক্ষিপ্তসারের জন্য, আমরা AI21 এর সামারিজ মডেল ব্যবহার করি, যা এর মাধ্যমে উপলব্ধ ফাউন্ডেশন মডেলগুলির মধ্যে একটি আমাজন সেজমেকার জাম্পস্টার্ট. যদিও এই মডেলটি 10,000 শব্দ পর্যন্ত (প্রায় 40 পৃষ্ঠা) নথিগুলি পরিচালনা করে, আমরা LLM-এ প্রতিটি সংক্ষিপ্তকরণ কল যাতে 10,000 শব্দের বেশি না হয় তা নিশ্চিত করতে ল্যাংচেইনের টেক্সট স্প্লিটার ব্যবহার করি। টেক্সট জেনারেশনের জন্য, আমরা কোহেরের মিডিয়াম মডেল ব্যবহার করি, এবং আমরা এম্বেডিংয়ের জন্য জিপিটি-জে ব্যবহার করি, উভয়ই জাম্পস্টার্টের মাধ্যমে।

সংক্ষিপ্তকরণ প্রক্রিয়াকরণ

বড় নথিগুলি পরিচালনা করার সময়, আমাদেরকে সংজ্ঞায়িত করতে হবে কিভাবে দস্তাবেজটিকে ছোট টুকরোগুলিতে বিভক্ত করা যায়। যখন আমরা অ্যামাজন টেক্সট্র্যাক্ট থেকে টেক্সট এক্সট্রাকশন ফলাফল ফিরে পাই, তখন আমরা টেক্সটের বড় অংশ (পৃষ্ঠাগুলির একটি কনফিগারযোগ্য সংখ্যা), পৃথক পৃষ্ঠা এবং লাইন বিরতির জন্য মার্কার সন্নিবেশ করি। ল্যাংচেইন সেই মার্কারগুলির উপর ভিত্তি করে বিভক্ত হবে এবং টোকেন সীমার অধীনে থাকা ছোট নথিগুলি একত্রিত করবে। নিম্নলিখিত কোড দেখুন:

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)

সারাংশ চেইনের এলএলএম হল আমাদের সেজমেকার এন্ডপয়েন্টের চারপাশে একটি পাতলা মোড়ক:

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 

প্রশ্নের উত্তর

পুনরুদ্ধার অগমেন্টেড জেনারেশন পদ্ধতিতে, আমরা প্রথমে নথিটিকে ছোট ছোট অংশে বিভক্ত করি। আমরা প্রতিটি সেগমেন্টের জন্য এম্বেডিং তৈরি করি এবং ল্যাংচেইনের ইন্টারফেসের মাধ্যমে ওপেন সোর্স ক্রোমা ভেক্টর ডাটাবেসে সংরক্ষণ করি। আমরা একটি ডাটাবেস সংরক্ষণ আমাজন ইলাস্টিক ফাইল সিস্টেম (Amazon EFS) ফাইল সিস্টেম পরবর্তীতে ব্যবহারের জন্য। নিম্নলিখিত কোড দেখুন:

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', '')

ব্যবহারকারীর অভিজ্ঞতা

যদিও এলএলএমগুলি উন্নত ডেটা বিজ্ঞানের প্রতিনিধিত্ব করে, তবে এলএলএমগুলির বেশিরভাগ ব্যবহারের ক্ষেত্রে শেষ পর্যন্ত অ-প্রযুক্তিগত ব্যবহারকারীদের সাথে মিথস্ক্রিয়া জড়িত। আমাদের উদাহরণ ওয়েব অ্যাপ্লিকেশন একটি ইন্টারেক্টিভ ব্যবহারের ক্ষেত্রে পরিচালনা করে যেখানে ব্যবসা ব্যবহারকারীরা একটি নতুন PDF নথি আপলোড এবং প্রক্রিয়া করতে পারে।

নিচের চিত্রটি ইউজার ইন্টারফেস দেখায়। একজন ব্যবহারকারী একটি পিডিএফ আপলোড করে শুরু করেন। ডকুমেন্টটি Amazon S3 এ সংরক্ষণ করার পরে, ব্যবহারকারী পাঠ্য নিষ্কাশন কাজ শুরু করতে সক্ষম হয়। এটি সম্পূর্ণ হলে, ব্যবহারকারী সংক্ষিপ্তকরণের কাজটি শুরু করতে বা প্রশ্ন জিজ্ঞাসা করতে পারেন। ব্যবহারকারী ইন্টারফেস কিছু উন্নত বিকল্প যেমন খণ্ড আকার এবং খণ্ড ওভারল্যাপ প্রকাশ করে, যা উন্নত ব্যবহারকারীদের জন্য উপযোগী হবে যারা নতুন নথিতে অ্যাপ্লিকেশন পরীক্ষা করছেন।

ব্যবহারকারী ইন্টারফেস

পরবর্তী পদক্ষেপ

এলএলএমগুলি উল্লেখযোগ্য নতুন তথ্য পুনরুদ্ধারের ক্ষমতা প্রদান করে। ব্যবসায়িক ব্যবহারকারীদের সেই ক্ষমতাগুলিতে সুবিধাজনক অ্যাক্সেস প্রয়োজন। ভবিষ্যতের কাজের জন্য বিবেচনা করার জন্য দুটি দিক রয়েছে:

  • জাম্পস্টার্ট ফাউন্ডেশন মডেলগুলিতে ইতিমধ্যে উপলব্ধ শক্তিশালী এলএলএমগুলির সুবিধা নিন। কোডের মাত্র কয়েকটি লাইনের সাহায্যে, আমাদের নমুনা অ্যাপ্লিকেশনটি পাঠ্য সংক্ষিপ্তকরণ এবং প্রজন্মের জন্য AI21 এবং Cohere থেকে উন্নত LLM গুলি স্থাপন এবং ব্যবহার করতে পারে।
  • এই ক্ষমতাগুলি অ-প্রযুক্তিগত ব্যবহারকারীদের কাছে অ্যাক্সেসযোগ্য করুন। পিডিএফ ডকুমেন্ট প্রসেস করার একটি পূর্বশর্ত হল ডকুমেন্ট থেকে টেক্সট বের করা, এবং সারমাইজেশন কাজ চালানোর জন্য কয়েক মিনিট সময় লাগতে পারে। এটি অ্যাসিঙ্ক্রোনাস ব্যাকএন্ড প্রক্রিয়াকরণ ক্ষমতা সহ একটি সাধারণ ইউজার ইন্টারফেসের জন্য কল করে, যা ল্যাম্বডা এবং ফার্গেটের মতো ক্লাউড-নেটিভ পরিষেবাগুলি ব্যবহার করে ডিজাইন করা সহজ।

আমরা আরও লক্ষ্য করি যে একটি পিডিএফ ডকুমেন্ট আধা-কাঠামোগত তথ্য। বিভাগের শিরোনামগুলির মতো গুরুত্বপূর্ণ সংকেতগুলি প্রোগ্রামগতভাবে সনাক্ত করা কঠিন, কারণ তারা ফন্টের আকার এবং অন্যান্য ভিজ্যুয়াল সূচকগুলির উপর নির্ভর করে। তথ্যের অন্তর্নিহিত কাঠামো শনাক্ত করা LLM-কে আরও সঠিকভাবে ডেটা প্রক্রিয়া করতে সাহায্য করে, অন্তত এমন সময় পর্যন্ত যে LLMগুলি সীমাহীন দৈর্ঘ্যের ইনপুট পরিচালনা করতে পারে।

উপসংহার

এই পোস্টে, আমরা দেখিয়েছি কিভাবে একটি ইন্টারেক্টিভ ওয়েব অ্যাপ্লিকেশন তৈরি করা যায় যা ব্যবসায়িক ব্যবহারকারীদের সারসংক্ষেপ এবং প্রশ্নের উত্তরের জন্য PDF নথি আপলোড এবং প্রক্রিয়া করতে দেয়। আমরা দেখেছি কীভাবে উন্নত এলএলএম অ্যাক্সেস করতে জাম্পস্টার্ট ফাউন্ডেশন মডেলগুলির সুবিধা নিতে হয় এবং দীর্ঘ নথিগুলি প্রক্রিয়া করতে এবং এলএলএম-এর কাছে তথ্য হিসাবে উপলব্ধ করতে পাঠ্য বিভাজন এবং পুনরুদ্ধার অগমেন্টেড জেনারেশন কৌশলগুলি ব্যবহার করতে হয়।

এই সময়ে, এই শক্তিশালী ক্ষমতাগুলি আপনার ব্যবহারকারীদের জন্য উপলব্ধ না করার কোন কারণ নেই। আমরা আপনাকে ব্যবহার শুরু করতে উত্সাহিত করি জাম্পস্টার্ট ফাউন্ডেশন মডেল আজ.


লেখক সম্পর্কে

লেখকের ছবির‌্যান্ডি ডিফাউ AWS-এর একজন সিনিয়র প্রিন্সিপাল সলিউশন আর্কিটেক্ট। তিনি মিশিগান বিশ্ববিদ্যালয় থেকে একটি MSEE ধারণ করেছেন, যেখানে তিনি স্বায়ত্তশাসিত যানবাহনের জন্য কম্পিউটার দৃষ্টিতে কাজ করেছেন। তিনি কলোরাডো স্টেট ইউনিভার্সিটি থেকে এমবিএও করেছেন। র‌্যান্ডি সফটওয়্যার ইঞ্জিনিয়ারিং থেকে শুরু করে প্রোডাক্ট ম্যানেজমেন্ট পর্যন্ত টেকনোলজি স্পেসে বিভিন্ন পদে অধিষ্ঠিত হয়েছেন। ইন 2013 সালে বিগ ডেটা স্পেসে প্রবেশ করে এবং সেই অঞ্চলটি অন্বেষণ করে চলেছে। তিনি সক্রিয়ভাবে এমএল স্পেসে প্রকল্পগুলিতে কাজ করছেন এবং স্ট্র্যাটা এবং গ্লুকন সহ অসংখ্য সম্মেলনে উপস্থাপন করেছেন।

সময় স্ট্যাম্প:

থেকে আরো এডাব্লুএস মেশিন লার্নিং

Amazon SageMaker Ground Truth Plus-এর সাহায্যে উচ্চ-মানের প্রশিক্ষণ ডেটাসেট তৈরি করার জন্য একটি ভিজ্যুয়াল, কোনো কোড টুলের সাহায্যে আপনার ডেটা লেবেলগুলি পরিদর্শন করুন

উত্স নোড: 1554833
সময় স্ট্যাম্প: জুন 27, 2022

রিফিনিটিভ ডেটা লাইব্রেরি, এডব্লিউএস পরিষেবা এবং অ্যামাজন সেজমেকার সহ রিয়েল-টাইম নিউজ স্ট্রিম সমৃদ্ধ করা

উত্স নোড: 1785503
সময় স্ট্যাম্প: জানুয়ারী 11, 2023