Skip to main content
在 GitHub 上打开

Box

Box 是 Intelligent Content Cloud,是一个支持 组织促进协作、管理整个内容生命周期、保护关键内容、 以及利用企业 AI 转变业务工作流程。Box 成立于 2005 年,简化了 领先的全球组织,包括 AstraZeneca、JLL、Morgan Stanley 和 Nationwide。

在此软件包中,我们提供了多种方法,可将 Box 内容包含在您的 AI 工作流程中。

安装和设置

pip install -U langchain-box

langchain-box

此包包含 LangChain 与 Box 的集成。有关 Box,请查看我们的开发人员文档

先决条件

为了与 Box 集成,您需要满足以下条件:

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

认证

box-langchain软件包为身份验证提供了一定的灵活性。这 最基本的身份验证方法是使用开发人员令牌。这可以是 位于 Box 开发人员控制台的配置屏幕上。此令牌的生存期是故意的(1 小时),并且 用于开发。使用此令牌,您可以将其作为BOX_DEVELOPER_TOKEN,你可以直接将其传递给 loader,也可以使用BoxAuthauthentication helper 类。

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

BoxAuth 帮助程序类

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

  • 令牌 — 开发人员令牌或通过 Box SDK 生成的任何令牌
  • 具有服务帐户的 JWT
  • JWT 与指定用户
  • 具有服务帐户的 CCG
  • CCG 与指定用户
注意

如果使用 JWT 身份验证,则需要从 Box 下载配置 Developer Console。将此文件放在 application 目录结构。使用 这BoxAuthhelper 类。

有关更多信息,请了解如何设置 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使用您获取的令牌。

文档加载器

箱式装载

查看使用示例

from langchain_box.document_loaders import BoxLoader

Retriever

盒子检索器

查看使用示例

from langchain_box.retrievers import BoxRetriever

Blob 加载程序

BoxBlobLoader

查看使用示例

from langchain_box.blob_loaders import BoxBlobLoader