Поделиться через


Библиотеки Microsoft.Extensions.AI.Evaluation

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

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

  • 📦 Microsoft.Extensions.AI.Evaluation — определяет основные абстракции и типы для поддержки оценки.
  • 📦 Microsoft.Extensions.AI.Evaluation.NLP — содержит вычислители , которые оценивают сходство текста ответа LLM с одним или несколькими ссылочными ответами с помощью метрик обработки естественного языка (NLP). Эти оценщики не являются моделями машинного обучения или ИИ; они используют традиционные методы обработки естественного языка, такие как токенизация и анализ n-грамм для оценки текстового сходства.
  • 📦 Microsoft.Extensions.AI.Evaluation.Quality — содержит вычислители , которые оценивают качество ответов LLM в приложении в соответствии с метриками, такими как релевантность и полнота. Эти оценщики используют LLM непосредственно для проведения оценок.
  • 📦 Microsoft.Extensions.AI.Evaluation.Safety — содержит вычислители, такие как ProtectedMaterialEvaluator и ContentHarmEvaluator, которые используют службу оценки Microsoft Foundry для выполнения вычислений.
  • 📦 Microsoft.Extensions.AI.Evaluation.Reporting — содержит поддержку кэширования ответов LLM, хранения результатов оценки и создания отчетов из этих данных.
  • 📦 Microsoft.Extensions.AI.Evaluation.Reporting.Azure — поддерживает библиотеку отчетов с реализацией для кэширования ответов LLM и хранения результатов оценки в контейнере службы хранилища Azure .
  • 📦 Microsoft.Extensions.AI.Evaluation.Console — средство командной строки для создания отчетов и управления данными оценки.

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

Библиотеки предназначены для плавной интеграции с существующими приложениями .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 Evaluation, которая использует модель, тонко настраиваемую для выполнения оценок.

Тип вычислителя Единица измерения 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.

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

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

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

Samples

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

См. также