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


LanguageModelFailurePlugin

Имитирует различные сценарии сбоя крупной языковой модели (LLM) для тестирования устойчивости приложений, зависимых от языковой модели.

Снимок экрана: командная строка с прокси-сервером разработки, имитация ответа на сбой языковой модели для запроса API LLM.

Пример конфигурации

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "LanguageModelFailurePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "languageModelFailurePlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.openai.com/*",
    "http://localhost:11434/*"
  ],
  "languageModelFailurePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/languagemodelfailureplugin.schema.json",
    "failures": [
      "Hallucination",
      "PlausibleIncorrect"
    ]
  }
}

Свойства конфигурации

Недвижимость Description По умолчанию
failures Массив определенных типов сбоев для имитации. Если этот параметр не указан, подключаемый модуль случайным образом выбирается из всех доступных типов сбоев. Все доступные сбои

Доступные типы сбоев

Подключаемый модуль поддерживает следующие типы сбоев, которые имитируют распространенные поведения LLM:

Тип сбоя Description
AmbiguityVagueness Предоставляет неоднозначные или расплывчатые ответы
BiasStereotyping Представляет предвзятость или стереотипность в ответах
CircularReasoning Использует циклическую причину в объяснениях
ContradictoryInformation Предоставляет противоречивые сведения
FailureDisclaimHedge Использует чрезмерные отказы от ответственности или шестнадцатеричное использование
FailureFollowInstructions Не удается выполнить определенные инструкции
Hallucination Создает ложные или сделанные сведения
IncorrectFormatStyle Предоставляет ответы в неправильном формате или стиле
Misinterpretation Неправильно интерпретирует запрос пользователя
OutdatedInformation Предоставляет устаревшие или устаревшие сведения
OverSpecification Предоставляет ненужные подробные ответы
OverconfidenceUncertainty Отображение чрезмерной информации о неопределенной информации
Overgeneralization Делает чрезмерно широкие обобщения
OverreliancePriorConversation На основе предыдущего контекста беседы используется чрезмерное использование контекста беседы
PlausibleIncorrect Предоставляет правдоподобную, но неправильную информацию

Пользовательские типы сбоев

Пользовательские типы сбоев можно добавить, создав .prompty файлы в каталоге ~appFolder/prompts . Файл должен быть назван lmfailure_<failure>.prompty , где <failure> записывается в kebab-case (например, my-failure). В конфигурации подключаемого модуля см. ссылку на него с помощью PascalCase (например, MyFailure).

Сценарии использования

LanguageModelFailurePlugin предназначен для тестирования приложений в различных режимах сбоя LLM:

  • Тестирование галлюцинации: убедитесь, что приложение обрабатывает ложные сведения соответствующим образом.
  • Обнаружение предвзятости: тестовые ответы на предвзятое или стереотипное содержимое
  • Проверка формата: убедитесь, что приложение обрабатывает неправильно отформатированные ответы
  • Инструкции ниже. Проверка устойчивости, когда LLM не выполняет инструкции
  • Обработка неопределенности. Убедитесь, что ваше приложение управляет избыточными неверными ответами

Следующий шаг