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.

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.py
Ré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_KEY
Dé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
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...