向量存储与排序
在传统的精确匹配搜索(例如用户输入关键词,系统通过 LIKE 或者 = 查找数据库)之外,Zion 平台支持相似性搜索(语义搜索)。
系统可以将文本数据转化为高维的“向量(Vector)”,帮助您基于自然语言的语义和语境(而非字面字符)来查找最相关的数据。
这不仅是实现智能客服、知识库问答等大语言模型(LLM)检索增强生成(RAG) 场景的核心基础设施,也能大幅提升如“模糊药品搜索”、“非标准品搜索”等传统业务功能的体验。
1. 开启向量存储
要想让系统理解文本的“语义”,我们首先需要将传统的文本数据转换为“向量”。
- 在左侧菜单栏进入 数据 界面。
- 选中您要配置的表,如:
knowledge_base知识库表。 - 找到需要进行语义搜索的 文本 字段(如:
content文档内容),点击设置。 - 在字段设置面板中,打开 向量存储 开关。
开启后,每当您向该表新增或修改数据时,Zion 底层会自动调用向量化模型(Embedding Model),将该字段的纯文本转化为多维的浮点数数组并安全存储。

⚠️
- 目前限制:当前系统仅支持将文本类型的数据字段开启向量存储。
- 资源消耗:开启该功能会消耗您项目额外的数据库存储用量(因为系统需要同时保存原始文本及其高维向量)。
2. 向量排序(相似性搜索)
当数据被向量化后,我们就可以通过向量排序机制来检索它们。
工作原理:当用户输入一段查询文本时(如:“怎么重置密码?”),系统同样会将其转化为向量,然后与数据库中所有已保存的向量进行距离计算。距离越近(相似度越高),数据排序就越靠前。
Zion 支持两种主流的向量距离计算算法:
- COSINE(余弦距离):衡量两个向量在方向上的差异。常用于比较文本的主题和语义。在搜索引擎、文本分类、文章推荐等场景下表现极佳(也是大语言模型 RAG 的默认首选)。
- EUCLIDEAN(欧氏距离):衡量两个向量在空间中两点间的绝对直线距离。常用于要求精准绝对差异的科学计算。
2.1 在 AI 知识库中应用 (RAG)
这是向量检索最典型的场景。您可以将私有文档通过向量检索喂给大模型,让它基于您的资料进行问答:
- 在 行为流 中添加 AI 节点(ZAI)。
- 在该节点的 知识库 选项下,绑定开启了向量存储的数据源,如
knowledge_base表。 - 在数据源的排序与筛选配置区,添加 排序 规则。
- 选择刚刚开启了向量存储的字段,距离算法选择
COSINE,并将 对比对象 绑定为用户的提问变量(即用户的输入参数)。
这样,AI 节点在生成回答前,就会自动优先读取库中语义最相关的几条数据。
2.2 在前端常规列表中应用
您同样可以在不使用 AI 节点的常规页面列表中使用语义搜索,提升用户体验:
- 在页面上选中 列表 (List) 组件。
- 为其绑定开启了向量存储的表数据源。
- 在右侧属性面板的 数据查询 -> 排序 模块,点击添加排序。
- 字段选择该向量字段,排序类型选择 向量,距离算法选择
COSINE,对比对象 绑定页面上输入框(搜索框)对应的页面变量。
用户在前端输入“头痛发热”,系统就能通过语义关联自动把“感冒灵”、“布洛芬”排在列表最前面,即使药名中完全不含“头痛”二字。
Last updated on