Loading video...
Loading video...
পুনরুদ্ধার-অগমেন্টেড জেনারেশন (RAG) বৈপ্লবিক পরিবর্তন করছে কিভাবে এন্টারপ্রাইজগুলি বৃহৎ ভাষার মডেলগুলিকে এক্সেস করতে, বুঝতে, এবং ব্যয়বহুল ফাইন-টিউনিং বা মডেল পুনঃপ্রশিক্ষণ ছাড়াই মালিকানা ডেটার উপর যুক্তি দিতে সক্ষম করে AI স্থাপন করে৷
🎯 RAG কি?
RAG দুটি শক্তিশালী AI ক্ষমতাকে একত্রিত করে:
- পুনরুদ্ধার:আপনার ডেটা থেকে প্রাসঙ্গিক তথ্য খুঁজতে শব্দার্থিক অনুসন্ধান
- জেনারেশন:LLM-চালিত রেসপন্স ব্যবহার করে LLM-চালিত রেসপন্স 5TAG1Xtrieved জেনারেশন
এই পদ্ধতিটি AI সিস্টেমগুলিকে বৃহৎ ভাষার মডেলগুলির নমনীয়তা এবং যুক্তির ক্ষমতা বজায় রেখে আপনার এন্টারপ্রাইজ জ্ঞানের ভিত্তিতে সঠিক, আপ-টু-ডেট উত্তর প্রদান করতে সক্ষম করে।
🏗️ RAG সিস্টেম আর্কিটেকচার
1. ডকুমেন্ট প্রসেসিং পাইপলাইন
Documents → Chunking → Embedding → Vector Store // Example: Processing enterprise documents const chunks = documentSplitter.split(document, { chunkSize: 1000, overlap: 200, preserveContext: true }); const embeddings = await embeddingModel.embed(chunks); await vectorDB.insert(embeddings, metadata);2. কোয়েরি প্রসেসিং
User Query → Embed → Vector Search → Retrieve Top-K → LLM + Context → Response // Example: Query processing const queryEmbedding = await embeddingModel.embed(userQuery); const relevantDocs = await vectorDB.search(queryEmbedding, { topK: 5, filters: { department: 'engineering' } }); const response = await llm.generate({ prompt: userQuery, context: relevantDocs, temperature: 0.7 });3. রেসপন্স জেনারেশন
একটি পিআর ব্যবহার করে রেসপন্স জেনারেশন এক্সটিএক্স জেনার প্রাকৃতিক ভাষার গুণমান বজায় রেখে নির্ভুলতা এবং প্রাসঙ্গিকতা নিশ্চিত করে প্রসঙ্গ পুনরুদ্ধার করা হয়েছে।💡 উত্পাদনের মূল উপাদানগুলি RAG
1. ভেক্টর ডেটাবেস
এন্টারপ্রাইজ RAG-এর জন্য জনপ্রিয় পছন্দগুলি:
- TAG21 ম্যান,
- TAG21 পিন স্কেলযোগ্য, উত্পাদনের জন্য দুর্দান্ত
- ওয়েভিয়েট:ওপেন-সোর্স, গ্রাফকিউএল API, হাইব্রিড অনুসন্ধান
- Qdrant:দ্রুত, ওপেন-সোর্স, উত্পাদন স্কেল Milk এর জন্য তৈরিওপেন-সোর্স, GPU-অ্যাক্সিলারেটেড, কোটি কোটি ভেক্টর পরিচালনা করে
- pgvector:PostgreSQL এক্সটেনশন, পরিচিত টুলিং
2. আপনার -এর উপর ভিত্তি করে এম্বেড করা প্রয়োজন -এর প্রয়োজন- OpenAI টেক্সট-এম্বেডিং-3:উচ্চ গুণমান, 3072 মাত্রা
- কোহের এম্বেড:বহুভাষিক,
7 7 অনুসন্ধানের জন্য অপ্টিমাইজ করা (BAAI):ওপেন-সোর্স, SOTA পারফরম্যান্স - E5:মাইক্রোসফটের ওপেন মডেল, শক্তিশালী পুনরুদ্ধার
3। চঙ্কিং কৌশল
RAG কার্যক্ষমতার জন্য কার্যকরী খণ্ডকরণ গুরুত্বপূর্ণ:
- ফিক্সড-সাইজ চঙ্কিং:সহজ, অনুমানযোগ্য (500-1000-1000
- 47
- )
- শব্দার্থিক খণ্ড:বিষয়/বিভাগে বিভক্ত করা হয়েছে
- স্লাইডিং উইন্ডো:প্রসঙ্গ সংরক্ষণের জন্য ওভারল্যাপিং খণ্ডগুলি
- স্তরবিন্যাস খণ্ড:
- দস্তাবেজের জন্য মাল্টি-টেগ 185 XTAG185 লম্বা
🚀 উন্নত RAG টেকনিক
1. হাইব্রিড সার্চ X82 XTAG2 XTAG2 প্রথাগত সার্চ XTAG2 XTAG2 সহ সেরা ফলাফলের জন্য কীওয়ার্ড অনুসন্ধান:// Hybrid search implementation
const vectorResults = await vectorDB.search(queryEmbedding, { topK: 10 });
const keywordResults = await fullTextSearch(query, { topK: 10 });
// Reciprocal Rank Fusion
const combinedResults = reciprocalRankFusion(
vectorResults,
keywordResults,
{ k: 60 }
);
2. পুনঃ-র্যাঙ্কিং
// Hybrid search implementation
const vectorResults = await vectorDB.search(queryEmbedding, { topK: 10 });
const keywordResults = await fullTextSearch(query, { topK: 10 });
// Reciprocal Rank Fusion
const combinedResults = reciprocalRankFusion(
vectorResults,
keywordResults,
{ k: 60 }
);ক্রস-এনকোডার পুনঃ-র্যাঙ্কিংয়ের সাথে প্রাসঙ্গিকতা উন্নত করুন:
const rerankedResults = await reranker.rerank({
query: userQuery,
documents: retrievedDocs,
topK: 5
});3. ক্যোয়ারী সম্প্রসারণ
ক্যালরি এক্সটেনশনের জন্য একাধিক গুণমান পুনরুদ্ধার করুনconst expandedQueries = await llm.generate({
prompt: `Generate 3 variations of: ${userQuery}`,
temperature: 0.8
});
const allResults = await Promise.all(
expandedQueries.map(q => vectorDB.search(embed(q)))
);
const deduplicatedResults = deduplicate(allResults);4. প্রাসঙ্গিক সংকোচন
পুনরুদ্ধার করা নথিগুলি থেকে অপ্রাসঙ্গিক তথ্য সরান:
const compressedDocs = await contextualCompressor.compress({
query: userQuery,
documents: retrievedDocs,
maxTokens: 2000
});🎯 বাস্তব-বিশ্ব ব্যবহারের ক্ষেত্রে
পোর্ট কাস্টম ব্যাগচ্যালেঞ্জ:এজেন্টদের পণ্যের ডকুমেন্টেশন, নীতি এবং অতীত সমাধানগুলিতে তাত্ক্ষণিক অ্যাক্সেস প্রয়োজন৷
সমাধান:RAG সিস্টেম সমস্ত সমর্থন নথিকে সূচী করে, AI কে তাৎক্ষণিকভাবে 80% প্রশ্নের উত্তর দিতে সক্ষম করে৷
ফলাফল:
- গড় হ্যান্ডলিং সময় 65%
- গ্রাহক সন্তুষ্টি 4.8/5
2. আইনি নথি বিশ্লেষণ
চ্যালেঞ্জ:আইনজীবীরা কেস আইন এবং চুক্তিগুলি নিয়ে গবেষণা করতে ঘন্টা ব্যয় করে৷
সমাধান:RAG উদ্ধৃতি ট্র্যাকিং সহ লক্ষ লক্ষ আইনি নথি।
ফলাফল:
- গবেষণার সময় ঘন্টা থেকে মিনিটে কাটা হয়েছে
- স্বয়ংক্রিয় চুক্তি পর্যালোচনা আইনজীবী প্রতি 40 ঘন্টা/সপ্তাহ সাশ্রয় করে
3. DevOps ডকুমেন্টেশন
চ্যালেঞ্জ:ইঞ্জিনিয়ারদের অবকাঠামো, রানবুক এবং সর্বোত্তম অনুশীলন সম্পর্কে দ্রুত উত্তর প্রয়োজন৷
সমাধান:RAG সমস্ত DevOps ডকুমেন্টেশন, কনফ্লুয়েন্স পেজ এবং ঘটনার রিপোর্টে সিস্টেম।
ফলাফল:
- উত্তর খোঁজার জন্য 75% সময় হ্রাস
- অনবোর্ডিং সময় 60%
- দ্রুত রেজোলিউশন XTAG366% XTAG306% হ্রাস পেয়েছে
🔒 এন্টারপ্রাইজ RAG সর্বোত্তম অনুশীলন
1. ডেটা গোপনীয়তা এবং নিরাপত্তা
- ভূমিকা-ভিত্তিক অ্যাক্সেস নিয়ন্ত্রণ (RBAC)
- ব্যক্তিগত এ এনক্রিপ্ট ভেক্টর ব্যবহার করুন সংবেদনশীল ডেটার জন্য
- সমস্ত প্রশ্নের জন্য অডিট লগিং প্রয়োগ করুন
2. গুণমান এবং নির্ভুলতা
- হাইব্রিড অনুসন্ধান ব্যবহার করুন (ভেক্টর + কীওয়ার্ড) -র্যাঙ্ক পুনঃর্যাঙ্কিং
এর জন্য - উদ্ধৃতি/সোর্স ট্র্যাকিং যোগ করুন
- উত্তরের গুণমান মনিটর করুন এবং মূল্যায়ন করুন
- হিউম্যান-ইন-দ্য-লুপ গুরুত্বপূর্ণ সিদ্ধান্তের জন্য
3. পারফরম্যান্স এবং XXTAG9 স্কেল X7XTAG39 Cache ঘন ঘন ক্যোয়ারী
4. মূল্যায়ন মেট্রিক্স
এই কেপিআইগুলিকে ট্র্যাক করুন:
- পুনরুদ্ধার নির্ভুলতা/রিকল:আমরা কি সঠিক নথি খুঁজে পাচ্ছি?
- উত্তরের সঠিকতা:উত্তরগুলি কি সঠিক?
- লেটেন্সি:ক্যোয়ারী থেকে প্রতিক্রিয়া পর্যন্ত সময় (লক্ষ্য:<2s)
- ব্যবহারকারীর সন্তুষ্টি:থাম্বস আপ/ডাউন প্রতিক্রিয়া
- প্রতিসহ XTAG432x সহ XTAG432x সহ LLM + পরিকাঠামোর খরচ
📊 পারফরম্যান্স বেঞ্চমার্ক
প্রোডাকশন RAG সিস্টেমগুলি স্কেলে:
- পুনরুদ্ধার করার লেটেন্সি-40TAG050 টি এমএস অনুসন্ধানের জন্য
- এন্ড-টু-এন্ড লেটেন্সি:1-3 সেকেন্ড সহ LLM জেনারেশন
- নির্ভুলতা:85-95% মানব বিশেষজ্ঞদের তুলনায় XTAG455 হ্যানস্যাল
64XTAG3 XTAG3 XTAG3 এক্সপ্লেক্স 46অ্যাম্পল Pinecone এবং OpenAI সহ RAG সিস্টেম:import { OpenAI } from 'openai';
import { Pinecone } from '@pinecone-database/pinecone';
class EnterpriseRAG {
constructor() {
this.openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
this.pinecone = new Pinecone({ apiKey: process.env.PINECONE_API_KEY });
this.index = this.pinecone.index('enterprise-kb');
}
async ingest(documents) {
// 1. Chunk documents
const chunks = documents.flatMap(doc =>
this.chunkDocument(doc, { size: 1000, overlap: 200 })
);
// 2. Generate embeddings
const embeddings = await this.openai.embeddings.create({
model: 'text-embedding-3-large',
input: chunks.map(c => c.text)
});
// 3. Store in vector DB
await this.index.upsert(
chunks.map((chunk, i) => ({
id: chunk.id,
values: embeddings.data[i].embedding,
metadata: {
text: chunk.text,
source: chunk.source,
timestamp: Date.now()
}
}))
);
}
async query(question, options = {}) {
// 1. Embed query
const queryEmbedding = await this.openai.embeddings.create({
model: 'text-embedding-3-large',
input: question
});
// 2. Search vector DB
const searchResults = await this.index.query({
vector: queryEmbedding.data[0].embedding,
topK: options.topK || 5,
includeMetadata: true
});
// 3. Build context
const context = searchResults.matches
.map(match => match.metadata.text)
.join('
');
// 4. Generate response
const completion = await this.openai.chat.completions.create({
model: 'gpt-4-turbo-preview',
messages: [
{
role: 'system',
content: 'Answer based on the provided context. Cite sources.'
},
{
role: 'user',
content: `Context:
${context}
Question: ${question}`
}
],
temperature: 0.7
});
return {
answer: completion.choices[0].message.content,
sources: searchResults.matches.map(m => m.metadata.source),
confidence: searchResults.matches[0].score
};
}
}
// Usage
const rag = new EnterpriseRAG();
// Ingest documents
await rag.ingest(myDocuments);
// Query
const result = await rag.query(
'What is our incident response procedure?'
);
console.log(result.answer);
console.log('Sources:', result.sources);
🔮 RAG
import { OpenAI } from 'openai';
import { Pinecone } from '@pinecone-database/pinecone';
class EnterpriseRAG {
constructor() {
this.openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
this.pinecone = new Pinecone({ apiKey: process.env.PINECONE_API_KEY });
this.index = this.pinecone.index('enterprise-kb');
}
async ingest(documents) {
// 1. Chunk documents
const chunks = documents.flatMap(doc =>
this.chunkDocument(doc, { size: 1000, overlap: 200 })
);
// 2. Generate embeddings
const embeddings = await this.openai.embeddings.create({
model: 'text-embedding-3-large',
input: chunks.map(c => c.text)
});
// 3. Store in vector DB
await this.index.upsert(
chunks.map((chunk, i) => ({
id: chunk.id,
values: embeddings.data[i].embedding,
metadata: {
text: chunk.text,
source: chunk.source,
timestamp: Date.now()
}
}))
);
}
async query(question, options = {}) {
// 1. Embed query
const queryEmbedding = await this.openai.embeddings.create({
model: 'text-embedding-3-large',
input: question
});
// 2. Search vector DB
const searchResults = await this.index.query({
vector: queryEmbedding.data[0].embedding,
topK: options.topK || 5,
includeMetadata: true
});
// 3. Build context
const context = searchResults.matches
.map(match => match.metadata.text)
.join('
');
// 4. Generate response
const completion = await this.openai.chat.completions.create({
model: 'gpt-4-turbo-preview',
messages: [
{
role: 'system',
content: 'Answer based on the provided context. Cite sources.'
},
{
role: 'user',
content: `Context:
${context}
Question: ${question}`
}
],
temperature: 0.7
});
return {
answer: completion.choices[0].message.content,
sources: searchResults.matches.map(m => m.metadata.source),
confidence: searchResults.matches[0].score
};
}
}
// Usage
const rag = new EnterpriseRAG();
// Ingest documents
await rag.ingest(myDocuments);
// Query
const result = await rag.query(
'What is our incident response procedure?'
);
console.log(result.answer);
console.log('Sources:', result.sources);এর ভবিষ্যত RAG সিস্টেমে উদীয়মান প্রবণতা:
- , মাল্টি-এক্সটিএক্সবিন, ইমেজ, টেক্সট ভিডিও
- এজেন্টিক RAG:AI এজেন্ট যেগুলি একাধিক উত্স এবং কারণ অনুসন্ধান করতে পারে
- গ্রাফ RAG:আরও ভাল পুনরুদ্ধারের জন্য জ্ঞানের গ্রাফগুলি ব্যবহার করে 8 বিজ্ঞাপন 8 XPRTAG48X8সিস্টেমগুলি যা ব্যবহারকারীর প্রতিক্রিয়া থেকে শেখে
- রিয়েল-টাইম RAG: ইন্টারেক্টিভ অ্যাপ্লিকেশনগুলির জন্যসাব-সেকেন্ড লেটেন্সি
📚 রিসোর্সগুলি
XTAG4975X আমাদের XTAG4975X প্রযোজনা বাস্তবায়ন দেখুন টিউটোরিয়াল
