Ragas による忠実性評価
この演習では、Chapter 1 の最後に作成した RAG アーキテクチャの忠実性を評価します。このチェーンは再定義済みで、変数 chain として利用できます。
与えられた query、チェーンの出力、そして取得結果を用いて、ragas フレームワークで忠実性を評価します。
必要なクラスはすでにインポート済みです。
この演習はコースの一部です
LangChain で学ぶ Retrieval Augmented Generation (RAG)
演習の手順
- 提供された
queryを使ってretrieverにクエリし、リスト内包表記で取得した各ドキュメントからテキストを抽出します。 ragasの忠実性チェーンを定義します。- 利用可能な RAG の
chainを評価します。回答を生成するためにチェーンを invoke する必要があります。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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)