Pinecone 向量数据库集成
作者:Ai Flowi · 发布于
官方来源:Pinecone 文档
Pinecone 向量数据库集成将已配置的 Pinecone 存储连接到 AI Flowi Workflow 中的搜索与写入字段。设置 API 密钥和索引名称,选择目标命名空间,并在评估搜索结果前连接兼容的嵌入模型。本页解释组件约定,而非配置托管数据库。
导出的 Pinecone 输入涵盖索引选择、内容分组和文本查找。以下步骤为示例配置。
1. 准备索引与账户
你需要自己的 Pinecone 账户、获准访问目标索引的 API 密钥,以及所选嵌入模型提供商的访问权限。在私有设置中保护索引凭据;索引名称用于选择资源,不能代替授权。
选择 Pinecone 索引前,先参考文本嵌入说明,确认表示兼容性。
保留配置笔记,将 index_name、namespace 和 distance_strategy 与准备好的提供商资源对应起来。以示例产品手册库为例,应为现行和停用手册分别使用经过审查的命名空间,再检查查询实际到达哪个命名空间。停用手册的结果可能看似合理,却回答了错误的产品版本。导出数据没有提供命名空间发现或索引创建控制,因此应从自己的账户取得这些标识符,不要在工作流中猜测。
如果当前任务仅是读取有权限访问的 wiki,请先使用 Confluence 集成。加载来源内容和搜索索引是不同阶段。添加 Pinecone 节点不能证明来源权限会延续到检索阶段。
2. 设置 Pinecone 字段
下表依据导出的必填标记。“可选”表示该字段在导出数据中未标记为必填;不能据此推断 Pinecone 默认值或运行时配置是否完整。
目录配置示例;Ai Flowi 未作生产环境测试。
| 字段 | 配置决策 | 类型 / 必填 | 连接类型 / 选项 |
|---|---|---|---|
distance_strategy | 使此度量与 Pinecone 索引记录的配置一致。 | str / 否 | Pinecone:未提供 input_types;选项:”Cosine”, “Euclidean”, “Dot Product” |
embedding | 连接与 Pinecone 索引匹配的模型对象;数值 JSON 不能替代该对象。 | other / 否 | Pinecone 连接类型:Embeddings |
index_name | 使用目标索引的确切标识符,并在自己的提供商账户中核实。 | str / 是 | Pinecone:未提供 input_types |
ingest_data | 提供 Data、DataFrame 或 Table 前,先检查一份 Pinecone 写入样本。 | other / 否 | Pinecone 连接类型:Data, DataFrame, Table |
namespace | 选择手册分组;单独调查空命名空间的情况。 | str / 否 | Pinecone:未提供 input_types |
number_of_results | 设置较小的结果数量,便于检查;组件目录未提供默认值或范围。 | int / 否 | Pinecone:未提供 input_types |
pinecone_api_key | 私下提供自己的获授权凭据,不要将其复制到共享示例中。 | str / 是 | Pinecone:input_types 为 [] |
search_query | 通过兼容 Message 的查询输入提供问题。 | query / 否 | Pinecone 连接类型:Message |
should_cache_vector_store | 手册修订后,重新审查此缓存开关;Pinecone 刷新时机仍未经验证。 | bool / 否 | Pinecone:未提供 input_types |
text_key | 与准备好的记录中承载文本的字段匹配;未确立默认字段名。 | str / 否 | Pinecone:未提供 input_types |
3. 从范围有限的搜索配置开始
- 如果准备好的内容使用该嵌入模型提供商,则添加 OpenAI Embeddings。选择与索引匹配的
model,并配置私有openai_api_key。组件目录选项包括"text-embedding-3-small";这是可用设置,并非适用于所有索引的推荐项。 - 根据该 Pinecone 索引记录的模型配置,将 OpenAI Embeddings 的
embeddings连接到 Pinecone 的embedding。 - 将 Pinecone 的
index_name设为准备好的索引,将namespace设为专用的虚构内容命名空间。把实际观察到的手册文本字段赋给text_key。 - 输入虚构内容的
search_query,例如针对测试文档主题的问题,并将number_of_results设为3,作为示例数量。调查搜索路径期间,保持ingest_data未连接;运行前确认其行为。 - 检查所选输出和提供商端的记录。在答案中使用它们前,确认来源文本和引用属于目标命名空间。
这些设置不代表空的写入输入能阻止所有写操作,也不代表所选距离策略会覆盖提供商索引配置。在依赖不写入 Pinecone 的检索路径前,先用可丢弃的内容验证这两种行为。
4. 将搜索结果映射到接收组件
Pinecone 导出 search_results,显示名称为 Search Results,类型为 JSON;还导出 dataframe,显示名称和类型均为 Table。下游 JSON 处理器需要第一个端口;兼容 Table 的接收组件可使用第二个。此组件目录快照没有 Pinecone 结果键、分数字段或元数据列。
有用的输出是一组可追溯到准备好的来源的检索记录。在手册示例中,准备引用前应检查检索段落及其版本引用。实际观察到的数量不能证明完整覆盖手册命名空间;接受关于产品的答案前,应检查所引用的段落。
区分写入与检索
ingest_data 输入支持结构化来源数据,但导出数据未说明记录标识符、替换行为和重复数据处理。单独准备一份小型写入样本,保留手册版本引用,再检查提供商记录的变化。不要将未知的写入行为与生产环境的问答流程结合。
text_key 设置用于指定记录中包含文本的字段;namespace 用于指定所选分组。文档未为这些 Pinecone 选择项定义读取者授权策略。若多个团队共享索引,应测试查询是否会暴露其他团队的记录,并在展示检索材料前落实访问控制。
何时应选择 Pinecone 以外的路径?
这里没有任何输出能确立检索质量、分数阈值、索引创建、自动来源同步或过时向量删除能力。缓存行为和提供商失败处理需单独检查。更改凭据、命名空间或内容后,应验证新结果,不要假定缓存状态会随之更新。
当按标识符精确查找足以完成任务、无法核实嵌入配置,或工作流必须执行尚未实现的逐文档权限控制时,应跳过此集成。若需要基于 PostgreSQL 的向量存储约定,可比较 PGVector;其连接字段和集合字段不同。