首页/新闻资讯/正文详情

AIRI 记忆系统详解:如何用 DuckDB WASM + pgvector 为 AI 伴侣实现长期记忆

发布时间:2026/9/25 5:59:32 来源:云帆数科 栏目:资讯中心
AIRI 记忆系统详解:如何用 DuckDB WASM + pgvector 为 AI 伴侣实现长期记忆
AIRI 记忆系统详解如何用 DuckDB WASM pgvector 为 AI 伴侣实现长期记忆【免费下载链接】airi 自托管、归你拥有的 Grok 风格 AI 伴侣与 waifu / 赛博生命灵魂容器目标是接近 Neuro-sama 的高度支持实时语音聊天、Minecraft 和 Factorio 游玩支持 Web / macOS / Windows。项目地址: https://gitcode.com/moeru-ai/airi想让 AI 伴侣拥有长期记忆吗开源项目 AIRI 用 DuckDB WASM 与 pgvector 两套向量存储方案为 AI 伴侣AI waifu / 数字伙伴搭起了从「向量嵌入」到「记忆遗忘曲线」的完整长期记忆系统。本文带你读懂它的设计思路、关键文件和核心文件路径无需大量代码也能快速上手。为什么 AI 伴侣需要长期记忆普通的聊天机器人「一问一答」聊完就忘。而 AIRI 的目标是让虚拟角色真正「住」进你的设备里像 [Neuro-sama] 那样记得你说过什么、你们一起经历过什么这里的链接已省略。记忆系统的难点在于持久记忆 vs 工作记忆长期记忆难以按关系和依赖遍历查询而工作记忆容量有限语义检索需要用 embedding 模型把「文本」变成「固定长度的向量」再做相似度搜索像人一样遗忘较新的记忆应比旧的更容易被想起情绪与时间都会影响召回。 AIRI 的开发者在 DevLog-2025.04.06 中明确说目标是做出「当下最先进、最强大、最健壮」的记忆系统思想深受人类记忆系统启发。核心架构DuckDB WASM 与 pgvector 双存储方案AIRI 没有押注单一向量数据库而是「浏览器端 服务端」两手准备DuckDB WASM跑在浏览器里的向量数据库浏览器里的记忆实验由proj-airi/drizzle-duckdb-wasm封装包提供已迁移至独立仓库见 packages/duckdb-wasm/README.md。在 packages/stage-ui/src/composables/use-duck-db.ts 中Web 端通过 Web Worker 加载 DuckDB 的 WASM bundle并用 Drizzle ORM 建表CREATE TABLE IF NOT EXISTS memory_test (vec FLOAT[768]);关键点纯 WASM 运行不依赖任何后端768 维向量直接存在浏览器内存/本地Mutex 单例管理用锁保证数据库实例全局唯一避免多标签页并发踩踏Drizzle ORM 加持TypeScript 类型安全查询即代码。pgvector.rs服务端的向量检索引擎服务端如 services/telegram-bot 的 Telegram 机器人选择 Rust 重写的 pgvector 兼容实现pgvector.rs原因是它支持超过 2000 维的向量为未来更大的 embedding 模型留足空间。初始化脚本 services/telegram-bot/sql/init.sql 只有两件事ALTER SYSTEM SET vectors.pgvector_compatibilityon; CREATE EXTENSION vectors;配合 services/telegram-bot/docker-compose.yaml 即可一键拉起向量数据库容器。而 packages/memory-pgvector/src/index.ts 则是一个基于proj-airi/server-sdk的记忆服务模块负责接入配置并常驻监听——这就是 AIRI 服务化记忆的入口骨架。记忆如何工作从对话到召回的 4 步① 嵌入Embedding文本 → 固定长度向量数组。注意维度是固定的切换 embedding 模型后需要重新索引所有记忆。② 存储Storage向量写入 DuckDB浏览器或 pgvector.rs服务端并附带时间戳、场景、情绪等元数据。③ 检索Retrieval按语义相关性 时间关联度打分支持重排序rerank。④ 衰减Decay借鉴人类遗忘曲线为不同记忆类型工作记忆 / 短期记忆 / 长期记忆 / 肌肉记忆设定各自的强化曲线与半衰期让「越新的记忆越容易被想起」。除了确定性的衰减AIRI 还模拟了随机闪回与情绪偏置——记忆可能突然被想起也会被情绪左右文件导航记忆相关代码都在哪模块路径作用浏览器端 DuckDB 封装packages/stage-ui/src/composables/use-duck-db.tsWeb Worker 中初始化 WASM 向量库Drizzle DuckDB WASMpackages/drizzle-duckdb-wasm/README.md封装包迁移说明服务端 pgvector 模块packages/memory-pgvector/src/index.ts记忆服务骨架向量库初始化 SQLservices/telegram-bot/sql/init.sql开启 vectors 扩展记忆系统设计文docs/content/zh-Hans/blog/DevLog-2025.04.06/index.md完整设计思路与交互 Demo项目总览docs/content/zh-Hans/docs/overview/index.mdAIRI 定位与模块地图写在最后AIRI 的记忆系统给了三个值得借鉴的工程决策双后端策略——DuckDB WASM 让「零部署」的浏览器也能做向量检索pgvector.rs 扛住服务端高维向量把遗忘建模成算法——衰减曲线、半衰期、情绪偏置让 AI 伴侣的记忆更像人用 ORM 管理向量——Drizzle 让向量表和关系表共享一套 TypeScript 类型体系。如果你想动手体验可以先从 services/telegram-bot/docker-compose.yaml 拉起向量库再阅读 DevLog-2025.04.06 里的交互 Demo 源码一步步理解「AI 伴侣的记忆」是如何被存下来、检索出来的。【免费下载链接】airi 自托管、归你拥有的 Grok 风格 AI 伴侣与 waifu / 赛博生命灵魂容器目标是接近 Neuro-sama 的高度支持实时语音聊天、Minecraft 和 Factorio 游玩支持 Web / macOS / Windows。项目地址: https://gitcode.com/moeru-ai/airi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

