Valutazione della faithfulness con Ragas
In questo esercizio valuterai la faithfulness dell'architettura RAG che hai creato alla fine del Capitolo 1. Questa chain è stata ridefinita per te ed è disponibile tramite la variabile chain.
Userai la query fornita, l'output della chain e i documenti recuperati per valutare la faithfulness usando il framework ragas.
Le classi necessarie sono già state importate per te.
Questo esercizio fa parte del corso
Retrieval Augmented Generation (RAG) con LangChain
Istruzioni dell'esercizio
- Interroga il
retrieverusando laqueryfornita e usa una list comprehension per estrarre il testo del documento da ciascun documento recuperato. - Definisci una faithfulness chain di
ragas. - Valuta la faithfulness della
chainRAG disponibile; dovrai invocare la chain per generare la risposta.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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)