Майкрософт.Extensions.AI.Evaluation библиотеки

Библиотеки Майкрософт.Extensions.AI.Evaluation упрощают процесс оценки качества и безопасности ответов, созданных моделями ИИ в интеллектуальных приложениях .NET. Различные метрики качества измеряют такие аспекты, как релевантность, правдивость, согласованность и полнота ответов. Метрики безопасности измеряют такие аспекты, как ненависть и несправедливость, насилие и сексуальное содержимое. Оценки важны в тестировании, так как они помогают гарантировать, что модель искусственного интеллекта выполняется должным образом и обеспечивает надежные и точные результаты.

Библиотеки оценки, которые создаются на основе Майкрософт.Extensions.AI абстракции, состоят из следующих пакетов NuGet:

Тестовая интеграция

Библиотеки интегрируются плавно с существующими приложениями .NET, позволяя использовать существующую инфраструктуру тестирования и знакомый синтаксис для оценки интеллектуальных приложений. Вы можете использовать любую платформу тестирования (например, MSTest, xUnit или NUnit) и рабочий процесс тестирования (например, обозреватель тестов, dotnet test или конвейер CI/CD). Библиотека также предоставляет простые способы для оценки приложения в режиме онлайн, публикуя результаты оценивания на платформах телеметрии и мониторинга.

Комплексные метрики оценки

Библиотеки для оценки были созданы в сотрудничестве с исследователями в области науки о данных из Майкрософт и GitHub и были протестированы на популярных возможностях Microsoft Copilot. В следующих разделах показаны встроенные средства оценки качества, NLP и оценки безопасности и метрики, которые они измеряют.

Чтобы добавить собственные оценки, реализуйте IEvaluator интерфейс.

Оценщики качества

Оценщики качества измеряют качество ответа. Они используют LLM для выполнения оценки.

Тип вычислителя Единица измерения Description
RelevanceEvaluator Relevance Оценивает, насколько релевантн ответ в запросе
CompletenessEvaluator Completeness Оценивает, насколько исчерпывающим и точным является ответ
RetrievalEvaluator Retrieval Оценивает выполнение задач по извлечению информации для дополнительного контекста
FluencyEvaluator Fluency Оценивает грамматическую точность, диапазон словарей, сложность предложения и общую удобочитаемость
CoherenceEvaluator Coherence Оценивает логическую и упорядоченную презентацию идей
EquivalenceEvaluator Equivalence Оценивает сходство между созданным текстом и его основной правдой в отношении запроса
GroundednessEvaluator Groundedness Определяет, насколько хорошо сформированный ответ соответствует заданному контексту.
RelevanceTruthAndCompletenessEvaluator Relevance (RTC), Truth (RTC) и Completeness (RTC) Оценивает, насколько релевантный, правдивый и полный ответ
IntentResolutionEvaluator Intent Resolution Оценивает эффективность системы ИИ в выявлении и разрешении намерений пользователя с упором на агенте
TaskAdherenceEvaluator Task Adherence Оценивает эффективность системы ИИ при подключении к задаче, назначенной ей (агентом).
ToolCallAccuracyEvaluator Tool Call Accuracy Оценивает эффективность системы искусственного интеллекта при использовании средств, предоставленных ему (ориентированных на агентов)

† Этот оценщик отмечен экспериментальным.

Оценщики NLP

Вычислители NLP оценивают качество ответа LLM, сравнивая его с эталонным ответом с помощью методов обработки естественного языка (NLP). Эти оценщики не основаны на LLM или ИИ; вместо того они используют старые методы обработки естественного языка (NLP) для сравнения текста.

Тип вычислителя Единица измерения Description
BLEUEvaluator BLEU Вычисляет ответ, сравнивая его с одним или несколькими ссылочными ответами с помощью алгоритма двуязычной оценки (BLEU). Этот алгоритм обычно используется для оценки качества задач машинного перевода или создания текста.
GLEUEvaluator GLEU Измеряет сходство между созданным ответом и одним или несколькими ссылочными ответами с помощью алгоритма Google BLEU (GLEU), варианта алгоритма BLEU, оптимизированного для оценки уровня предложения.
F1Evaluator F1 Вычисляет ответ, сравнивая его с эталонным ответом с помощью алгоритма оценки F1 (соотношение количества общих слов между созданным ответом и ответом на ссылку).

Оценщики безопасности

Оценщики безопасности проверяют наличие вредного, неуместного или небезопасного содержимого в ответе. Они полагаются на службу оценки Foundry, которая использует настроенную модель для проведения оценок.

Тип вычислителя Единица измерения Description
GroundednessProEvaluator Groundedness Pro Использует точно настроенную модель, размещенную в сервисе оценки Foundry, чтобы оценить, насколько хорошо сформированный ответ соответствует заданному контексту.
ProtectedMaterialEvaluator Protected Material Оценивает ответ на наличие защищенного материала
UngroundedAttributesEvaluator Ungrounded Attributes Оценивает ответ на наличие контента, который указывает на необоснованные выводы об атрибутах человека.
HateAndUnfairnessEvaluator Hate And Unfairness Оценивает ответ на наличие ненавистного или несправедливого содержимого.
SelfHarmEvaluator Self Harm Оценивает ответ на наличие содержимого, указывающего на самоповреждение.
ViolenceEvaluator Violence Оценивает ответ на наличие насильственного содержимого
SexualEvaluator Sexual Оценивает ответ на наличие сексуального содержимого
CodeVulnerabilityEvaluator Code Vulnerability Оценивает ответ на наличие уязвимого кода
IndirectAttackEvaluator Indirect Attack Оценивает ответ на наличие непрямых атак, таких как манипулирование содержимым, вторжением и сбором информации

† Кроме того, ContentHarmEvaluator предоставляет одноразовую оценку для четырех метрик, поддерживаемых HateAndUnfairnessEvaluator, SelfHarmEvaluator, ViolenceEvaluator и SexualEvaluator.

Кэшированные ответы

Библиотека использует функции кэширования ответов для сохранения ответов из модели искусственного интеллекта в кэше. В последующих запусках, если параметры запроса (запрос и модель) не изменяются, он обслуживает ответы из кэша для ускорения выполнения и снижения затрат.

Отчетность

Библиотека поддерживает хранение результатов оценки и создание отчетов. На следующем рисунке показан пример отчета в конвейере Azure DevOps:

Скриншот отчета об оценке ИИ в Azure DevOps pipeline.

Средство dotnet aieval, которое поставляется в составе пакета Майкрософт.Extensions.AI.Evaluation.Console, включает функции для создания отчетов и управления сохраненными данными оценки и кэшированных ответов. Дополнительные сведения см. в разделе "Создание отчета".

Конфигурация

Библиотеки являются гибкими, и вы можете выбрать необходимые компоненты. Например, отключите кэширование ответов или настройте отчеты для оптимальной работы в вашей среде. Вы также можете адаптировать и настроить процесс оценки, например, добавив пользовательские показатели и параметры отчетности.

Samples

Для более подробного ознакомления с функциональными возможностями и API библиотек Майкрософт.Extensions.AI.Evaluation, см. примеры использования API (репозиторий dotnet/ai-samples). Эти примеры представляют собой коллекцию модульных тестов. Каждый модульный тест демонстрирует определенную концепцию или API и основывается на концепциях и API, показанных в предыдущих модульных тестах.

См. также