Confident AI : un cadre pour l'évaluation automatisée de grands modèles de langage, comparant la qualité de la sortie de différents mots repères de grands modèles.

Introduction générale

DeepEval est un cadre d'évaluation LLM open source facile à utiliser pour évaluer et tester de grands systèmes de modélisation du langage. Il est similaire à Pytest mais se concentre sur les tests unitaires des sorties LLM. DeepEval combine les derniers résultats de recherche avec des métriques telles que G-Eval, la détection de fantômes, la pertinence des réponses, RAGAS, et plus encore pour évaluer les sorties LLM. Que votre application soit implémentée ou affinée par RAG, DeepEval peut vous aider à déterminer les meilleurs hyperparamètres pour améliorer la performance du modèle. En outre, il génère des ensembles de données synthétiques, s'intègre de manière transparente dans tout environnement CI/CD et fournit des capacités de test en équipe rouge pour plus de 40 vulnérabilités de sécurité. Le framework est également entièrement intégré à Confident AI pour prendre en charge l'ensemble du cycle de vie d'évaluation de la plateforme.

Confident AI:自动化大语言模型评估框架,对比不同大模型提示词输出质量

 

Liste des fonctions

  • Plusieurs mesures d'évaluation LLM telles que G-Eval, test d'hallucination, corrélation des réponses, RAGAS, etc.
  • Prise en charge de mesures d'évaluation personnalisées et intégration automatique dans l'écosystème DeepEval
  • Génération d'ensembles de données synthétiques pour l'évaluation
  • Intégration transparente dans tout environnement CI/CD
  • La fonction de test de l'équipe rouge permet de détecter plus de 40 vulnérabilités en matière de sécurité
  • Benchmarking avec prise en charge de plusieurs benchmarks tels que MMLU, HellaSwag, DROP, etc.
  • Entièrement intégré à Confident AI pour prendre en charge l'ensemble du cycle de vie de l'évaluation, de la création des ensembles de données au débogage des résultats de l'évaluation.

 

Utiliser l'aide

montage

Vous pouvez installer DeepEval via pip :

pip install -U deepeval

Il est recommandé de créer un compte pour générer des rapports de test partageables sur le cloud :

deepeval login

Rédaction des cas de test

Créer un fichier de test :

touch test_chatbot.py

existenttest_chatbot.pyRédiger le premier scénario de test dans le

import pytest
from deepeval import assert_test
from deepeval.metrics import AnswerRelevancyMetric
from deepeval.test_case import LLMTestCase
def test_case():
correctness_metric = GEval(
name="Correctness",
criteria="Determine if the 'actual output' is correct based on the 'expected output'.",
evaluation_params=[LLMTestCaseParams.ACTUAL_OUTPUT, LLMTestCaseParams.EXPECTED_OUTPUT],
threshold=0.5
)
test_case = LLMTestCase(
input="What if these shoes don't fit?",
actual_output="We offer a 30-day full refund at no extra costs.",
retrieval_context=["All customers are eligible for a 30 day full refund at no extra costs."]
)
assert_test(test_case, [correctness_metric])

renvoyer votreOPENAI_API_KEYDéfini comme une variable d'environnement :

export OPENAI_API_KEY="..."

Exécutez le fichier de test dans l'interface de programmation :

deepeval test run test_chatbot.py

Utilisation d'indicateurs indépendants

DeepEval est extrêmement modulaire, ce qui facilite l'utilisation de ses mesures par tous :

from deepeval.metrics import AnswerRelevancyMetric
from deepeval.test_case import LLMTestCase
answer_relevancy_metric = AnswerRelevancyMetric(threshold=0.7)
test_case = LLMTestCase(
input="What if these shoes don't fit?",
actual_output="We offer a 30-day full refund at no extra costs.",
retrieval_context=["All customers are eligible for a 30 day full refund at no extra costs."]
)
answer_relevancy_metric.measure(test_case)
print(answer_relevancy_metric.score)
print(answer_relevancy_metric.reason)

Ensembles de données d'évaluation en vrac

Dans DeepEval, les ensembles de données sont simplement des collections de cas de test. Voici comment évaluer ces ensembles de données en masse :

import pytest
from deepeval import assert_test
from deepeval.metrics import HallucinationMetric, AnswerRelevancyMetric
from deepeval.test_case import LLMTestCase
from deepeval.dataset import EvaluationDataset
first_test_case = LLMTestCase(input="...", actual_output="...", context=["..."])
second_test_case = LLMTestCase(input="...", actual_output="...", context=["..."])
dataset = EvaluationDataset(test_cases=[first_test_case, second_test_case])
@pytest.mark.parametrize("test_case", dataset)
def test_customer_chatbot(test_case: LLMTestCase):
hallucination_metric = HallucinationMetric(threshold=0.3)
answer_relevancy_metric = AnswerRelevancyMetric(threshold=0.5)
assert_test(test_case, [hallucination_metric, answer_relevancy_metric])

Exécutez le fichier de test dans l'interface de programmation :

deepeval test run test_<filename>.py -n 4

Évaluation du LLM avec Confident AI

Connectez-vous à la plateforme DeepEval :

deepeval login

Exécutez le fichier de test :

deepeval test run test_chatbot.py

Une fois le test terminé, vous verrez un lien dans l'ITC qui vous permettra de le coller dans votre navigateur pour afficher les résultats.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...