ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

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

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),仅供参考
返回列表