当前位置: 首页 > news >正文

[智能体-289]:什么是文本向量?它在向量数据库中存放的格式?内容?常见的操作方法与返回值?

一、什么是文本向量

文本向量(句子 Embedding):一段自然语言文本,经过 BGE/E5/BERT 等编码器,压缩成一串固定长度浮点数组,用空间坐标代表文本语义。

  • 一句话 → 1 条一维浮点向量:[0.12,-0.35,0.78……](常见 768 维、1024 维)
  • 语义相近 → 向量在高维空间距离近、余弦相似度高;语义无关→距离远。

区别:Word2Vec 是单个字词静态向量;BGE/BERT 是整段文本动态语义向量(RAG 主流)。

二、向量数据库内部:存储格式、存储内容

向量库一条数据 =主键 ID + 标量元数据 + 文本向量(稠密浮点数组)

1、存储格式(逻辑结构)

plaintext

{ id: 字符串/数字主键(唯一标识) metadata: {标签、分类、原文标题、创建时间} 【标量字段,和MySQL字段一致】 embedding: [d个浮点数] 【文本向量,核心检索字段】 }

示例(3 维简化,真实 768/1024 维)

表格

idmetadata (标量)embedding (文本向量)
1{"type":"数据库","text":"向量数据库用于语义检索"}[0.52,0.33,-0.21]
2{"type":"数据库","text":"Milvus 是主流向量数据库"}[0.55,0.30,-0.19]
3{"type":"水果","text":"苹果是常见水果"}[-0.71,0.22,0.65]

2、存储内容拆分

  1. 主键 ID:唯一编号,用来关联 MySQL 原始全文;
  2. 元数据 metadata:字符串、数字、日期等结构化信息,用于过滤筛选(等价 MySQL 普通字段);
  3. 文本向量 embedding:由 BGE/E5 生成的稠密浮点数数组,只用来相似度检索,不存储原始文字

工业规范:完整原文保存在 MySQL,向量库只存 ID + 向量 + 分类标签

三、文本向量在向量库的四大常用操作 + 返回值(增、删、改、查)

1. 新增(insert/add)

功能

文本→Embedding 模型生成向量 → ID + 元数据 + 向量批量入库。

入参:ids、metadatas、embeddings

python

运行

coll.add( ids=["1","2"], metadatas=[{"type":"数据库"},{"type":"数据库"}], embeddings=[[0.52,0.33,-0.21],[0.55,0.30,-0.19]] )

返回值:无(成功空返回,异常报错)

2. 删除(delete)

两种删除方式:

  1. 根据主键 ID 精准删除;
  2. 根据 metadata 条件批量过滤删除。

python

运行

coll.delete(ids=["1"]) coll.delete(where={"type":"水果"})

返回值:空 / 删除成功标识

3. 更新(update)

无法修改向量里单个小数,只能整条覆盖替换新向量 / 新元数据

python

运行

coll.update(ids=["1"],embeddings=[[0.53,0.32,-0.20]])

返回值:无

4. 查询(query,最核心:语义相似检索)

入参

query_embeddings(用户问题生成的文本向量)、n_results(返回 topN)、where(标量过滤条件)、include(指定返回内容)

底层逻辑

输入问句向量 → ANN 索引(HNSW/IVF)计算库内向量相似度 → 筛选最相近 N 条。

三种返回形式(重点)

1)include=[]:默认底层返回 → ids + distances (相似度 / 距离)

json

{"ids":[["1","2"]],"distances":[[0.01,0.03]]}

❌ 无原文、无向量

2)include=["metadatas"]:附带返回标签信息

多出 metadatas 字段,拿到分类、备注等文本信息

3)include=["embeddings"]:附带返回库里存储的原始文本向量

带出浮点数组[[0.52,0.33,-0.21],[0.55,0.30,-0.19]]

混合查询示例(先过滤再向量检索)

python

运行

coll.query( query_embeddings=[[0.52,0.33,-0.21]], n_results=2, where={"type":"数据库"}, include=["metadatas"] )

