Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Библиотеки 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:
Средство dotnet aieval , которое поставляется в составе Microsoft.Extensions.AI.Evaluation.Console пакета, включает функции для создания отчетов и управления сохраненными данными оценки и кэшированных ответов. Дополнительные сведения см. в разделе "Создание отчета".
Конфигурация
Библиотеки предназначены, чтобы быть гибкими. Вы можете выбрать необходимые компоненты. Например, можно отключить кэширование ответов или настроить отчеты для оптимальной работы в вашей среде. Вы также можете адаптировать и настроить процесс оценки, например, добавив пользовательские показатели и параметры отчетности.
Samples
Более подробный обзор функциональных возможностей и API, доступных в библиотеках Microsoft.Extensions.AI.Evaluation, см. в примерах использования API (репозиторий dotnet/ai-samples).. Эти примеры структурированы как коллекция модульных тестов. Каждый модульный тест демонстрирует определенную концепцию или API и основывается на концепциях и API, показанных в предыдущих модульных тестах.