Skip to main content
Open on GitHub

Box

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

在此包中,我们提供了多种方式,以便将 Box 内容纳入您的 AI 工作流。

安装与设置

pip install -U langchain-box

langchain-box

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

Pre-requisites

要与 Box 集成,你需要准备以下几样东西:

  • 一个 Box 实例 — 如果您还不是 Box 的客户,请注册一个 免费开发者账户
  • 一个 Box 应用 — 了解更多如何 创建一个应用
  • 您的应用已在您的 Box 实例中获得批准——这由您的管理员完成。 好消息是,如果您使用的是免费开发者账户,您就是管理员。 授权您的应用

认证

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

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

BoxAuth 辅助类

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

  • Token — 既可以是开发者 Token,也可以是通过 Box SDK 生成的任意 Token
  • 带有服务账户的JWT
  • 指定用户的JWT
  • 使用服务账户的CCG
  • 指定用户的CCG
笔记

如果使用JWT身份验证,您需要在生成公钥/私钥对后,从Box开发者控制台下载配置文件。将此文件放置在应用程序目录结构中的某个位置。使用BoxAuth辅助类时,将使用此文件的路径。

有关更多信息,请了解如何 设置 Box 应用程序, 并查看 Box 认证指南 以了解更多关于我们不同的认证选项的信息。

Examples:

令牌

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