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