Ragas-Bewertung der Kontextpräzision
Um in deine RAG-Evaluierung einzusteigen, beginnst du mit der Bewertung der Kontextpräzision mithilfe des ragas-Frameworks. Denk daran: Kontextpräzision misst im Kern, wie relevant die abgerufenen Dokumente für die Eingabeanfrage sind.
In dieser Übung bekommst du eine Eingabeanfrage, die von einer RAG-Anwendung abgerufenen Dokumente sowie die Ground Truth – also das aus Sicht einer menschlichen Expertin bzw. eines Experten passendste abzurufende Dokument. Du berechnest die Kontextpräzision auf Basis dieser Strings, bevor du in der nächsten Übung eine echte LangChain-RAG-Chain bewertest.
Der von der RAG-Anwendung erzeugte Text wurde der Kürze halber in der Variablen model_response gespeichert.
Diese Übung ist Teil des Kurses
Retrieval Augmented Generation (RAG) mit LangChain
Anleitung zur Übung
- Definiere eine
ragas-Kontextpräzisions-Chain. - Bewerte die Kontextpräzision der zu der Eingabeanfrage abgerufenen Dokumente; eine
"ground_truth"wurde bereits vorgegeben.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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']}")