Compartir a través de


LanguageModelFailurePlugin

Simula varios escenarios de error del modelo de lenguaje grande (LLM) para probar la resistencia de las aplicaciones dependientes del modelo de lenguaje.

Captura de pantalla de un símbolo del sistema con el proxy de desarrollo simulando una respuesta de error del modelo de lenguaje para una solicitud de API de LLM.

Ejemplo de configuración

{
  "$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"
    ]
  }
}

Propiedades de configuración

Propiedad Description Predeterminado
failures Matriz de tipos de error específicos que se van a simular. Cuando no se especifica, el complemento selecciona aleatoriamente entre todos los tipos de error disponibles. Todos los errores disponibles

Tipos de errores disponibles

El complemento admite los siguientes tipos de error que simulan comportamientos comunes de LLM:

Tipo de error Description
AmbiguityVagueness Proporciona respuestas ambiguas o vagas
BiasStereotyping Introduce sesgos o estereotipos en las respuestas
CircularReasoning Usa el razonamiento circular en explicaciones
ContradictoryInformation Proporciona información contraria
FailureDisclaimHedge Usa declinaciones excesivas de responsabilidades o cobertura
FailureFollowInstructions No se pueden seguir instrucciones específicas
Hallucination Genera información falsa o compuesta.
IncorrectFormatStyle Proporciona respuestas en formato o estilo incorrectos.
Misinterpretation Malinterprete la solicitud del usuario
OutdatedInformation Proporciona información obsoleta o obsoleta
OverSpecification Proporciona respuestas innecesariamente detalladas
OverconfidenceUncertainty Muestra el exceso de confianza sobre la información incierta
Overgeneralization Hace generalizaciones excesivamente amplias
OverreliancePriorConversation Se basa en el contexto de conversación anterior
PlausibleIncorrect Proporciona información viable pero incorrecta

Tipos de errores personalizados

Puede agregar tipos de error personalizados mediante la creación .prompty de archivos en el ~appFolder/prompts directorio . El archivo debe tener el nombre lmfailure_<failure>.prompty donde <failure> se escribe en kebab-case (por ejemplo, my-failure). En la configuración del complemento, haga referencia a él mediante PascalCase (por ejemplo, MyFailure).

Escenarios de uso

LanguageModelFailurePlugin está diseñado para ayudar a los desarrolladores a probar sus aplicaciones con varios modos de error de LLM:

  • Pruebas de alucinación: compruebe que la aplicación controla la información falsa correctamente.
  • Detección de sesgo: prueba de respuestas al contenido sesgado o estereotípico
  • Validación de formato: asegúrese de que la aplicación controla las respuestas con formato incorrecto.
  • Instrucción siguiente: Pruebe la resistencia cuando el LLM no siga las instrucciones.
  • Control de incertidumbre: compruebe que la aplicación administra respuestas incorrectas sobreconfident

Paso siguiente