Condividi tramite


LanguageModelFailurePlugin

Simula vari scenari di errore LLM (Large Language Model) per testare la resilienza delle applicazioni dipendenti dal modello linguistico.

Screenshot di un prompt dei comandi con il proxy di sviluppo che simula una risposta di errore del modello linguistico per una richiesta API LLM.

Esempio di configurazione

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.1.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.1.0/languagemodelfailureplugin.schema.json",
    "failures": [
      "Hallucination",
      "PlausibleIncorrect"
    ]
  }
}

Proprietà di configurazione

Proprietà Description Impostazione predefinita
failures Matrice di tipi di errore specifici da simulare. Se non specificato, il plug-in seleziona in modo casuale da tutti i tipi di errore disponibili. Tutti gli errori disponibili

Tipi di errore disponibili

Il plug-in supporta i tipi di errore seguenti che simulano comportamenti LLM comuni:

Tipo di errore Description
AmbiguityVagueness Fornisce risposte ambigue o vaghe
BiasStereotyping Introduce distorsioni o stereotipi nelle risposte
CircularReasoning Usa il ragionamento circolare nelle spiegazioni
ContradictoryInformation Fornisce informazioni contraddittorie
FailureDisclaimHedge Usa dichiarazioni di non responsabilità eccessive o hedging
FailureFollowInstructions Non è possibile seguire istruzioni specifiche
Hallucination Genera informazioni false o costituite
IncorrectFormatStyle Fornisce risposte in formato o stile non corretti
Misinterpretation Interpretazione errata della richiesta dell'utente
OutdatedInformation Fornisce informazioni obsolete o obsolete
OverSpecification Fornisce risposte inutilmente dettagliate
OverconfidenceUncertainty Mostra l'overconfidenza delle informazioni incerte
Overgeneralization Rende eccessivamente generali le generalizzazioni
OverreliancePriorConversation Si basa eccessivamente sul contesto della conversazione precedente
PlausibleIncorrect Fornisce informazioni plausibili ma non corrette

Tipi di errore personalizzati

È possibile aggiungere tipi di errore personalizzati creando .prompty file nella ~appFolder/prompts directory. Il file deve essere denominato lmfailure_<failure>.prompty dove <failure> è scritto in kebab-case (ad esempio, my-failure). Nella configurazione del plug-in fare riferimento all'uso di PascalCase (ad esempio, MyFailure).

Scenari di utilizzo

LanguageModelFailurePlugin è progettato per aiutare gli sviluppatori a testare le applicazioni in base a diverse modalità di errore LLM:

  • Test allucinazione: verificare che l'app gestisca le informazioni false in modo appropriato
  • Rilevamento distorsioni: testare le risposte al contenuto distorto o stereotipato
  • Convalida del formato: verificare che l'app gestisca risposte formattate in modo non corretto
  • Istruzioni seguenti: Testare la resilienza quando LLM non segue le istruzioni
  • Gestione dell'incertezza: verificare che l'app gestisca risposte non corrette sovraconfidente

Passo successivo