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

What is IBM Watson?

IBM Watson is a question-answering computer system capable of answering questions posed in natural language, developed in IBM's DeepQA project by a research team led by principal investigator David Ferrucci.

Read more

What is synthetic intelligence?

Synthetic Intelligence (SI) is an alternative term for Artificial Intelligence (AI), emphasizing that the intelligence of machines can be a genuine form of intelligence, not just a simulation. The term "synthetic" refers to something produced by synthesis, combining parts to form a whole, often a human-made version of something that has arisen naturally.

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