Skip to main content
Open on GitHub

Layerup Security

Layerup Security 集成可让您保护与任何 LangChain LLM、LLM 链或 LLM Agent 的调用。LLM 对象包装任何现有的 LLM 对象,从而在您的用户和 LLM 之间提供一个安全层。

尽管 Layerup Security 对象被设计为 LLM,但它本身并不是一个 LLM,它只是包装了一个 LLM,使其能够适应底层 LLM 的相同功能。

设置

首先,您需要从 Layerup 网站 获取一个 Layerup Security 账户。

接下来,通过 仪表板创建一个项目,并复制您的 API 密钥。我们建议将您的 API 密钥放在项目的环境中。

安装 Layerup Security SDK:

pip install LayerupSecurity

并安装 LangChain Community:

pip install langchain-community

现在您已准备好开始使用 Layerup Security 保护您的 LLM 调用!

from langchain_community.llms.layerup_security import LayerupSecurity
from langchain_openai import OpenAI
from datetime import datetime

# 创建您最喜欢的 LLM 实例
openai = OpenAI(
model_name="gpt-3.5-turbo",
openai_api_key="OPENAI_API_KEY",
)

# 配置 Layerup Security
layerup_security = LayerupSecurity(
# 指定一个 LLM,Layerup Security 将在其之上进行包装
llm=openai,

# Layerup API 密钥,来自 Layerup 仪表板
layerup_api_key="LAYERUP_API_KEY",

# 自托管时的自定义基础 URL
layerup_api_base_url="https://api.uselayerup.com/v1",

# 在调用 LLM 之前运行提示的护栏列表
prompt_guardrails=[],

# LLM 响应后运行的护栏列表
response_guardrails=["layerup.hallucination"],

# 在发送到 LLM 之前是否屏蔽提示中的 PII 和敏感数据
mask=False,

# 用于滥用跟踪、客户跟踪和范围跟踪的元数据。
metadata={"customer": "example@uselayerup.com"},

# 提示护栏上的护栏违规处理程序
handle_prompt_guardrail_violation=(
lambda violation: {
"role": "assistant",
"content": (
"存在敏感数据!我无法响应。 "
"这是一个动态的固定响应。当前日期:{}"
).format(datetime.now())
}
if violation["offending_guardrail"] == "layerup.sensitive_data"
else None
),

# 响应护栏上的护栏违规处理程序
handle_response_guardrail_violation=(
lambda violation: {
"role": "assistant",
"content": (
"带有动态数据的自定义固定响应! "
"违规规则是 {}。"
).format(violation["offending_guardrail"])
}
),
)

response = layerup_security.invoke(
"Summarize this message: my name is Bob Dylan. My SSN is 123-45-6789."
)
API Reference:LayerupSecurity | OpenAI