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 许可

相关推荐
Georgewu3 小时前
【ModelArts】ModelArts一站式AI开发平台详解(一)
aigc·openai·ai编程
Georgewu4 小时前
【HarmonyOS 5】鸿蒙CodeGenie AI辅助编程工具详解
华为·ai编程·harmonyos
黑码哥5 小时前
Copilot for Xcode (iOS的 AI辅助编程)
人工智能·copilot·ai编程·xcode·ai辅助编程
chentao1068 小时前
1-Spring AI手把手教程-亲手创造我的AI助手
ai编程
雪球工程师团队10 小时前
让 Bug 自动“蒸发”!我们造了个 AI 程序员同事
前端·ai编程·测试
AI产品自由10 小时前
Cursor + 飞书MCP = 王炸组合!开发者的AI记忆神器来了
ai编程
技术便签11 小时前
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
人工智能·python·ai编程·agi·多智能体·智能体·adk
37手游后端团队11 小时前
15页PPT深挖AI编程新范式!程序员必看的破局指南
程序员·ai编程·求职
Android洋芋12 小时前
从零到一:掌握Trae复杂项目开发全流程,打造企业级智能化应用
ai编程
Captaincc13 小时前
“不是 Cursor 不够强,是 Claude Code 太猛了” !Claude 创始人详解 Claude Code 如何改写编程方式
ai编程·claude·cursor