Confident AI: a framework for automated large language model evaluation, comparing the quality of output of different large model cue words (en inglés)

Introducción general

DeepEval es un marco de evaluación LLM de código abierto y fácil de usar para evaluar y probar grandes sistemas de modelado del lenguaje. DeepEval combina los resultados de las últimas investigaciones con métricas como G-Eval, detección de fantasmas, relevancia de las respuestas, RAGAS, etc. para evaluar los resultados de LLM. Tanto si su aplicación está implementada como si está afinada por RAG, DeepEval puede ayudarle a determinar los mejores hiperparámetros para mejorar el rendimiento del modelo. Además, genera conjuntos de datos sintéticos, se integra perfectamente en cualquier entorno CI/CD y proporciona capacidades de prueba de equipo rojo para más de 40 vulnerabilidades de seguridad. El marco también está totalmente integrado con Confident AI para dar soporte a todo el ciclo de vida de evaluación de la plataforma.

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

 

Lista de funciones

  • Múltiples métricas de evaluación LLM como G-Eval, pruebas de alucinación, correlación de respuestas, RAGAS, etc.
  • Compatibilidad con métricas de evaluación personalizadas e integración automática en el ecosistema DeepEval.
  • Generación de conjuntos de datos sintéticos para la evaluación
  • Integración perfecta en cualquier entorno CI/CD
  • Las pruebas del equipo rojo detectan más de 40 vulnerabilidades de seguridad
  • Benchmarking con soporte para múltiples benchmarks como MMLU, HellaSwag, DROP, etc.
  • Totalmente integrado con Confident AI para apoyar todo el ciclo de vida de la evaluación, desde la creación del conjunto de datos hasta la depuración de los resultados de la evaluación.

 

Utilizar la ayuda

montaje

Puede instalar DeepEval mediante pip:

pip install -U deepeval

Se recomienda crear una cuenta para generar informes de pruebas compartibles en la nube:

deepeval login

Casos de prueba

Crea un archivo de prueba:

touch test_chatbot.py

existetest_chatbot.pyEscriba el primer caso de prueba en

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])

devuelva suOPENAI_API_KEYEstablecer como variable de entorno:

export OPENAI_API_KEY="..."

Ejecute el archivo de prueba en la CLI:

deepeval test run test_chatbot.py

Uso de indicadores independientes

DeepEval es extremadamente modular, lo que facilita que cualquiera pueda utilizar sus métricas:

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)

Conjuntos de datos de evaluación masiva

En DeepEval, los conjuntos de datos no son más que colecciones de casos de prueba. A continuación se explica cómo evaluar estos conjuntos de datos en bloque:

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])

Ejecute el archivo de prueba en la CLI:

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

Evaluación LLM con Confident AI

Inicie sesión en la plataforma DeepEval:

deepeval login

Ejecute el archivo de prueba:

deepeval test run test_chatbot.py

Una vez finalizada la prueba, verá un enlace en la CLI para pegarlo en su navegador y ver los resultados.

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...