递归算法核心原理与经典案例解析
递归算法核心原理与经典案例解析

1. 递归思想的核心要义递归就像俄罗斯套娃,一个函数在执行过程中直接或间接调用自身,通过不断缩小问题规模最终解决原问题。这种"分而治之"的思想在计算机科学中占据着重要地位,其核心在于两个关键要素:基线条件&#x… · 2026/9/25 5:59:32

Atlas 300V上部署YOLO:从环境搭建到推理调优实战指南
Atlas 300V上部署YOLO:从环境搭建到推理调优实战指南

1. Atlas 300V到底是个什么卡1.1 一个最容易被搜到的问题如果你是因为“atlas部署yolo”或者“atlas 300v 24g 是运算加速卡吗”这种问题点进来的,那我的答案是:是的,Atlas 300V 24G就是一块专用的AI运算加速卡,但它的定位非常明确… · 2026/9/25 5:59:26

使用 AWS SDK for Java 2.x 操作 IAM 的完整实践指南
使用 AWS SDK for Java 2.x 操作 IAM 的完整实践指南

示例工程教程后端 【免费下载链接】aws-doc-sdk-examples Welcome to the AWS Code Examples Repository. This repo contains code examples used in the AWS documentation, AWS SDK Developer Guides, and more. For more information, see the Readme.md file below. 项目地… · 2026/9/25 5:59:26

Tomcat线程模型与OOM问题深度解析
Tomcat线程模型与OOM问题深度解析

1. 问题背景与现象分析最近在排查一个线上服务异常时,遇到了一个典型的OOM(OutOfMemoryError)问题。这个案例非常有意思,因为它不仅涉及到内存溢出本身,还引发了Tomcat线程模型的异常表现,最终导致服务不可… · 2026/9/25 6:22:58

基于LLM与Django的智能旅游路线推荐系统设计与实现
基于LLM与Django的智能旅游路线推荐系统设计与实现

1. 项目概述:当旅游规划遇上AI大模型去年帮朋友公司做旅游路线推荐系统时,我深刻体会到传统推荐算法的局限性。用户抱怨"推荐的路线都差不多""根本不考虑我的体力状况",这促使我开始尝试将LLM大模型与路线规划结合。这个… · 2026/9/25 6:22:58

Android Studio Chipmunk Canary 2 实战与避坑指南
Android Studio Chipmunk Canary 2 实战与避坑指南

简介:Android Studio Chipmunk Canary 2(android-studio-2021.2.1.2)是2021年10月发布的Windows版预览IDE压缩包,适合Android开发者尝鲜新版、验证项目兼容性或学习构建工具链变化。包体总计2000个文件,主要包括637个j… · 2026/9/25 6:22:58

Java学生火车票订票系统:JSP+Servlet+JDBC实现与并发控制
Java学生火车票订票系统:JSP+Servlet+JDBC实现与并发控制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 6:22:58

Python字典底层原理:哈希表如何实现O(1)性能
Python字典底层原理:哈希表如何实现O(1)性能

1. 为什么说“Python之哈希表”不是讲数据结构,而是讲你每天都在用的底层引擎“Python之哈希表”这个标题乍看像是一堂枯燥的数据结构课,但如果你真这么理解,就错过了它最硬核的价值——它根本不是在教你怎么手写一个散列表,而是在… · 2026/9/25 6:22:52

ESP32-S3串口避坑指南:UART0陷阱与UART1/UART2实战配置
ESP32-S3串口避坑指南:UART0陷阱与UART1/UART2实战配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 6:22:52

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码