当前位置: 首页 > news >正文

向量数据库简单对比

文章目录

    • 一、Chroma
    • 二、Pinecone/腾讯云VectorDB/VikingDB
    • 三、redis
    • 四、Elasticsearch
    • 五、Milvus
    • 六、Qdrant
    • 七、Weaviate
    • 八、Faiss

一、Chroma

在这里插入图片描述
在这里插入图片描述

  • 官方地址:
https://www.trychroma.com/
  • 优点
    ①简单,非常简单构建服务。
    ②此外,Chroma还具有自动加载和保存数据的功能。在启动客户端时,它会自动加载用户的数据;在关闭时,则会自动保存数据,大大简化了数据管理的过程
  • 缺点
    ①只支持 CPU 计算,这可能限制了在需要大量计算资源的情况下性能的提升。
  • 特点
1)功能丰富:查询、过滤、密度估计和许多其他功能
2)LangChain (Python和javascript), LlamaIndex都支持
3)在Python notebook 中运行的相同API可扩展到生产集群

二、Pinecone/腾讯云VectorDB/VikingDB

  • 官方地址:
    https://www.pinecone.io/
    在这里插入图片描述

  • 优点
    完全云原生,全托管模式,不需要用户了解任何有关向量化或向量索引的知识,前期导入的时候是非常方便快捷的

  • 缺点
    从开发人员的角度来看,依赖外部的第三方托管服务的危险,无法完全控制数据库的设置和运行方式。考虑到目前有大量的开源、自托管替代方案,从长远来看,依赖完全托管的闭源解决方案的影响可能是巨大的。而且成本也比较高

  • pinecone特点

1\支持全托管服务
2\高度可伸缩
3\实时数据摄取
4\低延迟的搜索
5\与LangChain集成

三、redis

  • 官网
    官网地址:https://redis.io/solutions/vector-search/

  • 优点:
    简单好部署好用(很多应用都使用Redis作为缓存中间件的数据库,这也就意味着使用Redis作为向量数据库,不需要额外的技术架构调整。Redis一直以高性能、高稳定性、轻量化著称)

  • 缺点
    由于Redis是基于内存运行的,因此单台机器能够承载的数据量受到物理内存大小的限制,不适合用于处理海量数据

四、Elasticsearch

  • 官网
https://www.elastic.co/
  • 优点
    ①上手简单,可以满足全文搜索和向量搜索
    ②横向集群扩展能力出色成熟

  • 缺点
    性能不高:Elasticsearch是为全文搜索目的而设计的,虽然支持向量搜索,但对于涉及百万级向量搜索及以上的数据,性能会受到影响
    占用空间大。而且内核使用Java开发,运行内存要求非常高。

五、Milvus

  • 官网地址
https://milvus.io/
  • 优点
    ①高效的磁盘向量索引 DiskANN 算法
    ②成熟的生态系统

  • 缺点
    ①在可扩展性问题上拼尽全力的解决方案——它通过代理、负载均衡器、消息代理、Kafka 和 Kubernetes 7 的组合实现了高度的可扩展性,这使得整个系统非常复杂且资源密集
    ②客户端 API(例如 Python)也不像 Weaviate 和 Qdrant 等较新的数据库那样可读或直观,后者往往更注重开发人员的体验

六、Qdrant

在这里插入图片描述
在这里插入图片描述

  • 介绍
    Qdrant可以作为API服务运行,支持搜索最接近的高维向量。使用Qdrant,可以将嵌入或神经网络编码器转换为应用程序,用于匹配,搜索,推荐等任务。以下是Qdrant的一些关键功能

  • 特点

1\通用的API:提供OpenAPI v3规范和各种语言的现成客户端。
2\速度和精度:使用自定义HNSW算法进行快速准确的搜索。
3\先进的过滤方法:允许基于相关矢量有效载荷的结果过滤。
4\不同的数据类型:支持字符串匹配、数字范围、地理位置等。
5\可伸缩性:具有水平扩展功能的云原生设计。
6\效率:内置Rust,通过动态查询规划优化资源使用

七、Weaviate

在这里插入图片描述
在这里插入图片描述

  • 介绍
    Weaviate是一个开源向量数据库。它可以无缝扩展到数十亿个数据对象。Weaviate的一些关键特性是:‍

  • 特点

1\速度:Weaviate可以在几毫秒内从数百万个对象中快速搜索出最近的10个邻居。
2\灵活性:使用Weaviate,可以在导入或上传自己的数据时对数据进行矢量化,可以利用与OpenAI, Cohere, HuggingFace等平台集成的模块。
3\快速部署:从原型到大规模生产,Weaviate都强调可伸缩性、复制和安全性。
4\搜索扩展:除了快速矢量搜索,Weaviate还提供推荐、摘要和神经搜索框架集成。

八、Faiss

