Skip to main content
Box 是智能内容云平台,一个统一平台,使组织能够推动协作、管理整个内容生命周期、 保护关键内容,并通过企业 AI 转变业务工作流程。Box 成立于 2005 年,为 AstraZeneca、JLL、摩根士丹利和 Nationwide 等全球领先组织简化工作。 在本包中,我们提供了多种在 AI 工作流程中使用 Box 内容的方式。

安装与设置

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