截至 2024 年 6 月,Rockset 已被 OpenAI 收购 并关闭了其公共服务。 Rockset 曾是一个以世界级索引与检索能力著称的实时分析数据库。现在,其核心团队和技术正被整合到 OpenAI 的基础设施中,以支持未来的 AI 产品。 此 LangChain 集成已无法使用,仅作为历史存档保留。
Rockset 是一个实时分析数据库,可在海量半结构化数据上执行查询而无需运维负担。通过 Rockset,数据在摄取后一秒内即可查询,针对该数据的分析查询通常在毫秒级完成。Rockset 针对计算进行了优化,适用于 100TB 以下(或通过 rollup 超过 100TB)的高并发应用。本文档演示如何在 LangChain 中使用 Rockset 作为文档加载器。开始之前,请确保您拥有 Rockset 账户和可用的 API 密钥。
环境设置
- 前往 Rockset 控制台 获取 API 密钥。在 API 参考 中查找您的 API 区域。本文档假设您使用的是
Oregon(us-west-2)区域的 Rockset。 - 设置环境变量
ROCKSET_API_KEY。 - 安装 Rockset Python 客户端,LangChain 将通过它与 Rockset 数据库交互。
加载文档
LangChain 与 Rockset 的集成允许您通过 SQL 查询从 Rockset 集合中加载文档。为此,需要构建一个RocksetLoader 对象。以下是初始化 RocksetLoader 的示例代码:
text 列用作页面内容,记录的 id 和 date 列用作元数据(如果不向 metadata_keys 传入任何内容,则整个 Rockset 文档将被用作元数据)。
执行查询并获取结果 Document 的迭代器,请运行:
Document,请运行:
loader.load() 的示例响应:
使用多列作为内容
您可以选择使用多列作为内容:"This is the first sentence.",“sentence2” 字段值为 "This is the second sentence.",则结果 Document 的 page_content 将为:
RocksetLoader 构造函数中设置 content_columns_joiner 参数来自定义内容列的拼接方式。content_columns_joiner 是一个接收 List[Tuple[str, Any]]] 参数的方法,表示 (列名, 列值) 的元组列表。默认情况下,该方法将每个列值用换行符连接。
例如,若希望将 sentence1 和 sentence2 用空格而非换行符连接,可以这样设置 content_columns_joiner:
Document 的 page_content 将为:
page_content 中包含列名,可以这样实现:
page_content:
将这些文档连接 到 Claude、VSCode 等,通过 MCP 获取实时答案。

