Pebblo 安全文档加载器
Pebblo 使开发人员能够安全地加载数据,并将其 Gen AI 应用程序推广到部署,而无需担心组织的合规性和安全要求。该项目识别加载的数据中存在的语义主题和实体,并在 UI 或 PDF 报告中对其进行总结。
Pebblo 有两个组成部分。
- 用于 Langchain 的 Pebblo 安全文档加载器
- Pebblo 服务器
本文档介绍如何使用 Pebblo 安全文档加载器增强您现有的 Langchain 文档加载器,以深入了解摄入到 Gen-AI Langchain 应用程序中的主题和实体类型。有关 Pebblo 服务器
的详细信息,请参阅此 pebblo 服务器 文档。
Pebblo 安全加载器为 Langchain DocumentLoader
启用安全数据摄取。这是通过使用 Pebblo 安全文档加载器
包装文档加载器调用来完成的。
注意:要在 Pebblo 默认 (localhost:8000) URL 之外的 URL 上配置 Pebblo 服务器,请将正确的 URL 放入 PEBBLO_CLASSIFIER_URL
环境变量中。也可以使用 classifier_url
关键字参数进行配置。参考:服务器配置
如何启用 Pebblo 文档加载?
假设一个 Langchain RAG 应用程序代码片段,使用 CSVLoader
读取 CSV 文档以进行推理。
这是使用 CSVLoader
加载文档的代码片段。
from langchain_community.document_loaders import CSVLoader
loader = CSVLoader("data/corp_sens_data.csv")
documents = loader.load()
print(documents)
只需对上面的代码片段进行几行代码更改,即可启用 Pebblo 安全加载器。
from langchain_community.document_loaders import CSVLoader, PebbloSafeLoader
loader = PebbloSafeLoader(
CSVLoader("data/corp_sens_data.csv"),
name="acme-corp-rag-1", # App name (Mandatory)
owner="Joe Smith", # Owner (Optional)
description="Support productivity RAG application", # Description (Optional)
)
documents = loader.load()
print(documents)
将语义主题和标识发送到 Pebblo 云服务器
要将语义数据发送到 Pebblo 云,请将 API 密钥作为参数传递给 PebbloSafeLoader,或者将 API 密钥放入 PEBBLO_API_KEY
环境变量中。
from langchain_community.document_loaders import CSVLoader, PebbloSafeLoader
loader = PebbloSafeLoader(
CSVLoader("data/corp_sens_data.csv"),
name="acme-corp-rag-1", # App name (Mandatory)
owner="Joe Smith", # Owner (Optional)
description="Support productivity RAG application", # Description (Optional)
api_key="my-api-key", # API key (Optional, can be set in the environment variable PEBBLO_API_KEY)
)
documents = loader.load()
print(documents)
将语义主题和标识添加到加载的元数据中
要将语义主题和语义实体添加到加载的文档的元数据中,请将 load_semantic 设置为 True 作为参数,或者定义一个新的环境变量 PEBBLO_LOAD_SEMANTIC
,并将其设置为 True。
from langchain_community.document_loaders import CSVLoader, PebbloSafeLoader
loader = PebbloSafeLoader(
CSVLoader("data/corp_sens_data.csv"),
name="acme-corp-rag-1", # App name (Mandatory)
owner="Joe Smith", # Owner (Optional)
description="Support productivity RAG application", # Description (Optional)
api_key="my-api-key", # API key (Optional, can be set in the environment variable PEBBLO_API_KEY)
load_semantic=True, # Load semantic data (Optional, default is False, can be set in the environment variable PEBBLO_LOAD_SEMANTIC)
)
documents = loader.load()
print(documents[0].metadata)
匿名化代码片段以编辑所有 PII 详细信息
将 anonymize_snippets
设置为 True
,以匿名化进入 VectorDB 和生成的报告中的所有个人身份信息 (PII)。
注意:Pebblo 实体分类器有效地识别个人身份信息 (PII),并且正在不断发展。虽然其召回率尚未达到 100%,但正在稳步提高。有关更多详细信息,请参阅 Pebblo 实体分类器文档
from langchain_community.document_loaders import CSVLoader, PebbloSafeLoader
loader = PebbloSafeLoader(
CSVLoader("data/corp_sens_data.csv"),
name="acme-corp-rag-1", # App name (Mandatory)
owner="Joe Smith", # Owner (Optional)
description="Support productivity RAG application", # Description (Optional)
anonymize_snippets=True, # Whether to anonymize entities in the PDF Report (Optional, default=False)
)
documents = loader.load()
print(documents[0].metadata)