paint-brush
আরো প্রাসঙ্গিক LLM প্রতিক্রিয়া প্রয়োজন? এই পুনরুদ্ধার অগমেন্টেড জেনারেশন চ্যালেঞ্জের সমাধান করুন (পর্ব 1)দ্বারা@datastax
1,157 পড়া
1,157 পড়া

আরো প্রাসঙ্গিক LLM প্রতিক্রিয়া প্রয়োজন? এই পুনরুদ্ধার অগমেন্টেড জেনারেশন চ্যালেঞ্জের সমাধান করুন (পর্ব 1)

দ্বারা DataStax10m2024/01/04
Read on Terminal Reader

অতিদীর্ঘ; পড়তে

আমরা দেখি কিভাবে সাবঅপ্টিমাল এমবেডিং মডেল, অদক্ষ চাঙ্কিং কৌশল এবং মেটাডেটা ফিল্টারিংয়ের অভাব আপনার LLM থেকে প্রাসঙ্গিক প্রতিক্রিয়া পাওয়া কঠিন করে তুলতে পারে। এই চ্যালেঞ্জগুলিকে কীভাবে অতিক্রম করা যায় তা এখানে।
featured image - আরো প্রাসঙ্গিক LLM প্রতিক্রিয়া প্রয়োজন? এই পুনরুদ্ধার অগমেন্টেড জেনারেশন চ্যালেঞ্জের সমাধান করুন (পর্ব 1)
DataStax HackerNoon profile picture
0-item

এই দুই-অংশের সিরিজের প্রথম কিস্তিতে, আমরা দেখেছি কীভাবে সাবঅপ্টিমাল এম্বেডিং মডেল, অদক্ষ চাঙ্কিং কৌশল এবং মেটাডেটা ফিল্টারিংয়ের অভাব আপনার LLM থেকে প্রাসঙ্গিক প্রতিক্রিয়া পাওয়া কঠিন করে তুলতে পারে। এই চ্যালেঞ্জগুলিকে কীভাবে অতিক্রম করা যায় তা এখানে।


বিল্ডিং জেনারেটিভ এআই অ্যাপ্লিকেশন যা ব্যবহার করে পুনরুদ্ধার বর্ধিত প্রজন্ম (RAG) অনেকগুলো চ্যালেঞ্জ তৈরি করতে পারে। আসুন RAG বাস্তবায়নের সমস্যা সমাধানের দিকে তাকাই যা প্রাসঙ্গিক প্রসঙ্গ পুনরুদ্ধার করার জন্য ভেক্টর ডাটাবেসের উপর নির্ভর করে যা আরও প্রাসঙ্গিক ফলাফল প্রদানের জন্য একটি বড় ভাষা মডেলের প্রম্পটে অন্তর্ভুক্ত করা হয়।


আমরা এই প্রক্রিয়াটিকে দুটি প্রধান অংশে ভাগ করব। প্রথমটি, যা আমরা সিরিজের এই প্রথম নিবন্ধে সম্বোধন করব, তা হল এমবেডিং পাইপলাইন, যা ভেক্টর ডাটাবেস এমবেডিং সহ:

এখানে, আমরা তিনটি প্রধান ক্ষেত্র বিবেচনা করব যা খারাপ ফলাফলের দিকে নিয়ে যেতে পারে: সাবঅপ্টিমাল এমবেডিং মডেল, অদক্ষ চাঙ্কিং কৌশল এবং মেটাডেটা ফিল্টারিংয়ের অভাব। (আসন্ন নিবন্ধে, আমরা এলএলএম-এর সাথে প্রকৃত মিথস্ক্রিয়া দেখব এবং কিছু সাধারণ সমস্যা পরীক্ষা করব যা সেখানে দেখা দেয় এবং খারাপ ফলাফলের দিকে নিয়ে যেতে পারে।)

একটি উপযুক্ত এমবেডিং মডেল নির্বাচন করা হচ্ছে

একটি এমবেডিং মডেলের আপনার পছন্দ আপনার RAG অ্যাপ্লিকেশনের সামগ্রিক প্রাসঙ্গিকতা এবং ব্যবহারযোগ্যতার উপর একটি উল্লেখযোগ্য প্রভাব ফেলবে। যেমন, এটির জন্য প্রতিটি মডেলের ক্ষমতার একটি সংক্ষিপ্ত বোধগম্যতা এবং সেই ক্ষমতাগুলি কীভাবে আপনার অ্যাপ্লিকেশনের প্রয়োজনীয়তার সাথে সারিবদ্ধ হয় তার একটি বিশ্লেষণ প্রয়োজন৷


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


