跳到主要内容
Pebblo 使开发人员能够安全地加载数据,并将其 Gen AI 应用程序推广到部署,而无需担心组织合规性和安全要求。该项目识别加载数据中发现的语义主题和实体,并在 UI 或 PDF 报告上进行总结。
Pebblo 有两个组件。
  1. Pebblo Safe DocumentLoader for LangChain
  2. Pebblo 服务器
本文档描述了如何使用 Pebblo Safe DocumentLoader 增强您现有的 LangChain DocumentLoader,以深入了解摄入到 Gen-AI LangChain 应用程序中的主题和实体类型。有关 Pebblo Server 的详细信息,请参阅此Pebblo 服务器文档。 Pebblo Safeloader 实现了 LangChain DocumentLoader 的安全数据摄取。这是通过将文档加载器调用与 Pebblo Safe DocumentLoader 封装来完成的。 注意:要将 pebblo 服务器配置为除了 pebblo 默认 (localhost:8000) URL 之外的其他 URL,请将正确的 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 SafeLoader 可以通过对上述代码片段进行几行代码更改来启用。
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-cloud,请将 api-key 作为参数传递给 PebbloSafeLoader,或者将 api-key 放入 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)

以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.