概览
BoxRetriever类帮助您以LangChain的@[Document]格式从Box获取非结构化内容。您可以通过基于全文搜索查找文件,或使用Box AI检索对文件执行AI查询的结果@[Document]。这需要包含一个包含Box文件ID的List[str],即["12345","67890"]
Box AI需要Enterprise Plus许可证
集成细节
1: 自备数据(即索引和搜索自定义文档集合):设置
要使用 Box 包,您需要准备以下内容:- Box账户:如果您不是 Box 当前客户或希望离线测试,可以使用 免费开发者账户。
- Box应用:此应用需在 开发者控制台 中配置,并确保已启用
Manage AI权限。此处您还将选择认证方式 - 应用必须由 管理员启用。对于免费开发者账户,权限由注册账户的用户授予。
凭据
本示例使用 令牌认证。该认证方式适用于任何 认证方法。只需通过相应方法获取令牌。若需了解如何使用其他认证类型与langchain-box 配合,请查阅 Box 提供方 文档。
安装
此检索器位于langchain-box 包中:
实例化
现在可以实例化我们的检索器:搜索
langchain_box.utilities.SearchOptions 与 langchain_box.utilities.SearchTypeFilter 和 langchain_box.utilities.DocumentFiles 枚举值来对创建日期、文件搜索部分以及将搜索范围限制在特定文件夹等属性进行过滤。
Box AI
使用
引用
通过 Box AI 和BoxRetriever,您可以返回提示词的答案、Box 用于获取该答案所引用的文献,或两者兼有。无论您如何使用 Box AI,检索器都会返回一个 List[Document] 对象。我们通过两个 bool 参数 answer 和 citations 实现这种灵活性。答案默认为 True,引用默认为 False,因此如果您只需要答案,可以省略两者。若需要两者,只需包含 citations=True;若仅需引用,则包含 answer=False 和 citations=True。
同时返回两者
仅返回引用
作为智能体工具
与 LangGraph 智能体中的其他检索器类似,BoxRetriever 也可以作为工具添加到 LangGraph 智能体中。扩展字段
所有 Box 连接器都支持从 BoxFileFull 对象中选择额外字段,将其作为自定义 LangChain 元数据返回。每个对象接受一个可选的 List[str](称为 extra_fields),包含返回对象中的 JSON 键,例如 extra_fields=["shared_link"]。
连接器会将此字段添加到集成所需的字段列表中,并将结果添加到 @[Document] 或 Blob 返回的元数据中,例如 "metadata" : { "source" : "source, "shared_link" : "shared_link" }。如果该字段对于文件不可用,则会返回空字符串,例如 "shared_link" : ""。
帮助
如有疑问,请查阅我们的 开发者文档 或加入我们的 开发者社区。官方原文:src/oss/python/integrations/retrievers/box.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。