লিডারবোর্ড আপনাকে সেই মডেলগুলি সনাক্ত করতে সাহায্য করতে পারে যা আপনার নির্দিষ্ট ব্যবহারের ক্ষেত্রে সর্বোত্তম কার্য সম্পাদন করবে।


দুর্বল RAG পারফরম্যান্সের সবচেয়ে সাধারণ কারণগুলির মধ্যে একটি হল যে এই স্পেসে নতুন ডেভেলপাররা এম্বেডিং জেনারেশনের উদাহরণ খুঁজতে Google অনুসন্ধান করে। তারা প্রায়শই এমন নমুনা খুঁজে পায় যা Word2Vec, sBERT, এবং RoBERTa-এর মতো এমবেডিং মডেল ব্যবহার করে যা পুনরুদ্ধারের ব্যবহারের ক্ষেত্রে দুর্বল পছন্দ।


আপনি যদি এই নিবন্ধটি খুঁজে পান কারণ আপনি খারাপ প্রাসঙ্গিক ফলাফলগুলি ডিবাগ করছেন এবং আপনি আপনার এম্বেডিংগুলি তৈরি করতে sBERT-এর মতো কিছু ব্যবহার করেছেন, তাহলে আমরা সম্ভবত আপনার প্রাসঙ্গিকতার সমস্যার কারণ চিহ্নিত করেছি৷


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

টেক্সট-এম্বেডিং-ada-002 (Ada v2)

OpenAI থেকে Ada v2 বেশিরভাগ RAG অ্যাপ্লিকেশনের জন্য সম্ভবত এটি সবচেয়ে সাধারণ সূচনা পয়েন্ট কারণ অনেক ডেভেলপার ওপেন AI এর API দিয়ে শুরু করে। Ada v2 পুনরুদ্ধার ব্যবহারের ক্ষেত্রে প্রশংসনীয়ভাবে পারফর্ম করে এবং এটি পাঠ্য এবং কোড সহ বিভিন্ন ধরণের সামগ্রী পরিচালনা করার জন্য তৈরি করা হয়েছিল।


সর্বোচ্চ 8,192 টোকেন পর্যন্ত ইনপুট সিকোয়েন্স দৈর্ঘ্যের সাথে, এটি আপনাকে বিকল্প মডেলের তুলনায় অনেক বেশি টেক্সট টুকরাগুলির জন্য এমবেডিং তৈরি করতে দেয়। এটি একটি আশীর্বাদ এবং একটি অভিশাপ উভয়।


একটি বড় সিকোয়েন্স সাইজ থাকা আপনার আরও পাঠ্য সামগ্রীর জন্য এম্বেডিং তৈরি করার প্রক্রিয়াটিকে সহজ করে, এবং এটি এমবেডিং মডেলটিকে পাঠ্যের একটি বড় অংশে শব্দ এবং বাক্যগুলির মধ্যে সম্পর্ক সনাক্ত করতে দেয়৷


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


Ada v2 এর দুটি বড় অপূর্ণতা রয়েছে। প্রথমটি হল এটি স্থানীয়ভাবে চালানো যাবে না। এমবেডিং তৈরি করতে আপনাকে অবশ্যই OpenAI এর API ব্যবহার করতে হবে। এটি কেবলমাত্র সেই ক্ষেত্রে বাধা সৃষ্টি করতে পারে না যেখানে আপনি অনেকগুলি সামগ্রীর জন্য এম্বেডিং তৈরি করতে চান, তবে এটি প্রতি 1,000 টোকেনের জন্য $0.0001 খরচ যোগ করে।


দ্বিতীয়টি হল ওপেন এআই মডেল থেকে তৈরি করা এমবেডিং প্রতিটি 1,536 মাত্রা। আপনি যদি একটি ক্লাউড ভেক্টর ডাটাবেস ব্যবহার করেন তবে এটি আপনার ভেক্টর স্টোরেজ খরচে যথেষ্ট পরিমাণে যোগ করতে পারে।


