github项目:llm-guard
总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328
llm-guard:https://github.com/protectai/llm-guard
https://www.doubao.com/chat/6928083396193026
速览
llm-guard
是由 Protect AI 开发的一个全面的工具库,旨在增强大语言模型(LLMs)交互的安全性。以下是该仓库的详细介绍:
主要特性
- 安全防护:提供输入和输出的清理、有害语言检测、数据泄漏预防以及对提示注入攻击的抵抗能力,确保与大语言模型的交互安全可靠。
- 易于集成:设计用于在生产环境中轻松集成和部署,开箱即用,同时会根据需要自动安装必要的库。
- 丰富的扫描器:支持多种输入和输出扫描器,涵盖从敏感信息检测到语言和代码检查等多个方面。
仓库结构
仓库的主要目录和文件结构如下:
.editorconfig
.gitignore
.gitleaks.toml
.markdownlint.yml
.pre-commit-config.yaml
.ruff.toml
CONTRIBUTING.md
LICENSE
Makefile
README.md
SECURITY.md
mkdocs.yml
pyproject.toml
pyrightconfig.json
tests/__init__.pyinput_scanners/output_scanners/test_evaluate.pytest_util.py
examples/amazon_bedrock.pygoogle_gemini.pylangchain.pyopenai_api.pyopenai_streaming.py
docs/CNAMEapi/assets/changelog.mdcustomization/get_started/...
llm_guard/...
.github/...
llm_guard_api/...
benchmarks/...
主要组件
扫描器
- 输入扫描器(Input Scanners):对输入到 LLM 的提示进行检查,包括匿名化、禁止特定代码、检测提示注入、检查毒性等。例如:
Anonymize
:对输入进行匿名化处理。PromptInjection
:检测提示注入攻击。Secrets
:使用detect-secrets
库检测输入中的敏感信息,支持部分插件如DropboxDetector
、ShopifyDetector
等,用于检测特定服务的令牌。
- 输出扫描器(Output Scanners):对 LLM 的输出进行检查,确保输出的安全性和合规性。例如:
Sensitive
:检测输出中的敏感(PII)数据。JSON
:检测、验证和修复输出中的 JSON 结构。
示例代码(Examples)
提供了多个示例脚本,展示如何在不同的场景中使用 llm-guard
,包括与 Amazon Bedrock、OpenAI API 等的集成。例如 amazon_bedrock.py
展示了如何使用 llm-guard
与 Amazon Bedrock 代理进行交互:
import boto3from llm_guard import scan_output, scan_prompt
from llm_guard.input_scanners import Anonymize, PromptInjection, TokenLimit, Toxicity
from llm_guard.output_scanners import Deanonymize, NoRefusal, Relevance, Sensitive
from llm_guard.vault import Vault# ... 其他代码 ...VAULT = Vault()
INPUT_SCANNERS = [Anonymize(VAULT), Toxicity(), TokenLimit(), PromptInjection()]
OUTPUT_SCANNERS = [Deanonymize(VAULT), NoRefusal(), Relevance(), Sensitive()]PROMPT = "Make an SQL insert statement ..."sanitized_prompt, results_valid, results_score = scan_prompt(INPUT_SCANNERS, PROMPT)
# ... 其他代码 ...
文档(Docs)
包含详细的文档,帮助用户了解如何使用 llm-guard
,包括入门指南、API 文档、变更日志等。
安装和使用
- 安装:使用
pip
安装llm-guard
:
pip install llm-guard
- 使用示例:可以参考
examples
目录下的脚本,了解如何在不同的场景中使用llm-guard
。
社区和贡献
llm-guard
是一个开源项目,欢迎社区成员参与贡献,包括修复 bug、提出新功能建议、改进文档等。用户可以在 GitHub 上给项目加星支持。