Ragasでコンテキスト精度を評価する
RAGの評価を学ぶ第一歩として、ragasの枠組みを使ってコンテキスト精度(context precision)というRAGの評価指標を確認しましょう。コンテキスト精度とは、取得したドキュメントが質問にどれだけ関連しているかを示す指標です。
この演習では、質問、RAGが取得したドキュメント、人間が判断した正解のドキュメント(ground truth)が用意されています。次の演習で実際のLangChain RAGチェーンを評価する前に、まずはこれらの文字列を使ってコンテキスト精度を計算してみましょう。
なお、RAGが生成したテキストは、簡潔にするために変数model_responseに保存されています。
この演習はコースの一部です
LangChainで学ぶ検索拡張生成(RAG)
演習の手順
ragasのコンテキスト精度チェーンを定義してください。- 質問に対して取得されたドキュメントのコンテキスト精度を評価してください。
"ground_truth"はすでに入力済みです。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
from ragas.metrics import context_precision
# Define the context precision chain
context_precision_chain = ____(metric=____, llm=llm, embeddings=embeddings)
# Evaluate the context precision of the RAG chain
eval_result = ____({
"question": "How does RAG enable AI applications?",
"ground_truth": "RAG enables AI applications by integrating external data in generative models.",
"contexts": [
"RAG enables AI applications by integrating external data in generative models.",
"RAG enables AI applications such as semantic search engines, recommendation systems, and context-aware chatbots."
]
})
print(f"Context Precision: {eval_result['context_precision']}")