কখন চয়ন করবেন: আপনি একটি সহজ সমাধান চান যার জন্য শুধুমাত্র একটি API কল প্রয়োজন, আপনাকে সম্ভাব্য বড় নথিগুলিকে ভেক্টরাইজ করতে হবে এবং খরচ কোনও সমস্যা নয়।

jina-embeddings-v2 (জিনা v2)

Jina v2 হল একটি নতুন ওপেন-সোর্স এমবেডিং মডেল যা আপনাকে Ada v2 এর মতো একই 8,000 ইনপুট সিকোয়েন্স সমর্থন দেয় এবং প্রকৃতপক্ষে পুনরুদ্ধার ব্যবহারের ক্ষেত্রে কিছুটা ভাল স্কোর করে৷


Jina v2 Ada v2 এর সমস্যার প্রতিষেধক প্রদান করে। এটি Apache License 2.0 এর অধীনে ওপেন সোর্স এবং স্থানীয়ভাবে চালানো যেতে পারে, যা অবশ্যই একটি অপূর্ণতা যদি আপনি এটি করার জন্য নিজের কোড চালাতে চান না। এটি Ada v2 এর অর্ধেক মাত্রা সহ একটি এমবেডিং ভেক্টর তৈরি করে।


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


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

bge-large-en-v1.5

bge-large-en-v1.5 MIT লাইসেন্সের অধীনে ওপেন-সোর্স করা হয়েছে এবং বর্তমানে পুনরুদ্ধারের ব্যবহারের ক্ষেত্রে MTEB লিডারবোর্ডে শীর্ষস্থানীয় এমবেডিং মডেল। একটি ছোট ইনপুট ক্রম সহ, এটির জন্য আপনাকে আপনার চঙ্কিং কৌশল সম্পর্কে আরও চিন্তা করতে হবে তবে শেষ পর্যন্ত পুনরুদ্ধারের ব্যবহারের ক্ষেত্রে সর্বোত্তম কার্যক্ষমতা প্রদান করে।


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


এই নিবন্ধের সুযোগের বাইরে থাকাকালীন, আপনি MTEB লিডারবোর্ডের 15টি বেঞ্চমার্কের গভীরে খনন করতে চাইতে পারেন যেটি আপনার নির্দিষ্ট পরিস্থিতির সাথে সবচেয়ে ঘনিষ্ঠভাবে সাদৃশ্যপূর্ণ।


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

আপনার চঙ্কিং কৌশল অপ্টিমাইজ করা

