[feat] ai-security-guard support checking prompt and image in request body (#3206)

This commit is contained in:
rinfx
2025-12-22 09:36:49 +08:00
committed by GitHub
parent f4905cbba7
commit e1e8e55c83
6 changed files with 494 additions and 18 deletions

View File

@@ -15,7 +15,23 @@ func OnHttpRequestHeaders(ctx wrapper.HttpContext, config cfg.AISecurityConfig)
}
func OnHttpRequestBody(ctx wrapper.HttpContext, config cfg.AISecurityConfig, body []byte) types.Action {
return text.HandleTextGenerationRequestBody(ctx, config, body)
switch config.ApiType {
case cfg.ApiTextGeneration:
return text.HandleTextGenerationRequestBody(ctx, config, body)
case cfg.ApiImageGeneration:
switch config.ProviderType {
case cfg.ProviderOpenAI:
return image.HandleOpenAIImageGenerationRequestBody(ctx, config, body)
case cfg.ProviderQwen:
return image.HandleQwenImageGenerationRequestBody(ctx, config, body)
default:
log.Errorf("[on request body] image generation api don't support provider: %s", config.ProviderType)
return types.ActionContinue
}
default:
log.Errorf("[on request body] multi_modal_guard don't support api: %s", config.ApiType)
return types.ActionContinue
}
}
func OnHttpResponseHeaders(ctx wrapper.HttpContext, config cfg.AISecurityConfig) types.Action {