"Box" 是 MUI 中
BoxLoader 和 BoxBlobLoader
langchain-box 包提供了两种从 Box 索引文件的方法:BoxLoader 和 BoxBlobLoader。BoxLoader 允许您摄取在 Box 中具有文本表示的文件文本表示。BoxBlobLoader 允许您下载任何文档或图像文件的 blob,以便您选择的 blob 解析器进行处理。
本笔记本详细介绍了两者的入门。有关 BoxLoader 所有功能和配置的详细文档,请访问 BoxLoader 和 BoxBlobLoader 的 API 参考页面。
概述
BoxLoader 类可帮助您以 Langchain 的 Document 格式从 Box 获取非结构化内容。您可以使用包含 Box 文件 ID 的 List[str],或者包含 Box 文件夹 ID 的 str 来实现此目的。
BoxBlobLoader 类可帮助您以 Langchain 的 Blob 格式从 Box 获取非结构化内容。您可以使用包含 Box 文件 ID 的 List[str]、包含 Box 文件夹 ID 的 str、搜索查询或 BoxMetadataQuery 来实现此目的。
如果通过文件夹 ID 从文件夹获取文件,您还可以设置一个 Bool 来告知加载器是否获取该文件夹中的所有子文件夹。
一个 Box 实例可以包含 PB 级的文件,文件夹也可以包含数百万个文件。在选择要索引的文件夹时请谨慎。我们建议永远不要递归地获取文件夹 0 中的所有文件。文件夹 ID 0 是您的根文件夹。
BoxLoader 将 会跳过没有文本表示的文件,而 BoxBlobLoader 将会为所有文档和图像文件返回 blob。
集成详情
| 类 | 包 | 本地 | 可序列化 | JS 支持 |
|---|---|---|---|---|
| BoxLoader | langchain_box | ✅ | ❌ | ❌ |
| BoxBlobLoader | langchain_box | ✅ | ❌ | ❌ |
加载器特性
| 源 | 文档延迟加载 | 异步支持 |
|---|---|---|
| BoxLoader | ✅ | ❌ |
| BoxBlobLoader | ✅ | ❌ |
设置
为了使用 Box 包,您需要准备以下几项:
- 一个 Box 账户 —如果您目前不是 Box 用户,或者想在生产环境之外测试您的 Box 实例,您可以使用 免费开发者账户。
- 一个 Box 应用 — 它在 开发者控制台 中配置,并且对于 Box AI,必须启用
Manage AI范围。您还可以在此处选择您的身份验证方法。 - 该应用必须由 管理员启用。对于免费开发者账户,启用者是注册该账户的人员。
凭据
在这些示例中,我们将使用 令牌身份验证。它可以与任何 身份验证方法 一起使用。只需使用您选择的方法获取令牌。如果您想了解更多关于如何将其他身份验证类型与 langchain-box 结合使用,请访问 Box 提供商 文档。
import getpass
import os
box_developer_token = getpass.getpass("Enter your Box Developer Token: ")
Enter your Box Developer Token: ········
要启用对模型调用的自动跟踪,请设置您的 LangSmith API 密钥:
# os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
# os.environ["LANGSMITH_TRACING"] = "true"
安装
安装 langchain_box。
%pip install -qU langchain_box
初始化
加载文件
如果您想加载文件,必须在实例化时提供文件 ID 的 List。
这需要 1 条信息:
- box_file_ids (
List[str]) - Box 文件 ID 列表。
BoxLoader
from langchain_box.document_loaders import BoxLoader
box_file_ids = ["1514555423624", "1514553902288"]
loader = BoxLoader(
box_developer_token=box_developer_token,
box_file_ids=box_file_ids,
character_limit=10000, # Optional. Defaults to no limit
)
BoxBlobLoader
from langchain_box.blob_loaders import BoxBlobLoader
box_file_ids = ["1514555423624", "1514553902288"]
loader = BoxBlobLoader(
box_developer_token=box_developer_token, box_file_ids=box_file_ids
)