Partilhar via


LanguageModelFailurePlugin

Simula vários cenários de falha de grandes modelos de linguagem (LLM) para testar a resiliência de aplicações dependentes do modelo de linguagem.

Captura de ecrã de um prompt de comandos com o Proxy de Desenvolvimento a simular uma resposta de falha de modelo de linguagem para um pedido de API de LLM.

Exemplo de configuração

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

Propriedades de configuração

Propriedade Description Predefinido
failures Conjunto de tipos específicos de falhas a simular. Quando não especificado, o plugin seleciona aleatoriamente entre todos os tipos de falha disponíveis. Todas as falhas disponíveis

Tipos de falha disponíveis

O plugin suporta os seguintes tipos de falhas que simulam comportamentos comuns de LLM:

Tipo de falha Description
AmbiguityVagueness Fornece respostas ambíguas ou vagas
BiasStereotyping Introduz preconceito ou estereótipos nas respostas
CircularReasoning Utiliza raciocínio circular nas explicações
ContradictoryInformation Fornece informações contraditórias
FailureDisclaimHedge Utiliza avisos excessivos ou coberturas
FailureFollowInstructions Não segue instruções específicas
Hallucination Gera informação falsa ou inventada
IncorrectFormatStyle Fornece respostas em formato ou estilo incorreto
Misinterpretation Interpreta mal o pedido do utilizador
OutdatedInformation Fornece informação desatualizada ou obsoleta
OverSpecification Fornece respostas desnecessariamente detalhadas
OverconfidenceUncertainty Demonstra excesso de confiança em relação a informações incertas
Overgeneralization Faz generalizações excessivamente amplas
OverreliancePriorConversation Depende-se demasiado do contexto da conversa anterior
PlausibleIncorrect Fornece informação plausível mas incorreta

Tipos de falha personalizados

Podes adicionar tipos de falha personalizados criando .prompty ficheiros no ~appFolder/prompts diretório. O ficheiro deve ser nomeado lmfailure_<failure>.prompty onde <failure> está escrito no caso do kebab (por exemplo, my-failure). Na configuração do plugin, referencia-o usando PascalCase (por exemplo, MyFailure).

Cenários de utilização

O LanguageModelFailurePlugin foi concebido para ajudar os programadores a testar as suas aplicações contra vários modos de falha de LLM:

  • Testes de alucinação: Verifique se a sua aplicação trata informações falsas de forma adequada
  • Deteção de viés: Respostas de teste a conteúdos enviesados ou estereotipados
  • Validação do formato: Garanta que a sua aplicação lida com respostas formatadas incorretamente
  • Instrução a seguir: Teste a resiliência quando o LLM não segue as instruções
  • Gestão da incerteza: Verifique se a sua aplicação gere respostas incorretas e excessivamente confiantes

Próximo passo