Aprendizagem pessoal com IA
e orientação prática
讯飞绘镜

Confident AI: uma estrutura para avaliação automatizada de modelos de idiomas grandes, comparando a qualidade do resultado de diferentes palavras-chave de modelos grandes

Introdução geral

O DeepEval é uma estrutura de avaliação de LLM de código aberto fácil de usar para avaliar e testar grandes sistemas de modelagem de linguagem. O DeepEval combina os resultados das pesquisas mais recentes com métricas como G-Eval, detecção de fantasmas, relevância da resposta, RAGAS e outras para avaliar os resultados do LLM. Independentemente de seu aplicativo ser implementado ou ajustado pelo RAG, o DeepEval pode ajudá-lo a determinar os melhores hiperparâmetros para melhorar o desempenho do modelo. Além disso, ele gera conjuntos de dados sintéticos, integra-se perfeitamente a qualquer ambiente de CI/CD e fornece recursos de teste de equipe vermelha para mais de 40 vulnerabilidades de segurança. A estrutura também está totalmente integrada ao Confident AI para dar suporte a todo o ciclo de vida de avaliação da plataforma.

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


 

Lista de funções

  • Múltiplas métricas de avaliação do LLM, como G-Eval, teste de alucinação, correlação de respostas, RAGAS, etc.
  • Suporte para métricas de avaliação personalizadas e integração automática no ecossistema DeepEval
  • Geração de conjuntos de dados sintéticos para avaliação
  • Integração perfeita em qualquer ambiente de CI/CD
  • Recurso de teste da equipe vermelha para detectar mais de 40 vulnerabilidades de segurança
  • Benchmarking com suporte para vários benchmarks, como MMLU, HellaSwag, DROP, etc.
  • Totalmente integrado ao Confident AI para dar suporte a todo o ciclo de vida da avaliação, desde a criação do conjunto de dados até a depuração dos resultados da avaliação.

 

Usando a Ajuda

montagem

Você pode instalar o DeepEval via pip:

pip install -U deepeval

Recomenda-se a criação de uma conta para gerar relatórios de teste compartilháveis baseados na nuvem:

deepeval login

Escrevendo casos de teste

Crie um arquivo de teste:

touch test_chatbot.py

existirtest_chatbot.pyEscreva o primeiro caso de teste no arquivo

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

devolva seuOPENAI_API_KEYDefinido como uma variável de ambiente:

export OPENAI_API_KEY="..."

Execute o arquivo de teste na CLI:

deepeval test run test_chatbot.py

Uso de indicadores independentes

O DeepEval é extremamente modular, facilitando o uso de suas métricas por qualquer pessoa:

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 dados de avaliação em massa

No DeepEval, os conjuntos de dados são apenas coleções de casos de teste. Veja como avaliar esses conjuntos de dados em massa:

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

Execute o arquivo de teste na CLI:

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

Avaliação do LLM com a Confident AI

Faça login na plataforma DeepEval:

deepeval login

Execute o arquivo de teste:

deepeval test run test_chatbot.py

Quando o teste for concluído, você verá um link na CLI para colá-lo no navegador e visualizar os resultados.

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Confident AI: uma estrutura para avaliação automatizada de modelos de idiomas grandes, comparando a qualidade do resultado de diferentes palavras-chave de modelos grandes
pt_BRPortuguês do Brasil