RAG پیش از تولید پاسخ، اطلاعات مرتبط را از منابع خارجی بازیابی و همراه پرسش در اختیار مدل قرار میدهد. این روش پاسخگویی بر اساس اسناد داخلی یا اطلاعات بهروز را ممکن میکند.
کیفیت RAG به Chunking، Embedding، جستوجو و Reranking وابسته است و بهتنهایی مانع توهم مدل نمیشود.
مثال کد
query_vector = embedding_model.encode(question)
chunks = vector_store.search(query_vector, top_k=5)
context = "\n\n".join(item.text for item in chunks)
answer = llm.generate(question=question, context=context)
در پرسش درباره رویه داخلی شرکت، سامانه ابتدا چند سند مرتبط را بازیابی و همراه پرسش به LLM ارسال میکند. اگر سند مرتبط پیدا نشود، پاسخ باید عدم قطعیت را اعلام کند.
درک تفاوت این موضوع با بردارسازی معنایی و پایگاه داده برداری به انتخاب راهکار مناسبتر کمک میکند.