Ragas faithfulness-utvärdering
I den här övningen ska du utvärdera faithfulness för den RAG-arkitektur du skapade i slutet av kapitel 1. Kedjan har redan definierats om åt dig och är tillgänglig via variabeln chain.
Du använder den angivna query, kedjans utdata och de hämtade dokumenten för att utvärdera faithfulness med hjälp av ragas-ramverket.
Nödvändiga klasser har redan importerats åt dig.
Den här övningen är en del av kursen
Retrieval Augmented Generation (RAG) med LangChain
Övningsinstruktioner
- Skicka en förfrågan till
retrievermed den angivnaqueryoch använd en listomfattning för att extrahera dokumenttexten från varje hämtat dokument. - Definiera en
ragasfaithfulness-kedja. - Utvärdera faithfulness för den tillgängliga RAG-kedjan
chain– du behöver anropa kedjan för att generera svaret.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)