RAGAS

by Stephen M. Walker II, Co-Fondateur / PDG

RAGAS fournit un ensemble de mesures pour évaluer différents aspects des systèmes RAG sans se fier aux annotations humaines de vérité de terrain. Ces mesures sont divisées en deux catégories : récupération et génération.

Mesures de RAGAS

  1. Mesures de récupération : Ces mesures évaluent les performances du système de récupération. Elles comprennent :

    • Pertinence du contexte : Cela mesure le rapport signal/bruit dans les contextes récupérés.
    • Rappel du contexte : Cela mesure la capacité du récupérateur à récupérer toutes les informations nécessaires pour répondre à la question. Il est calculé en utilisant la réponse de vérité de terrain fournie et un LLM pour vérifier si chaque déclaration de celle-ci peut être trouvée dans le contexte récupéré.
  2. Mesures de génération : Ces mesures évaluent les performances du système de génération. Elles comprennent :

    • Fidélité : Cela mesure les hallucinations, ou la génération d'informations non présentes dans le contexte.
    • Pertinence de la réponse : Cela mesure à quel point les réponses sont pertinentes par rapport à la question.

La moyenne harmonique de ces quatre aspects vous donne le score RAGAS, qui est une seule mesure de la performance de votre système de QA sur tous les aspects importants.

Comment utiliser RAGAS

Pour utiliser RAGAS, vous avez besoin de quelques questions et, si vous utilisez le rappel de contexte, d'une réponse de référence. La plupart des mesures ne nécessitent pas de données étiquetées, ce qui facilite leur utilisation par les utilisateurs sans qu'ils aient à se soucier de la création d'un ensemble de test annoté par l'homme en premier.

Voici un extrait de code Python montrant comment utiliser RAGAS pour l'évaluation :

from ragas.metrics import faithfulness, answer_relevancy, context_relevancy, context_recall
from ragas.langchain import RagasEvaluatorChain

# faire des chaînes d'évaluation
eval_chains = {m.name: RagasEvaluatorChain(metric=m) for m in [faithfulness, answer_relevancy, context_relevancy, context_recall]}

# évaluer
for name, eval_chain in eval_chains.items():
    score_name = f"{name}_score"
    print(f"{score_name}: {eval_chain(result)[score_name]}")

Dans ce code, RagasEvaluatorChain est utilisé pour créer des chaînes d'évaluateurs pour chaque mesure. La méthode __call__() de la chaîne d'évaluateurs est ensuite utilisée avec les sorties de la chaîne QA pour exécuter les évaluations.

RAGAS est un outil puissant pour évaluer les pipelines RAG, fournissant des mesures exploitables en utilisant le moins de données annotées possible, moins cher et plus rapide. Il aide les développeurs à s'assurer que leurs systèmes de QA sont robustes et prêts à être déployés.

More terms

Paul Cohen

Paul Cohen was an American mathematician best known for his groundbreaking work in set theory, particularly the Continuum Hypothesis. He was awarded the Fields Medal in 1966.

Read more

What is temporal difference learning?

Temporal Difference (TD) learning is a class of model-free reinforcement learning methods. These methods sample from the environment, similar to Monte Carlo methods, and perform updates based on current estimates, akin to dynamic programming methods. Unlike Monte Carlo methods, which adjust their estimates only once the final outcome is known, TD methods adjust predictions to match later, more accurate predictions.

Read more

It's time to build

Collaborate with your team on reliable Generative AI features.
Want expert guidance? Book a 1:1 onboarding session from your dashboard.

Start for free