Ragas のコンテキスト適合率(precision)評価
RAG の評価を始めるにあたり、まずは ragas フレームワークを使って コンテキスト適合率(context precision) の評価から取り組みます。コンテキスト適合率は、取得されたドキュメントが入力クエリにどれだけ関連しているかを測る指標です。
この演習では、入力クエリ、RAG アプリケーションが取得したドキュメント、そして人間の専門家の判断に基づく最適な取得ドキュメント(ground truth)が与えられています。次の演習で実際の LangChain の RAG チェーンを評価する前に、まずはこれらの文字列に対してコンテキスト適合率を計算します。
RAG アプリケーションが生成したテキストは、簡潔にするために変数 model_response に保存されています。
この演習はコースの一部です
LangChain で学ぶ Retrieval Augmented Generation (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']}")