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