在这里插入图片描述

  • 介绍
    Faiss是一个用于快速搜索相似性和密集向量的聚类的开源库。它包含能够在不同大小的向量集中搜索的算法,甚至可以处理那些超过内存容量的向量集。此Faiss还提供了用于评估和调整参数的辅助代码。

  • 特点
    虽然它主要是用c++编写的,但它完全支持Python/NumPy集成。它的一些关键算法也可用于GPU执行。Faiss的主要开发工作由Meta的基础人工智能研究小组承担

相关文章:

向量数据库简单对比

文章目录 一、Chroma二、Pinecone/腾讯云VectorDB/VikingDB三、redis四、Elasticsearch五、Milvus六、Qdrant七、Weaviate八、Faiss 一、Chroma 官方地址: https://www.trychroma.com/优点 ①简单,非常简单构建服务。 ②此外,Chroma还具有自…...

大模型基本原理(四)——如何武装ChatGPT

传统的LLM存在几个短板:编造事实、计算不准确、数据过时等,为了应对这几个问题,可以借助一些外部工具或数据把AI武装起来。 实现这一思路的框架包括RAG、PAL、ReAct。 1、RAG(检索增强生成) LLM生成的内容会受到训练…...

从零开始:使用Jenkins实现高效自动化部署

在这篇文章中我们将深入探讨如何通过Jenkins构建高效的自动化部署流水线,帮助团队实现从代码提交到生产环境部署的全流程自动化。无论你是Jenkins新手还是有一定经验的开发者,这篇文章都会为你提供实用的技巧和最佳实践,助你在项目部署中走得…...

Spring Cloud工程完善

目录 完善订单服务 启动类 配置文件 实体类 Controller Service Mapper 测试运行 完成商品服务 启动类 配置文件 实体类 Controller Service Mapper 测试运行 远程调用 需求 实现 1.定义RestTemplate 2.修改order-service中的OrderService 测试运行 Rest…...

SSM仓库物品管理系统 附带详细运行指导视频

文章目录 一、项目演示二、项目介绍三、运行截图四、主要代码1.用户登录代码:2.保存物品信息代码:3.删除仓库信息代码: 一、项目演示 项目演示地址: 视频地址 二、项目介绍 项目描述:这是一个基于SSM框架开发的仓库…...

UI自动化测试中如何处理验证码?

在UI自动化测试中处理验证码是常见的技术挑战,以下是分步解决方案及实际应用建议: 一、验证码处理策略对比 方法实现方式优点缺点适用场景禁用验证码测试环境配置关闭验证码生成简单快捷,零成本无法测试验证码功能本身非验证码相关功能测试万…...

华为交换机堆叠配置

一、CSS堆叠集群配置(框式交换机) 1、通过集群卡连接方式组建集群 [SwitchA] set css mode css-card \\配置集群卡连接方式 [SwitchA] set css id 1 \\配置成员交换机的集群ID(缺省值为1) [SwitchA] set css priority 100 \\配…...

Vue 和 dhtmlx-gantt 实现图表构建动态多级甘特图效果 ,横坐标为动态刻度不是日期

注意事项:1、横坐标根据日期转换成时间刻度在( gantt.config.scales);2、获取时间刻度的最大值(findMaxRepairTime);3、甘特图多级列表需注意二级三级每个父子id需要唯一(convertData) 安装依赖 npm install dhtmlx-gantt --save 在当前页引入和配置 dhtmlx-gantt im…...

collabora online+nextcloud+mariadb在线文档协助

1、环境 龙蜥os 8.9 docker 2、安装docker dnf -y install dnf-plugins-core dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sed -i shttps://download.docker.comhttps://mirrors.tuna.tsinghua.edu.cn/docker-ce /etc/yum.repos.…...

“可通过HTTP获取远端WWW服务信息”漏洞修复

环境说明:①操作系统:windows server;②nginx:1.27.1。 1.漏洞说明 “可通过HTTP获取远端WWW服务信息”。 修复前,在“响应标头”能看到Server信息,如下图所示: 修复后,“响应标头…...

【AI时代】-开发环境准备 之 Conda 创建 Python 环境 (含pip常用命令、jupyter 安装及汉化、自定义文档位置等配置)

一、 安装 Anaconda 1.1 下载并安装 https://www.anaconda.com/download/success 1.2 验证是否成功 CMD输入命令: conda --version注意:找不到命令需要配置环境变量: Path 中 添加 Anaconda 的安装路径: 如果没有修改安装位…...

[LeetCode] day19 454. 四数相加 II

题目链接 题目描述 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i, j, k, l < n nums1[i] nums2[j] nums3[k] nums4[l] 0 示例 1&#xff1a; 输入&…...

LeetCodehot 力扣热题100 验证二叉搜索树

