一、向量数据库
1,什么是向量数据库
专门存储和查询向量数据的数据库系统,通过高翔的向量索引和查询功能,使得在大规模向量数据集上进行相似性搜索和分析变得更高效和容易。
- 存储向量数据:处理百万或者十亿的大规模数据集
- 向量索引:使用特殊索引结构,如KD-Tree,LSH(局部敏感哈希),HNSW(高纬空间网络)常用。加速向量的相似性搜索。能高效与查询相似的想来根
- 相似性搜索:根据查询的向量相似来搜索、检索最相关的问题。在众多领域都有应用,如:图像识别、音乐推荐、自然语言处理等
- 高性能计算,通过优化存储和插叙你过长,提高性能等计算能力,能快速处理复杂的向量计算
- 支持多维度数据,可以存储和查询多个维度的向量数据。适用于处理各种类型的数据,如图像特征、文本向量、传感器数据等
- 扩展性和并发性:支持水平扩展,能分布式环境中处理大规模的向量数据集。还具有并发性,可以同事处理多个查询请求
2,嵌入
- 向量数据库不仅存储原始数据(图像、音频或文本),还存编码形式嵌入(embedding)。嵌入实际是存储数据的上下文表示的数据列表(向量)。即实际更高维度的数据(图像、文本、音频)的压缩、低纬表示。通常采用分片存储
- 嵌入的实现方式,
- 使用开源库,Sentence Transormens
- 使用API 服务,OpenAI 嵌入
3,为什么需要向量数据库
大语言模型(LLMs)是生成型的,意味着根据用户的提示顺序方式,生成有意义、连贯的文本。然而,当使用LLMs 回答人类问题的时候,他经常会产生问题无关或事实不正确的结果。
- LLMs 经常会产生幻觉、即虚构信息,例如指向不存在的URL或者编造不存在的数字
- LLMs 学习/记忆其训练数据的压缩版本,虽然他们学习得很好,但并不完美一模型对数据的内部总是会“丢失”一些信息
- LLMs 无法知道其训练完成后发生的事实
向量数据库有助于解决这些问题