向量数据库
- vector storage engine
- 存储向量
- 关系型数据库:
- table
- id, name, age, school, address, ……
- 增删改查:字符串本身的比较
- table
- 文档型数据库:
- mongodb
- collection:
- document:
- json
- 每个json都是任意的结构
- json
- document:
- collection:
- mongodb
- 键值对数据库:
- redis:
- 内存型,做缓存
- key-value对
- redis:
- 存储向量:
- 虽然叫向量数据库,但是向量部分只是索引,数据本身还是重点
- 数据查询时,使用向量进行语义化检索,而不是字符串匹配
- 结构:
- id, vector, text, metadata
- id:唯一标识,数据管理时使用
- vector:向量,用来做语义检索
- text:文本,信息本身
- metadata:元数据,用来做过滤
- 兼容文档型和关系型数据库的特点
- 常见的向量库:
- FAISS
- chromadb
- pinecone
- milvus
- 语义检索:
- 欧式距离(不开方)
- 余弦相似度
- 向量内积
ChromaDB
- 安装:
- pip install chromadb
- 增删改查
- 如何连接数据库?
- 如何插入数据?
- 如何检索数据?
- 如何删除数据?
- 如何更新数据?
- Chroma官方说明文档:https://docs.trychroma.com/docs/overview/introduction
- 本质: