这里写自定义目录标题
- 向量数据库
- 向量嵌入(Vector Embeddings)
- 特征和向量
- 相似性测量 (Similarity Measurement)
- 欧几里得距离(Euclidean Distance)
- 余弦相似度(Cosine Similarity)
- 相似性搜索 (Similarity Search)
- K-Means
- Hierarchical Navigable Small Worlds (HNSW)
- 基于 Embedding 的问答助手和意图匹配
- Embedding models(嵌入模型)
- 设置
- 嵌入文本列表(embed_documents)
- 嵌入单个查询(embed_query)
- 问答助手
- 意图匹配
- 基于 LangChain 构建向量存储和查询:Chroma, Weaviate, Qdrant, Milvus
- FAISS, Pinecone, Lance Similarity search
- FAISS
- Faiss介绍
- 设置
- 导入
- 查询
- 作为检索器
- 带分数的相似度搜索
- 保存和加载
- Pinecone
- Pinecone介绍
- Lance
- [LanceDB](https://lancedb.com/)介绍
- 向量存储
- 总结
向量数据库
向量数据库(Vector Database),也叫矢量数据库,主要用来存储和处理向量数据。
在数学中,向量是有大小和方向的量,可以使用带箭头的线段表示,箭头指向即为向量的方向,线段的长度表示向量的大小。两个向量的距离或者相似性可以通过欧式距离或者余弦距离得到。
图像、文本和音视频这种非结构化数据都可以通过某种变换或者嵌入学习转化为向量数据存储到向量数据库中,从而实现对图像、文本和音视频的相似性搜索和检索。这意味着您可以使用向量数据库根据语义或上下文含义查找最相似或相关的数据,而不是使用基于精确匹配或预定义标准查询数据库的传统方法。
向量数据库的主要特点是高效存储与检索。利用索引技术和向量检索算法能实现高维大数据下的快速响应。向量数据库也是一种数据库,除了要管理向量数据外,还是支持对传统结构化数据的管理。实际使用时,有很多场景会同时对向量字段和结构化字段进行过滤检索,这对向量数据库来说也是一种挑战。
向量嵌入(Vector Embeddings)
对于传统数据库,搜索功能都是基于不同的索引方式(B Tree、倒排索引等)加上精确匹配和排序算法(BM25、TF-IDF)等实现的。本质还是基于文本的精确匹配