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 ارسال می‌کند. اگر سند مرتبط پیدا نشود، پاسخ باید عدم قطعیت را اعلام کند.

درک تفاوت این موضوع با بردارسازی معنایی و پایگاه داده برداری به انتخاب راهکار مناسب‌تر کمک می‌کند.