Confident AI: a framework for automated large language model evaluation, comparing the quality of output of different large model cue words (en inglés)
Últimos recursos sobre IAPublicado hace 6 meses Círculo de intercambio de inteligencia artificial 2.3K 00
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.

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.py
Escriba 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_KEY
Establecer 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
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...