7.8. 使用带有 Guardrails Orchestrator 的 Hugging Face Prompt Injection detector
这些指令基于前面的 HAP 场景示例构建,并考虑两个检测器 HAP 和 Prompt Injection,作为保护系统的一部分部署。
具体说明侧重于 Hugging Face (HF) Prompt Injection detector,显示两个场景:
- 使用带有通用大型语言模型(LLM)的 Prompt Injection detector,作为 Guardrails Orchestrator 服务的一部分部署,并由 TrustyAI Operator 管理,以使用 Orchestrator API 对 LLM 的文本输入或输出进行分析。
- 使用开源检测器 API 在文本样本上执行独立检测。
这些示例提供了示例文本,有些人可能会发现不清,因为检测者的目的是演示如何过滤出问题、红帽或恶意内容。
先决条件
- 具有集群管理员特权。
- 您已下载并安装 OpenShift 命令行界面 (CLI)。请参阅安装 OpenShift CLI。
- 您已将 KServe 配置为以标准模式部署模型。如需更多信息,请参阅在 单模式服务平台上部署模型。
- 您熟悉如何配置和部署 Guardrails Orchestrator 服务。请参阅部署 Guardrails Orchestrator
-
在 OpenShift AI
DataScienceCluster中将 TrustyAI 组件设置为Managed。 - 您有一个大型语言模型(LLM)用于 chat 生成或文本分类,或两者部署在命名空间中,以遵循 Orchestrator API 示例。
场景 1:使用带有通用语言模型的提示注入检测器
使用 CLI 在 Openshift 中创建一个新项目:
oc new-project detector-demo
oc new-project detector-demoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
service_account.yaml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用
service_account.yaml以创建服务帐户:oc apply -f service_account.yaml
oc apply -f service_account.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
detector_model_storage.yaml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用
detector_model_storage.yaml从 Hugging Face Model Hub 下载所需的检测器模型并将其放在存储位置:oc apply -f detector_model_storage.yaml
oc apply -f detector_model_storage.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
prompt_injection_detector.yaml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用
prompt_injection_detector.yaml来配置服务运行时、推测服务以及您要包含在 Guardrails 编配服务中的提示注入检测器的路由:oc apply -f prompt_injection_detector.yaml
oc apply -f prompt_injection_detector.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意- 有关自定义服务运行时和 inference 服务的详情,请参阅上一节中配置 Guardrails Detector Hugging Face service runtime。
- 您可以使用与 Prompt Injection 检测器类似的方式配置 HAP detector。如需了解更多详细信息,请参阅 TrustyAI LLM demos。这些演示演示了如何为 HAP detector 配置服务运行时和 inference 服务,以及如何部署文本生成 LLM。
-
将检测器添加到 Guardrails Orchestrator 中的
ConfigMap中:
通过将 enableBuiltInDetectors 选项设置为 false 来关闭 in-built detectors。
使用 HAP 和 Prompt Injection 检测器对由模型对话和/或完成的消息列表执行检测:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
在 Orchestrator API 中,您可以使用这些检测器(HAP 和 Prompt Injection)来:
- 在输入 lvel、输出级别或两者中为文本生成 LLM 执行内容过滤。
- 使用 Orchestrator API 执行独立检测。
场景 2:使用 Prompt Injection detector 执行独立检测程序
您可以使用 Prompt Injection 检测器使用检测程序 API 或 Orchestrator API 执行独立检测。
获取检测器的路由:
PROMPT_INJECTION_ROUTE=$(oc get routes prompt-injection-detector-route -o jsonpath='{.spec.host}')PROMPT_INJECTION_ROUTE=$(oc get routes prompt-injection-detector-route -o jsonpath='{.spec.host}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查检测器的健康状况:
curl -s http://$PROMPT_INJECTION_ROUTE/health | jq
curl -s http://$PROMPT_INJECTION_ROUTE/health | jqCopy to Clipboard Copied! Toggle word wrap Toggle overflow This command returns `"ok"` if the detector is functioning correctly.
This command returns `"ok"` if the detector is functioning correctly.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用您的检测程序执行检测:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此时会显示以下输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow