3.1词向量及向量知识库
词向量(Embeddings):将非结构化数据,如单词、句子或者整个文档,转化为实数向量的技术。这些实数向量可以被计算机更好的理解和处理。
相似或相关的对象在嵌入空间中的距离应该很近。
词向量的优势
在RAG 技术方面:
词向量比文字更适合检索。
词向量比其他媒介的综合信息能力更强,当传统数据库存储文字、声音、图像、视频等多种媒介时,很难将上述多种媒介构建起关联与跨模态的查询方法;
一般构建词向量的方法
搭建RAG系统时,我们往往可以使用嵌入模型来构建词向量,我们可以选择:
- 使用各个公司的Embbedding API
- 在本地使用嵌入模型将数据构建为词向量
向量数据库
1.什么是向量数据库
向量数据库是用于高效计算和管理大量向量数据的解决方案。
是一种专门用于存储和检索向量数据的数据库系统。
与传统基于 关系模型的数据库不同,其主要关注的是向量数据的特性和相似性。
向量数据库中的数据被表示为向量形式,每个向量代表一个数据项。这些向量可以是各种类型的数据(数字、文本、图像或其他类型的数据。
向量数据库使用高效的索引和查询算法来加速向量数据的存储和检索过程。
2、向量数据库的原理及核心优势
以向量作为基本单位,对向量进行存储、处理及检索。
向量数据库通过计算与目标向量的余弦距离、点积等获取与目标向量的相似度。
当处理大量甚至海量的向量数据的时候,向量数据库索引和查询算法的效率会比传统数据库高。
3、主流的向量数据库
Chroma:轻量级向量数据,拥有丰富的功能和简单的API,具有简单易用、轻量的优点,但功能简单,不支持GPU加速,适合初学者使用。
Weaviate:开源向量数据库,支持相似度搜索和最大遍及相关性搜索,还可以支持结合多种搜索算法的混合搜索,从而搜索提高结果的相关性和准确性。
Qdrant:使用Rust语言开发,有极高的检索效率和RPS,支持本地运行、部署在本地服务器及QDRANT云三种部署模式。且可以通过为页面内容和元数据指定不同的键来复用数据。
3.2使用EmbeddAPI
3.3数据处理
3.4搭建并使用向量数据库