การประเมิน Faithfulness ด้วย Ragas
ในแบบฝึกหัดนี้ จะประเมิน faithfulness ของสถาปัตยกรรม RAG ที่สร้างไว้ตอนท้ายของ Chapter 1 โดย chain นี้ถูกกำหนดขึ้นใหม่ให้แล้ว และสามารถเรียกใช้ผ่านตัวแปร chain
จะใช้ query ที่กำหนดให้, ผลลัพธ์จาก chain, และเอกสารที่ดึงมาได้ เพื่อประเมิน faithfulness ด้วยเฟรมเวิร์ก ragas
คลาสที่จำเป็นทั้งหมดถูก import ไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Retrieval Augmented Generation (RAG) ด้วย LangChain
คำแนะนำการฝึกหัด
- Query
retrieverโดยใช้queryที่กำหนดให้ แล้วใช้ list comprehension เพื่อดึงข้อความจากเอกสารแต่ละรายการที่ได้รับ - กำหนด faithfulness chain ของ
ragas - ประเมิน faithfulness ของ
chainที่มีอยู่ โดยต้องเรียก invoke บน chain เพื่อสร้างคำตอบ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from ragas.metrics import faithfulness
# Query the retriever using the query and extract the document text
query = "How does RAG improve question answering with LLMs?"
retrieved_docs = [doc.____ for doc in retriever.____(____)]
# Define the faithfulness chain
faithfulness_chain = ____(____, llm=llm, embeddings=embeddings)
# Evaluate the faithfulness of the RAG chain
eval_result = ____({
"question": ____,
"answer": ____.____(query),
"contexts": ____
})
print(eval_result)