class Solution {vector<int> nums; // 用来存储二叉树节点值的数组 public:bool isValidBST(TreeNode* root) {inorder(root); // 中序遍历二叉树&#xff0c;填充 nums 数组// 遍历 nums 数组&#xff0c;检查是否为严格递增序列for(int i0; i<nums.size()-1; i){…...

四次挥手详解

文章目录 一、四次挥手各状态FIN_WAIT_1CLOSE_WAITFIN_WAIT_2LAST_ACKTIME_WAITCLOSE 二、双方同时调用close()&#xff0c;FIN_WAIT_1状态后进入CLOSING状态CLOSING状态 三、TIME_WAIT状态详解(1) TIME_WAIT状态下的2MSL是什么MSL &#xff08;报文最大生存时间&#xff09;为…...

Deepseek-v3 / Dify api接入飞书机器人go程序

准备工作 开通了接收消息权限的飞书机器人&#xff0c;例如我希望用户跟飞书机器人私聊&#xff0c;就需要开通这个权限&#xff1a;读取用户发给机器人的单聊消息 im:message.p2p_msg:readonly准备好飞书机器人的API key 和Secretdeepseek-v3的api keysecret&#xff1a;http…...

2025.2.9 每日学习记录2:技术报告写了一半+一点点读后感

0.近期主任务线 1.完成小论文准备 目标是3月份完成实验点1的全部实验和论文。 2.准备教资笔试 打算留个十多天左右&#xff0c;一次性备考笔试的三个科目 1.实习申请技术准备&#xff1a;微调、Agent、RAG 1.今日完成任务 1.电子斗蛐蛐&#xff08;文本书写领域&am…...

qml ToolBar详解

1、概述 在 QML 中&#xff0c;ToolBar 是一种常用的 UI 组件&#xff0c;通常位于窗口的顶部或底部&#xff0c;用于提供一系列的操作按钮、菜单或其他交互元素。它可以帮助用户快速访问应用程序的常用功能&#xff0c;提高用户操作的便捷性。ToolBar 可以包含多个 ToolButto…...

机器学习在癌症分子亚型分类中的应用

学习笔记&#xff1a;机器学习在癌症分子亚型分类中的应用——Cancer Cell 研究解析 1. 文章基本信息 标题&#xff1a;Classification of non-TCGA cancer samples to TCGA molecular subtypes using machine learning发表期刊&#xff1a;Cancer Cell发表时间&#xff1a;20…...

Ansible自动化部署K8s集群一 Ansible的基础使用实战

一、Ansible介绍 1.安装ansible: yum install ansible -y 2.ansible的架构图&#xff1a; 3.ansible四部分&#xff1a; inventory:ansible管理的主机信息&#xff0c;包括ip地址、ssh端口、账号和密码等 modules:任务均由模块完成 plugins:增加ansible的核心功能 pla…...

ZooKeeper Watcher 机制详解:从注册到回调的全过程

引言 在分布式系统中&#xff0c;数据的实时性和一致性是至关重要的。ZooKeeper 通过其 Watcher 机制提供了一种高效的方式来监听数据变化或事件&#xff0c;从而使客户端能够在数据发生变化时立即收到通知。本文将深入探讨 ZooKeeper 的 Watcher 机制&#xff0c;具体包括客户…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

日常一水C

多态 言简意赅&#xff1a;就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过&#xff0c;当子类和父类的函数名相同时&#xff0c;会隐藏父类的同名函数转而调用子类的同名函数&#xff0c;如果要调用父类的同名函数&#xff0c;那么就需要对父类进行引用&#…...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生&#xff0c;系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler&#xff0c;它是Thread的子类&#xff08;就是package java.lang;里线程的Thread&#xff09;。本文将利用它将设备信息、报错信息以及错误的发生时间都…...

倒装芯片凸点成型工艺

UBM&#xff08;Under Bump Metallization&#xff09;与Bump&#xff08;焊球&#xff09;形成工艺流程。我们可以将整张流程图分为三大阶段来理解&#xff1a; &#x1f527; 一、UBM&#xff08;Under Bump Metallization&#xff09;工艺流程&#xff08;黄色区域&#xff…...

OpenHarmony标准系统-HDF框架之I2C驱动开发

文章目录 引言I2C基础知识概念和特性协议&#xff0c;四种信号组合 I2C调试手段硬件软件 HDF框架下的I2C设备驱动案例描述驱动Dispatch驱动读写 总结 引言 I2C基础知识 概念和特性 集成电路总线&#xff0c;由串网12C(1C、12C、Inter-Integrated Circuit BUS)行数据线SDA和串…...

Java求职者面试:微服务技术与源码原理深度解析

Java求职者面试&#xff1a;微服务技术与源码原理深度解析 第一轮&#xff1a;基础概念问题 1. 请解释什么是微服务架构&#xff0c;并说明其优势和挑战。 微服务架构是一种将单体应用拆分为多个小型、独立的服务的软件开发方法。每个服务都运行在自己的进程中&#xff0c;并…...