什么是向量和向量数据库?
向量(Vector)是把文字、图片等内容转换成一串数字坐标的表示方式,意思相近的内容在坐标系里距离相近;向量数据库是专门存储和快速搜索这些坐标的数据库,是 RAG 系统的核心基础。
用一个类比理解
普通数据库按关键词搜索,像在图书馆按书名找书——书名里没有你用的词就找不到。向量数据库按"意思"搜索,像一个记住了每本书内容精华的图书馆员——你说"关于爱情和背叛的小说",他会帮你找出《霸王别姬》《廊桥遗梦》,哪怕书名里没有这两个字。
向量是怎么生成的?
用一种叫"嵌入模型"(Embedding Model)的 AI,把文字转成一串几百上千个小数组成的数字串。这串数字在高维空间里是一个坐标点,意思相近的文字,坐标点就靠得近。
它在 RAG 里怎么用?
- 把你的文档全部转成向量,存进向量数据库
- 用户提问时,把问题也转成向量
- 在数据库里找距离最近(语义最相似)的文档片段
- 把这些片段喂给大模型,让它基于真实内容回答
常见误解
- "向量数据库是新型数据库,会取代 MySQL"——两者不是替代关系,向量数据库解决的是"语义搜索"问题,传统数据库处理结构化数据,二者常常配合使用。
- "向量搜索一定比关键词搜索好"——语义搜索的优势是理解意思,但关键词搜索在精确匹配时反而更快更准。