বিভাজন বা, ইনপুট পাঠ্যের "চঙ্কিং", একটি প্রধান কারণ যা উত্পন্ন আউটপুটের প্রাসঙ্গিকতা এবং নির্ভুলতাকে উল্লেখযোগ্যভাবে প্রভাবিত করে। বিভিন্ন চঙ্কিং কৌশল অনন্য সুবিধা প্রদান করে এবং নির্দিষ্ট ধরনের কাজের জন্য উপযুক্ত। এখানে, আমরা এই পদ্ধতিগুলি অনুসন্ধান করি এবং কিছু মূল বিবেচনাকে অন্তর্ভুক্ত করে তাদের প্রয়োগের জন্য নির্দেশিকা প্রদান করি:


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


    • প্রযুক্তিগত বিবেচনা - বাস্তবায়িত করা খুব সহজ হলেও, এই ছিন্ন কৌশলটি সাধারণত RAG অ্যাপ্লিকেশনগুলিতে খারাপ ফলাফলের দিকে নিয়ে যায়।


    • অতিরিক্ত অন্তর্দৃষ্টি আপনি যদি আপনার RAG অ্যাপ্লিকেশনের সাথে একটি নির্দিষ্ট দৈর্ঘ্যের কৌশল ব্যবহার করে থাকেন এবং প্রাসঙ্গিক প্রসঙ্গ পুনরুদ্ধার করতে সমস্যায় পড়েন, তাহলে আপনাকে একটি ভিন্ন খণ্ড পদ্ধতিতে স্যুইচ করার কথা বিবেচনা করা উচিত।


  2. বাক্য-স্তরের খণ্ডন
    • কখন ব্যবহার করবেন - এই কৌশলটি কার্যকর হয় যখন ইনপুট পাঠ্যের প্রতিটি বাক্য অর্থ এবং প্রসঙ্গে সমৃদ্ধ হয়। এটি মডেলটিকে প্রতিটি বাক্যের মধ্যে জটিলতাগুলিতে মনোনিবেশ করার অনুমতি দেয়, যার ফলে আরও সুসঙ্গত এবং প্রাসঙ্গিকভাবে প্রাসঙ্গিক প্রতিক্রিয়া তৈরি হয়। আপনি খুব কমই RAG ব্যবহারের ক্ষেত্রে বাক্য-স্তরের চঙ্কিংয়ের উপর নির্ভর করবেন।


    • প্রযুক্তিগত বিবেচনা - বাক্য-স্তরের চঙ্কিং প্রায়ই বাক্যের সীমানার উপর ভিত্তি করে টোকেনাইজেশন জড়িত, যা প্রাকৃতিক ভাষা প্রক্রিয়াকরণ (NLP) লাইব্রেরি ব্যবহার করে অর্জন করা যেতে পারে।


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


  3. অনুচ্ছেদ-স্তরের খণ্ডন
    • কখন ব্যবহার করতে হবে - যখন ইনপুট পাঠ্যটি স্বতন্ত্র বিভাগ বা অনুচ্ছেদে সংগঠিত হয়, প্রতিটি একটি পৃথক ধারণা বা বিষয় অন্তর্ভুক্ত করে তখন এই কৌশলটি প্রয়োগ করুন। এটি মডেলটিকে প্রতিটি অনুচ্ছেদের মধ্যে প্রাসঙ্গিক তথ্যের উপর ফোকাস করতে সক্ষম করে।


    • প্রযুক্তিগত বিবেচনা - অনুচ্ছেদের সীমানা চিহ্নিত করার জন্য সাধারণত নতুন লাইনের অক্ষর বা অন্যান্য সীমাবদ্ধতা সনাক্ত করা জড়িত যা একটি অনুচ্ছেদের শেষ নির্দেশ করে।


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


      অনুচ্ছেদ-স্তরের চঙ্কিং ব্যবহার করে আপনাকে নথির সবচেয়ে প্রাসঙ্গিক অংশটিকে প্রসঙ্গ হিসাবে LLM প্রদান করতে শনাক্ত করতে সাহায্য করতে পারে।


  4. বিষয়বস্তু-সচেতন খণ্ড
    • কখন ব্যবহার করতে হবে - যখন পাঠ্যের মধ্যে নির্দিষ্ট বিভাগের প্রাসঙ্গিকতা সর্বাধিক হয় তখন এই কৌশলটি বেছে নিন। উদাহরণস্বরূপ, আইনী নথিতে, ধারা বা বিভাগের উপর ভিত্তি করে পাঠ্যকে বিভক্ত করা আরও প্রসঙ্গ-নির্দিষ্ট প্রতিক্রিয়া প্রদান করতে পারে।


    • প্রযুক্তিগত বিবেচনা - পাঠ্যের মধ্যে শব্দার্থিক সীমানা বোঝার জন্য এই পদ্ধতির জন্য উন্নত NLP কৌশলগুলির প্রয়োজন হতে পারে।


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


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


  5. পুনরাবৃত্ত খণ্ড
    • কখন ব্যবহার করবেন - পুনরাবৃত্ত চাঙ্কিং একটি শ্রেণিবদ্ধ পদ্ধতি ব্যবহার করে ডেটাকে ছোট এবং ছোট অংশে ভাগ করে। উদাহরণস্বরূপ, একটি পাঠ্য নথি খণ্ড করার সময়, আপনি পাঠ্যটিকে প্রথমে অনুচ্ছেদে, তারপর বাক্যে এবং অবশেষে শব্দগুলিতে ভাগ করতে পারেন।


      একবার ডেটাটি খণ্ডগুলির প্রথম সেটে বিভক্ত হয়ে গেলে, আপনি তারপরে প্রতিটি ছোট খণ্ডে পুনরাবৃত্তভাবে চঙ্কিং প্রক্রিয়াটি প্রয়োগ করতে পারেন, যতক্ষণ না আপনি আগ্রহী ক্ষুদ্রতম খণ্ড আকারে পৌঁছান ততক্ষণ পুনরাবৃত্তি করতে পারেন।


    • প্রযুক্তিগত বিবেচনা - পুনরাবৃত্ত চাঙ্কিং বাস্তবায়নের জন্য একটি বহুস্তর পার্সিং কৌশল জড়িত হতে পারে যেখানে খণ্ডগুলিকে অতিরিক্ত মানদণ্ডের উপর ভিত্তি করে আরও উপ-খণ্ডে বিভক্ত করা হয়। যদি আপনি ব্যবহার করছেন ল্যাংচেইন , এটির পুনরাবৃত্ত বাস্তবায়ন এখানে বর্ণনা করা থেকে একটু সহজ।


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


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


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


