跳到主要内容
Open on GitHub

Box

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