Confident AI: фреймворк для автоматизированной оценки больших языковых моделей, сравнивающий качество вывода различных слов-ключей больших моделей

Общее введение

DeepEval - это простой в использовании фреймворк с открытым исходным кодом для оценки и тестирования больших систем языкового моделирования. DeepEval объединяет результаты последних исследований с такими метриками, как G-Eval, обнаружение фантомов, релевантность ответов, RAGAS и другими, чтобы оценить результаты LLM. Независимо от того, реализовано ли ваше приложение или доработано с помощью RAG, DeepEval поможет вам определить наилучшие гиперпараметры для повышения производительности модели. Кроме того, фреймворк генерирует синтетические наборы данных, легко интегрируется в любую среду CI/CD и предоставляет возможность "красной команды" для тестирования более 40 уязвимостей безопасности. Фреймворк также полностью интегрирован с Confident AI для поддержки всего жизненного цикла оценки платформы.

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

 

Список функций

  • Многочисленные метрики оценки LLM, такие как G-Eval, тестирование на галлюцинации, корреляция ответов, RAGAS и др.
  • Поддержка пользовательских метрик оценки и автоматическая интеграция в экосистему DeepEval
  • Создание синтетических наборов данных для оценки
  • Бесшовная интеграция в любую среду CI/CD
  • Функция тестирования Red team позволяет обнаружить более 40 уязвимостей в системе безопасности
  • Бенчмаркинг с поддержкой множества бенчмарков, таких как MMLU, HellaSwag, DROP и др.
  • Полная интеграция с Confident AI для поддержки всего жизненного цикла оценки - от создания набора данных до отладки результатов оценки.

 

Использование помощи

монтаж

Вы можете установить DeepEval с помощью программы pip:

pip install -U deepeval

Рекомендуется создать учетную запись, чтобы генерировать доступные облачные отчеты о тестировании:

deepeval login

Написание тестовых примеров

Создайте тестовый файл:

touch test_chatbot.py

существоватьtest_chatbot.pyНапишите первый тестовый пример в

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

вернуть свойOPENAI_API_KEYУстанавливается как переменная окружения:

export OPENAI_API_KEY="..."

Запустите тестовый файл в CLI:

deepeval test run test_chatbot.py

Использование независимых индикаторов

DeepEval очень модульный, что позволяет легко использовать его метрики:

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)

Массовые наборы данных для оценки

В DeepEval наборы данных - это просто коллекции тестовых примеров. Вот как оценить эти наборы данных в массовом порядке:

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

Запустите тестовый файл в CLI:

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

Оценка LLM с помощью Confident AI

Войдите в платформу DeepEval:

deepeval login

Запустите тестовый файл:

deepeval test run test_chatbot.py

После завершения теста вы увидите ссылку в CLI, которую нужно вставить в браузер, чтобы просмотреть результаты.

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...