ทำความเข้าใจ BM25
ก่อนจะนำ BM25 sparse retriever มาผสานเข้ากับสถาปัตยกรรม RAG ควรทดสอบกับสตริงสั้นๆ ก่อน เพื่อให้เข้าใจว่า retriever เลือกเอกสารอย่างไร
มีสตริงสามรายการให้แล้ว ซึ่งจะใช้เป็นพื้นฐานสำหรับ BM25 retriever ของคุณ ฟังก์ชันที่จำเป็นสำหรับแบบฝึกหัดนี้ได้โหลดไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Retrieval Augmented Generation (RAG) ด้วย LangChain
คำแนะนำการฝึกหัด
- สร้าง BM25 retriever จากเอกสาร โดยกำหนดให้ดึงเอกสาร สาม รายการในแต่ละครั้ง
- เรียกใช้ retriever กับ query ที่กำหนดให้
- แสดงเนื้อหาหน้าของผลลัพธ์รายการแรก
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
chunks = [
"RAG stands for Retrieval Augmented Generation.",
"Graph Retrieval Augmented Generation uses graphs to store and utilize relationships between documents in the retrieval process.",
"There are different types of RAG architectures; for example, Graph RAG."
]
# Initialize the BM25 retriever
bm25_retriever = ____.from_texts(____)
# Invoke the retriever
results = bm25_retriever.____("Graph RAG")
# Extract the page content from the first result
print("Most Relevant Document:")
print(____)