Ragasによる忠実性評価
この演習では、第1章の最後に作成したRAGアーキテクチャの忠実性を評価します。このチェーンはすでに再定義されており、変数chainとして利用できます。
用意されたquery、チェーンの出力、取得結果を使って、ragasの枠組みで忠実性を評価します。
必要なクラスはすでにインポートされています。
この演習はコースの一部です
LangChainで学ぶ検索拡張生成(RAG)
演習の手順
- 用意された
queryを使ってretrieverに問い合わせ、リスト内包表記を使って取得した各文書からテキストを抽出してください。 ragasの忠実性チェーンを定義してください。- 用意されたRAGの
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)