Skip to main content
Open on GitHub

Box

Box 是智能内容云,一个单一平台,使组织能够利用企业人工智能推动协作、管理整个内容生命周期、保护关键内容并转化业务流程。Box 成立于 2005 年,为包括阿斯利康、JLL、摩根士丹利和 Nationwide 在内的全球领先组织简化工作。

在此包中,我们提供了多种方法将 Box 内容集成到您的 AI 工作流中。

安装与设置

pip install -U langchain-box

langchain-box

此包包含 LangChain 与 Box 的集成。有关 Box 的更多信息,请查看我们的 开发者文档

Pre-requisites

为了与 Box 集成,你需要以下内容:

  • 一个 Box 实例 — 如果您不是当前的 Box 客户,请注册一个 免费的开发者账户
  • A Box 应用 — 更多关于如何 创建应用
  • 您的应用已在您的 Box 实例中获得批准——此操作由管理员完成。 好消息是,如果您使用的是免费开发者账户,那么您就是管理员。 授权您的应用

身份验证

box-langchain 包提供了一定的身份验证灵活性。最基本的身份验证方法是使用开发者令牌。该令牌可在 Box 开发者控制台 的配置屏幕上找到。此令牌故意设置较短的有效期(1 小时),专为开发用途设计。使用该令牌时,您可以将其作为环境变量添加到您的环境中,也可以直接传递给加载器,或者使用 BoxAuth 身份验证辅助类。

我们将在下面的部分中介绍如何将其直接传递给加载器。

BoxAuth 辅助类

BoxAuth 支持以下身份验证方法:

  • Token — 无论是开发者令牌还是通过 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