Box 是智能内容云,一个单一平台,使组织能够促进协作、管理整个内容生命周期、保护关键内容并利用企业 AI 转换业务工作流程。Box 成立于 2005 年,为全球领先的组织简化工作,包括 AstraZeneca、JLL、Morgan Stanley 和 Nationwide。 在此软件包中,我们提供了多种方法,可以将 Box 内容包含在您的 AI 工作流程中。安装与设置
pip install -U langchain-box
langchain-box
此软件包包含 LangChain 与 Box 的集成。有关 Box 的更多信息,请查看我们的开发人员文档。
先决条件
为了与 Box 集成,您需要以下几项
- 一个 Box 实例 — 如果您不是当前的 Box 客户,请注册一个免费开发人员帐户。
- 一个 Box 应用 — 关于如何创建应用的更多信息
- 您的应用已在您的 Box 实例中获得批准 — 这由您的管理员完成。好消息是,如果您使用的是免费开发人员帐户,您就是管理员。授权您的应用
身份验证
box-langchain 软件包提供了一些灵活的身份验证方式。最基本的身份验证方法是使用开发人员令牌。这可以在Box 开发人员控制台的配置屏幕中找到。此令牌故意寿命短(1 小时),旨在用于开发。有了此令牌,您可以将其作为 BOX_DEVELOPER_TOKEN 添加到您的环境中,您可以直接将其传递给加载器,或者您可以使用 BoxAuth 身份验证辅助类。 我们将在下面的部分中介绍直接将其传递给加载器。BoxAuth 辅助类
BoxAuth 支持以下身份验证方法
- 令牌 — 开发人员令牌或通过 Box SDK 生成的任何令牌
- 带有服务帐户的 JWT
- 带有指定用户的 JWT
- 带有服务帐户的 CCG
- 带有指定用户的 CCG
如果使用 JWT 身份验证,您需要从 Box 开发人员控制台下载配置,在生成公钥/私钥对之后。将此文件放置在您的应用程序目录结构中的某个位置。在使用 BoxAuth 辅助类时,您将使用此文件的路径。
有关更多信息,请了解如何设置 Box 应用程序,并查看Box 身份验证指南,了解有关我们不同身份验证选项的更多信息。 示例: 令牌from langchain_box.document_loaders import BoxLoader
from langchain_box.utilities import BoxAuth, BoxAuthType
auth = BoxAuth(
auth_type=BoxAuthType.TOKEN,
box_developer_token=box_developer_token
)
loader = BoxLoader(
box_auth=auth,
...
)
带有服务帐户的 JWT
from langchain_box.document_loaders import BoxLoader
from langchain_box.utilities import BoxAuth, BoxAuthType
auth = BoxAuth(
auth_type=BoxAuthType.JWT,
box_jwt_path=box_jwt_path
)
loader = BoxLoader(
box_auth=auth,
...
带有指定用户的 JWT
from langchain_box.document_loaders import BoxLoader
from langchain_box.utilities import BoxAuth, BoxAuthType
auth = BoxAuth(
auth_type=BoxAuthType.JWT,
box_jwt_path=box_jwt_path,
box_user_id=box_user_id
)
loader = BoxLoader(
box_auth=auth,
...
带有服务帐户的 CCG
from langchain_box.document_loaders import BoxLoader
from langchain_box.utilities import BoxAuth, BoxAuthType
auth = BoxAuth(
auth_type=BoxAuthType.CCG,
box_client_id=box_client_id,
box_client_secret=box_client_secret,
box_enterprise_id=box_enterprise_id
)
loader = BoxLoader(
box_auth=auth,
...
带有指定用户的 CCG
from langchain_box.document_loaders import BoxLoader
from langchain_box.utilities import BoxAuth, BoxAuthType
auth = BoxAuth(
auth_type=BoxAuthType.CCG,
box_client_id=box_client_id,
box_client_secret=box_client_secret,
box_user_id=box_user_id
)
loader = BoxLoader(
box_auth=auth,
...
如果您希望使用 OAuth2 的 authorization_code 流,请使用 BoxAuthType.TOKEN 和您已获得的令牌。
文档加载器
BoxLoader
请参阅用法示例
from langchain_box.document_loaders import BoxLoader
检索器
BoxRetriever
请参阅用法示例
from langchain_box.retrievers import BoxRetriever
Blob 加载器
BoxBlobLoader
请参阅用法示例
from langchain_box.blob_loaders import BoxBlobLoader