একটি প্রদত্ত প্রশ্নের জন্য আপনি যে ডকুমেন্টগুলি পুনরুদ্ধার করতে চান তা ম্যানুয়ালি পরিদর্শন করুন, আপনি যে আদর্শ প্রসঙ্গটি LLM প্রদান করতে চান তা প্রতিনিধিত্ব করে এমন অংশগুলিকে চিহ্নিত করুন এবং তারপরে কোনটি আপনাকে সবচেয়ে প্রাসঙ্গিক বলে মনে করেন তা দেখার জন্য খণ্ড কৌশলগুলি নিয়ে পরীক্ষা করুন৷ এলএলএম করার জন্য।

প্রসঙ্গ উইন্ডো বিবেচনা

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


বিপরীতভাবে, একটি বৃহত্তর প্রসঙ্গ উইন্ডো আরও নমনীয়তার জন্য অনুমতি দেয়, অতিরিক্ত প্রসঙ্গ অন্তর্ভুক্ত করতে সক্ষম করে যা মডেলের আউটপুটকে উন্নত করতে পারে, এমনকি যদি এটির সবগুলোই কঠোরভাবে প্রয়োজনীয় না হয়।


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


এটি আপনাকে সর্বোত্তম পারফরম্যান্সের জন্য সঠিক চঙ্কিং প্রক্রিয়া খুঁজে পেতে সক্ষম করবে।

মেটাডেটা ফিল্টারিং

আপনার অনুসন্ধান সূচকে এম্বেডিংয়ের সংখ্যা বাড়ার সাথে সাথে আপনার প্রম্পটে অন্তর্ভুক্ত করার জন্য প্রাসঙ্গিক প্রসঙ্গ খোঁজার সময় আনুমানিক নিকটতম প্রতিবেশী (ANN) কম সহায়ক হয়ে ওঠে। ধরা যাক আপনি আপনার জ্ঞানের ভিত্তিতে 200টি নিবন্ধের জন্য ইন্ডেক্স এম্বেডিং করেছেন।


আপনি যদি 1% নির্ভুলতার সাথে শীর্ষ নিকটতম প্রতিবেশীকে সনাক্ত করতে পারেন, তাহলে আপনি সম্ভবত বেশ প্রাসঙ্গিক ফলাফল খুঁজে পেতে পারেন কারণ 1% সেই 200টির মধ্যে শীর্ষ দুটি নিবন্ধের প্রতিনিধিত্ব করে এবং আপনি সেই দুটির মধ্যে একটি পেতে যাচ্ছেন৷


এখন, উইকিপিডিয়ার প্রতিটি নিবন্ধ সম্বলিত একটি অনুসন্ধান সূচক বিবেচনা করুন। এটি প্রায় 6.7 মিলিয়ন নিবন্ধের পরিমাণ হবে। যদি আপনার নিকটতম প্রতিবেশী বেশিরভাগ অনুরূপ নিবন্ধগুলির শীর্ষ 1%-এ থাকে, তাহলে এর মানে হল যে আপনি 67,000টি অনুরূপ নিবন্ধগুলির মধ্যে একটি পাচ্ছেন৷


উইকিপিডিয়ার মতো একটি সংস্থার সাথে, এর মানে হল যে আপনি এখনও চিহ্ন থেকে অনেক দূরে থাকতে পারেন।


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


পরবর্তীতে, আমরা LLM-এর সাথে মিথস্ক্রিয়ায় ডুব দেব এবং কিছু সাধারণ সমস্যা পরীক্ষা করব যা খারাপ ফলাফলের দিকে নিয়ে যেতে পারে।


চেষ্টা করুন ডেটাস্ট্যাক্স অ্যাস্ট্রা ডিবি , রিয়েল-টাইম ডেটাতে উৎপাদন-স্তরের AI অ্যাপ্লিকেশন তৈরির জন্য একমাত্র ভেক্টর ডাটাবেস


ক্রিস ল্যাটিমার, ডেটাস্ট্যাক্স দ্বারা


এছাড়াও এখানে প্রকাশিত