四、完整 RAG 链路串联(文本向量全流程)

  1. 文档文本 → BGE 模型 →文本向量
  2. ID + 标签 + 向量存入向量数据库,原文存入 MySQL;
  3. 用户提问 → 提问转向量 → 向量库查询 →获取相似文档 ID;
  4. 使用 ID 去 MySQL 查询真实原文,拼接大模型 prompt。

五、精简考点总结

  1. 文本向量 = 文本映射的固定长度浮点数组,代表语义;
  2. 向量库存:ID + 标量元数据 + 浮点向量,原文不在向量库;
  3. 查询底层只返回 ID + 相似度,原文 / 向量需要手动配置参数才返回。
http://www.zskr.cn/news/1471924.html

相关文章:

  • 从Google Earth到网页:5分钟看懂Cesium.js如何用WebGL打造3D地图
  • 地质人必备:TSG软件导入SWIR/TIR光谱数据的保姆级避坑指南(附Excel/CSV模板)
  • Arduino Uno核心芯片Atmega328P熔丝位配置详解:从0xFD与0x05的区别说起
  • 你的TRL校准准不准?一个简单方法验证RS网分自定义校准件的性能
  • 未来行业竞争,真的会变成AI自动化水平的竞争吗?深度解析2026企业数字化转型新高地
  • 从实验室到鱼缸:我用STM32+PT100+OLED做了一个智能水温监控器(带三级报警)
  • 2026深度观察:未来行业竞争,真的会变成AI自动化水平的竞争吗?
  • 别再死记硬背了!一张图帮你理清IMS核心网里的P/I/S-CSCF到底在干嘛
  • 告别手动填表!用CANoe 11.0 (x64)模板快速创建DBC数据库(附Signal关联避坑指南)
  • 从雷击到电机干扰:给你的RS485电路加上这5道‘保险’(TVS/共模电感/PTC配置清单)
  • 炉石传说HsMod插件终极指南:免费解锁55+项游戏增强功能
  • 从5G基站部署到智能家居组网:深入理解无线信道中的反射、绕射与散射如何影响你的网速
  • AI时代不可替代的职业:基于多模态感知与价值判断的护城河
  • SAP ABAP程序迁移不求人:手把手教你用ZLAN_ACC搞定跨系统程序打包与部署
  • 微积分(十八)——微积分如何构建现代科学文明?
  • 零样本文本分类实战:用scikit-llm快速落地小数据场景
  • 别再只改颜色了!Qt样式表背景属性实战:从入门到精通(附完整代码)
  • VTK流线图可视化实战:用vtkGlyph3D给OpenFOAM后台阶算例加上方向箭头
  • 从Monitor到Scoreboard:一个芯片验证VIP的‘养成’全流程拆解(基于UVM)
  • Amber模拟进阶:如何为你的膜蛋白体系选择合适的力场(lipid14 vs. lipid17实战对比)
  • CODESYS指针的‘潜规则’:数组越界、结构体对齐与64位系统下的8字节之谜
  • 别再硬写CSS了!用uni-app的midButton属性,5分钟搞定带凸起按钮的TabBar(H5/小程序通用)
  • 2026年6月广州婚恋机构公司推荐:五大榜专业评测收费透明性价比高特点 - 品牌推荐
  • STM32驱动ILI9341屏做个小游戏:在Proteus里玩贪吃蛇(完整代码分享)
  • 遥感数据处理避坑指南:用HEG v2.15把NASA的HDF数据批量转成GeoTIFF(附Java环境配置)
  • Python字符串转时间戳的7种实战方案与避坑指南
  • 达州全屋定制工厂TOP5盘点 硬核实力对比解析 - 优质品牌商家
  • GENSIM语义建模实战:从流式训练到工业级文本分析
  • CVAT启动后localhost:8080打不开?别慌,这可能是Docker网络冲突了(附两种排查思路)
  • 机器学习运行时契约:构建可审计、可追溯的模型治理框架