Redis 8 为 AI 应用推出新型数据类型,用于向量相似性

Redis 最近宣布了 向量集的添加,这是一种用于向量相似性和新 AI 应用选项的数据类型。这种新的数据类型标志着 Redis 的创建者 Salvatore Sanfilippo(又称'antirez')自 重新加入公司以来的第一个重大贡献。

摘要

Redis 8 版本引入了名为向量集的新数据类型,旨在优化 AI 应用中的向量相似性搜索。向量集与有序集合类似,但它使用向量代替分数来关联字符串元素,支持根据指定的向量查找相似的条目子集,并支持过滤搜索。该功能由 Redis 创始人 Salvatore Sanfilippo 主导开发。它基于 HNSW 算法,并进行了多线程优化。向量集适用于多种 AI 场景,如 RAG、语义缓存、推荐系统和人脸识别。此外,Redis 还推出了 LangCache,用于减少 LLM 的调用延迟和成本。向量集在 Redis 8 RC1 中以预览版提供,采用 RSALv2 或 SSPLv1 许可。

主要内容

    1. 向量集是 Redis 8 中的新型数据结构,它使用向量代替分数,优化了 AI 应用中的向量相似性搜索。

    向量集通过基于向量的相似性搜索,为 AI 应用提供高效的数据检索能力,降低了开发复杂性。

    1. 向量集基于 HNSW 算法,并进行了多线程优化。

    通过对 HNSW 算法的优化和多线程技术的应用,向量集实现了高性能的向量相似性搜索能力。

    1. Redis 还推出了 LangCache,用于减少 LLM 的调用延迟和成本。

    LangCache 通过缓存 LLM 的响应,降低了 AI 应用的延迟和成本,提升了整体性能和效率。

向量集是一种新的数据类型,类似于 Sorted Sets,但其元素与向量而不是分数相关联,使得可以添加项目并检索与指定向量最相似的项目子集。还支持过滤搜索功能,允许同时进行向量相似性和标量过滤。Sanfilippo 在他的博客中解释

新数据结构的目标简而言之,是创建一种新的"类似集合"的数据类型,类似于 Sorted Sets,其中不再是具有标量作为分数,而是具有向量,并且可以以 Redis 的方式添加和删除元素,无需关心任何其他内容,只需关心 Redis 实现的数据结构的属性,请求与给定查询向量(或集合中某些元素关联的向量)相似的元素,等等。

向量集基于 hnsw.c 实现的 HNSW 数据结构,具有加速和功能扩展。Redis 的 CEO Rowan Trollope 对 Sanfilippo 的贡献表示赞赏:

他的专业知识导致创建了一个既简单又直观的 API,这体现了 Redis 以提供高性能解决方案同时保持简单性的理念。

向量数据库对于由 GenAI 支撑的应用程序至关重要,用于检索语义相关的信息以丰富 LLMs(RAG)的上下文。其他用例包括聊天机器人的语义缓存、推荐系统和人脸识别。Redis 的产品经理 Mirko Ortensi 在另一篇文章中解释了如何 使用向量集进行人脸识别。Ortensi 写道:

人脸识别的关键在于向量。它涉及使用专门的嵌入模型对已知人脸进行建模,存储在 Redis 中,并通过在数据库中存储的向量上运行向量搜索来进行人脸识别。

来源: 米可·奥尔森蒂

Sanfilippo 补充说:

我决定实现向量相似性的基本要求之一是对 HNSWs 进行从头开始的重新实现(您可以在 hnsw.c 中看到我的实现),因为这将是我的核心数据结构,我不想从 GitHub 上随便找一些代码并满意于它。

以高性能为重点,Sanfilippo 不仅对 HNSW 进行了修改,还为所有向量相似性请求引入了多线程,并支持 8 位和二进制量化。他强调了自己实现的主要区别在于:

向量集最有趣的部分是其数据模型和 API。许多数据库将向量相似性作为一种索引提出,但这是 Redis,Redis 中的东西都是数据结构:这次也不例外。

向量集并不是 Redis 的新功能唯一一项:LangCache,一个为 AI 应用程序和代理设计的语义缓存服务,旨在通过缓存其响应来减少成本高昂且延迟的LLMs调用。

向量集在预览版中可用,可在 Redis 8 RC1 下使用 RSALv2 或 SSPLv1 许可

相关推荐
Elecat8 小时前
25年6月 Figma MCP Server + Cursor踩坑记录
ai编程·cursor·mcp
量子位9 小时前
消失的 Ilya 现身毕业演讲:AI 时代如何生存,这是我的法则
ai编程
量子位9 小时前
太逼真!豆包 · 播客模型来了:一句话生成「苏超联赛」播客,很懂 13 太保的梗
ai编程·豆包marscode
今天又欠一行代码10 小时前
Trae 更智能的编写vue代码
ai编程
豆包AI编程12 小时前
👾 豆包脑洞研究所| 创意应用有奖征集活动说明
ai编程
拾回程序猿的圈圈∞14 小时前
实战二:开发网页端界面完成黑白视频转为彩色视频
python·ai编程
星尘洞见16 小时前
我把Cursor"骂"成了编程导师:一个让AI好用100倍的"反向驯化"技巧
ai编程
国家不保护废物16 小时前
🧩 React 组件化进阶:像乐高大师一样搭建你的应用世界!
前端·react.js·ai编程
TimelessHaze16 小时前
从"切图崽"到前端工程师:React 到底是个啥?🚀
前端·react.js·ai编程
日升16 小时前
AI 组件库-MateChat 快速起步与核心概念
前端·ai编程·trae