Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Na první pohled
Cílem: Testování selhání LLM, jako jsou halucinace
Čas: 15 minut
Pluginy:LanguageModelFailurePlugin
Požadavky:Nastavení dev proxy serveru
Při vytváření aplikací, které se integrují s velkými jazykovými modely (LLM), byste měli otestovat, jak vaše aplikace zpracovává různé scénáře selhání LLM. Dev Proxy umožňuje simulovat realistická selhání jazykového modelu v libovolném rozhraní LLM API, které ve své aplikaci používáte, pomocí LanguageModelFailurePlugin.
Simulace selhání jazykového modelu v libovolném rozhraní LLM API
Začněte tím, že ve svém konfiguračním souboru povolíte LanguageModelFailurePlugin.
Soubor: devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.4.0/rc.schema.json",
"plugins": [
{
"name": "LanguageModelFailurePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"urlsToWatch": [
"https://api.openai.com/*",
"http://localhost:11434/*"
]
}
]
}
S touto základní konfigurací modul plug-in náhodně vybere všechny dostupné typy selhání a použije je pro odpovídající požadavky rozhraní API jazykového modelu.
Konfigurace konkrétních scénářů selhání
Pokud chcete otestovat konkrétní scénáře selhání, nakonfigurujte modul plug-in tak, aby používal konkrétní typy selhání:
Soubor: devproxyrc.json (kompletní s typy selhání)
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.4.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.4.0/languagemodelfailureplugin.schema.json",
"failures": [
"Hallucination",
"PlausibleIncorrect",
"BiasStereotyping"
]
}
}
Tato konfigurace simuluje pouze nesprávné informace, přijatelné, ale nesprávné odpovědi a zkreslený obsah.
Testování různých rozhraní LLM API
Různá rozhraní API LLM můžete otestovat konfigurací několika instancí modulu plug-in s různými vzory adres URL:
Soubor: devproxyrc.json (více instancí modulu plug-in)
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.4.0/rc.schema.json",
"plugins": [
{
"name": "LanguageModelFailurePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "openaiFailures",
"urlsToWatch": [
"https://api.openai.com/*"
]
},
{
"name": "LanguageModelFailurePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "ollamaFailures",
"urlsToWatch": [
"http://localhost:11434/*"
]
}
],
"openaiFailures": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.4.0/languagemodelfailureplugin.schema.json",
"failures": ["Hallucination", "OutdatedInformation"]
},
"ollamaFailures": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.4.0/languagemodelfailureplugin.schema.json",
"failures": ["Overgeneralization", "IncorrectFormatStyle"]
}
}
Návod
Nakonfigurujte různé scénáře selhání pro různé poskytovatele LLM a otestujte, jak vaše aplikace zpracovává chování specifické pro poskytovatele. Pojmenujte configSection podle služby LLM, kterou testujete, aby byla konfigurace snadněji pochopitelná a udržovatelná.
Běžné testovací scénáře
Tady je několik doporučených kombinací selhání pro různé testovací scénáře:
Testování přesnosti obsahu
Otestujte, jak vaše aplikace zpracovává nesprávné nebo zavádějící informace:
Soubor: devproxyrc.json (pouze oddíl languageModelFailurePlugin)
{
"languageModelFailurePlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.4.0/languagemodelfailureplugin.schema.json",
"failures": [
"Hallucination",
"PlausibleIncorrect",
"OutdatedInformation",
"ContradictoryInformation"
]
}
}
Testování předsudků a nestrannosti
Otestujte, jak vaše aplikace reaguje na zkreslený nebo stereotypní obsah:
Soubor: devproxyrc.json (pouze oddíl languageModelFailurePlugin)
{
"languageModelFailurePlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.4.0/languagemodelfailureplugin.schema.json",
"failures": [
"BiasStereotyping",
"Overgeneralization"
]
}
}
Následující pokyny k testování
Otestujte, jak vaše aplikace zpracovává odpovědi, které nedodržují pokyny:
Soubor: devproxyrc.json (pouze oddíl languageModelFailurePlugin)
{
"languageModelFailurePlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.4.0/languagemodelfailureplugin.schema.json",
"failures": [
"FailureFollowInstructions",
"Misinterpretation",
"IncorrectFormatStyle"
]
}
}
Testování kvality odezvy
Otestujte, jak vaše aplikace zpracovává nejasné nebo příliš složité odpovědi:
Soubor: devproxyrc.json (pouze oddíl languageModelFailurePlugin)
{
"languageModelFailurePlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.4.0/languagemodelfailureplugin.schema.json",
"failures": [
"AmbiguityVagueness",
"OverSpecification",
"CircularReasoning",
"FailureDisclaimHedge"
]
}
}
Spusťte dev Proxy s konfiguračním souborem a pomocí aplikace zjistěte, jak zpracovává selhání simulovaného jazykového modelu. Plug-in zachycuje odpovědi z API jazykového modelu a nahrazuje je syntetickými selhávajícími odpověďmi, které vykazují nakonfigurované chování selhání.
Vytváření vlastních scénářů selhání
Vlastní scénáře selhání můžete vytvořit přidáním .prompty souborů do ~appFolder/prompts adresáře. Pokud chcete například vytvořit příklad selhání způsobeného nadužíváním technického žargonu:
Vytvoření souboru s názvem
lmfailure_technical-jargon-overuse.promptyDefinujte chování selhání v
.promptysouboru:--- name: Technical Jargon Overuse model: api: chat sample: scenario: Simulate a response that overuses technical jargon and unnecessarily complex terminology, making simple concepts difficult to understand. --- user: How do I create a simple web page? user: You are a language model under evaluation. Your task is to simulate incorrect responses. {{scenario}} Do not try to correct the error. Do not explain or justify the mistakes. The goal is to simulate them as realistically as possible for evaluation purposes.Odkazujte na ni v konfiguraci jako
TechnicalJargonOveruseSoubor: devproxyrc.json (pouze oddíl languageModelFailurePlugin)
{ "languageModelFailurePlugin": { "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.4.0/languagemodelfailureplugin.schema.json", "failures": [ "TechnicalJargonOveruse", "Hallucination" ] } }
Další krok
Další informace o nástroji LanguageModelFailurePlugin.