AI 圈向量与数据库
一、向量基础
(一)一维向量
- 向量得同时有 “大小” 和 “方向”,像物理里的位移、速度、力都能用向量表示。
- 一维向量是最简单的,只有一个 “分量”,比如在数轴上从原点往右边走 3 个单位,用 “3” 表示;往左边走 3 个单位,用 “-3” 表示,负号代表方向。
- 向量长度有物理意义,比如 “3” 的长度就是 3,对应实际里 “走了 3 米”“用了 3 牛的力” 这类具体大小。
(二)二维向量
- 比一维向量多一个维度,需要两个 “分量” 表示,像平面直角坐标系里的点(2,3),就是从原点出发,先沿 x 轴走 2 个单位,再沿 y 轴走 3 个单位指向的位置。
- 生活例子:从家出发,往东走 500 米,再往北走 300 米到超市,这个路线能用二维向量(500,300)表示,能体现 “东向” 和 “北向” 两个方向信息。
(三)向量嵌入
- 向量嵌入就是把文字、图片、音频这些不好直接计算比较的内容,转化成一串向量,比如 “猫”“狗” 的文字,猫的照片,猫叫的音频,都能转成类似 [0.2, 0.5, -0.1,...] 这样的向量。
- 转化后用途多,比如比较 “猫” 和 “狗” 的向量,能知道语义相似度;比较两张图片向量,能判断是不是同一只猫,常用在 AI 搜索、推荐、识别场景。
二、数据库基础操作
(一)创建数据库和集合
- 数据库像 “大文件夹”,集合像 “文件夹里的小本子”,比如 “学生数据库” 是大文件夹,“高一(1)班学生” 就是小本子(集合)。可以用工具(比如 Milvus)新建 “大文件夹”(数据库),再在里面建 “小本子”(集合)存同类数据,像全班学生的成绩、年龄。
(二)连接数据库
- 连接数据库相当于 “打开大文件夹的钥匙”,新建好数据库后,得输入 “地址、账号、密码”,就像输家门密码,连接上后才能改里面内容,比如往 “小本子” 加学生信息。
(三)创建索引
- 索引像 “小本子的目录”,如果 “小本子” 有 1000 个学生信息,找 “张三” 时,没目录得一页页翻,建了索引直接查目录就能定位,能让数据库查数据更快,适合数据量大的情况。
(四)管理集合
- 管理集合就是 “整理小本子”,可以给 “小本子” 改名字,比如把 “高一(1)班学生” 改成 “高一(1)班 2025 届学生”;删没用的 “小本子”,比如删掉毕业班级的集合;给 “小本子” 加新记录项,比如原本只记成绩,现在加 “兴趣爱好”,维护数据不乱糟糟。
三、Milvus 数据库相关
(一)Milvus 的 docker - compose.yml
- docker - compose.yml 是 “启动 Milvus 的配置文件”,像 “家电的说明书 + 启动开关”,文件里写了启动 Milvus 需要的组件,比如存数据的模块、处理请求的模块,还有每个组件用多少内存。学会写这个文件,运行后能快速启动 Milvus,不用手动装一堆东西。
(二)Schema
- Schema 是 “小本子的格式要求”,比如规定 “小本子(集合)里只能记‘学生 ID(数字)、姓名(文字)、成绩(数字)’”,不能随便写 “学生身高(文字)” 这类不符合的内容。给 Milvus 的集合定 Schema,能确保存进去的数据格式统一,后续查数据、算数据不报错。
(三)分区和 Segment
- 分区和 Segment 相当于 “给小本子分章节”,比如 “高一(1)班学生” 这个 “小本子”,按 “性别” 分成 “男生”“女生” 两个章节(分区),每个章节里的内容又分成 “1 - 50 页”“51 - 100 页”(Segment)。这样查 “男生的成绩” 时,不用翻整个本子,只看 “男生章节”,能提高查数据速度。
(四)集合属性
- 集合属性是 “小本子的基本信息”,比如 “小本子叫什么名字”“小本子里最多能记多少条数据”“小本子里的数据能不能改”,可以设置成 “只能加数据,不能删数据”。能学会怎么看、怎么改这些属性,比如查 “小本子最多能存多少条数据”,避免数据存满了还往里加。
四、补充内容
(一)向量类
- 围绕 “向量的计算(比如两个向量怎么加、怎么比大小)”“向量在 AI 里的其他用途(比如图片识别、语音翻译)” 展开,是对 “一维 / 二维向量”“向量嵌入” 的延伸,能更全面理解向量。
(二)数据库类
- 补充 “怎么删数据库里的错误数据”“怎么备份数据库(防止数据丢了)”“怎么给数据库加权限(比如只让老师改学生成绩,学生只能看)” 等实操细节,适合想把数据库用得更稳的人。