☰
让AI记住图片、视频和音频:Mnemosyne多模态记忆完整实战教程
2026/9/28 21:05:06 网站建设 项目流程

让AI记住图片、视频和音频:Mnemosyne多模态记忆完整实战教程

【免费下载链接】mnemosyneZero-cloud AI memory that works everywhere. SQLite-backed. One pure-Python dependency.项目地址: https://gitcode.com/gh_mirrors/mnemosyne5/mnemosyne

Mnemosyne 是一款零云端的 AI 记忆系统:它只依赖 SQLite 和一个纯 Python 库,却能让 AI 不仅记住文字,还能记住图片、视频和音频。本教程带你从零配置 Mnemosyne 多模态记忆——把一张截图、一段录音、一个视频变成 AI 可以检索的长期记忆,数据始终留在你的设备上。


为什么"只记文字"的AI记忆不够用?

大多数 AI 记忆方案只处理文本:你截图问 AI、给它一段会议录音,它要么答不上来,要么只能"听过就算了"。

Mnemosyne 的多模态记忆要回答的是这类问题:

  • "那张截图里是哪个深色主题配色方案?"
  • "那段视频里第几分钟提到了数据库迁移?"
  • "我上周录的那段语音里,他答应了什么?"

答案藏在项目的设计文档里:docs/rfc/0002-modality-providers.md 定义了"AI 理解媒体"的接口,docs/rfc/0003-media-moments.md 定义了"文字记到哪里"。

多模态记忆的核心设计:3个关键决策 💡

Mnemosyne 的多模态方案可以用三句话概括,这也是它和"往数据库里塞二进制文件"的方案最大的不同:

决策含义对用户的价值
只记文字,不记字节数据库里存的是媒体引用 + AI 生成的描述文字隐私友好,数据库轻量,所有索引内容你都看得懂、可修改
描述结果=普通记忆每段描述(caption、字幕、OCR)都是一条标准记忆自动继承召回、遗忘衰减、整理、同步等全部能力
默认不开启MNEMOSYNE_MEDIA_*关闭时不发任何网络请求隐私是默认值,不是可选项

核心实现在 mnemosyne/core/media.py 的remember_media()入口,它会把媒体登记为一条"资产",再生成若干条"时刻"(moment)——比如视频的某一帧画面描述、音频的某段转录文字,每条时刻都精确标注了位置(时间段、页码、图像区域等)。

快速上手:3步开启多模态记忆 ⚡

第1步:获取 Mnemosyne

git clone https://gitcode.com/gh_mirrors/mnemosyne5/mnemosyne cd mnemosyne && pip install -e .

第2步:配置理解端点

Mnemosyne 只认一种协议:OpenAI 兼容接口。所以 Atlas Cloud、OpenRouter、自建的 vLLM,甚至本地 LM Studio 都能用,换服务商只改环境变量,不改代码(完整配置说明见 docs/integrations/openai-compatible-vision.md):

export MNEMOSYNE_MODALITY_ENABLED=1 # 主开关,默认 false export MNEMOSYNE_MODALITY_BASE_URL=https://你的端点/v1 export MNEMOSYNE_MODALITY_API_KEY=你的密钥 export MNEMOSYNE_MODALITY_VISION_MODEL=你的视觉模型 # 可选:视频帧模型 / 音频转写模型 export MNEMOSYNE_MODALITY_VIDEO_MODEL=... export MNEMOSYNE_MODALITY_AUDIO_MODEL=whisper-1

⚠️新手最容易踩的坑:如果你已经运行过 Mnemosyne,config.yaml里已经写入了这些键的默认值,此时再 export 环境变量会被静默忽略。请改用mnemosyne config set命令,或执行mnemosyne config migrate一次性导入。详见官方文档。

想要完全不出网?把端点指向本地 LM Studio(http://localhost:1234/v1),图片和视频理解全程离线。

第3步:记下第一张图片

mnemosyne media ./diagram.png --title "架构图" --json

CLI 入口在 mnemosyne/cli.py。输出会告诉你资产 ID、理解状态和生成的记忆条数。

按类型实战:图片、视频、音频、文档怎么做?

类型处理方式生成的"时刻"类型额外要求
🖼️ 图片发给视觉模型描述整体描述(caption)、OCR 文字(ocr)视觉模型
🎬 视频最多抽 8 帧发给视觉模型 + 音轨转文字画面描述(shot)、字幕(transcript),带时间戳ffmpeg/ffprobe
🎙️ 音频发给转写接口(OpenAI 兼容audio/transcriptions)带时间戳的转录文本音频模型
📄 文档本地解析,不上传按页/章节/字符范围定位的文字片段PDF 需pip install 'mnemosyne-memory[media]'

几个值得记住的细节:

  • 文档永远不出机器。txt、md、docx、pptx、epub 全部本地解析(mnemosyne/core/modality_documents.py);唯一例外是无文字层的扫描版 PDF,会被当图片发给视觉模型。
  • 视频理解由 mnemosyne/core/modality_video.py 负责:抽帧 + 音轨转写,两种信息合并成带时间戳的时刻,所以"第 90 秒谁说了 X"这种问题才有依据。
  • 音频转写走 mnemosyne/core/modality_openai_audio.py,超过 25MB 的音频会在本地直接拒绝,而不是发出去被拒。
  • 每个资产最多保留 12 条时刻(MNEMOSYNE_MODALITY_MAX_MOMENTS),防止一个视频生成几百条记忆挤爆工作记忆。

4种写入方式:CLI、MCP工具、Python、Hermes

同一个remember_media能力,在不同入口都能调用:

入口用法
CLImnemosyne media <路径或URL> [--modality image] [--title T] [--hint H]
MCP 工具调用mnemosyne_remember_media,参数ref加可选的modality、title、hint
PythonBeamMemory.remember_media(ref),实现在 mnemosyne/core/beam.py
Hermes通过 Mnemosyne provider 暴露的同名工具

MCP 工具定义见 mnemosyne/tool_schemas.py。注意工具入口比 CLI 更严格:本地文件必须先在MNEMOSYNE_MEDIA_ALLOWED_PATHS白名单目录内(防符号链接越权),且默认禁止指向内网/本地回环地址的 URL——因为调用方可能是远程模型。

召回实战:怎么问出"我看到过什么"?

这是多模态记忆最爽的部分:时刻就是普通记忆,所以你不需要学新查询语法。

  • 直接问:"那个架构图里画了什么模块?"——命中的是当初生成的 caption 记忆。
  • 召回结果会附带只读的media增强字段(媒体引用、模态、时间区间),客户端可以据此深链跳转到视频的具体时间点,而召回过程绝不取回原始字节。
  • 健康检查:mnemosyne doctor会报告孤立的时刻记录;资产理解状态有 5 种——pending / ok / partial / unavailable / refused,其中unavailable(没配置模型,只登记了引用)是成功而非报错,你依然拥有一条"我引用过这个文件"的可搜索记录。

相关设计见 docs/rfc/0004-archive-boundary.md,测试覆盖在 tests/test_media_ingest.py 等文件中,可以放心跟随主线版本升级。

隐私安全清单:把心放肚子里 🛡️

  1. 默认静默:MNEMOSYNE_MODALITY_ENABLED未开启时,即使注册了后端也不会发起任何外呼(检查逻辑在 mnemosyne/core/modality_backends.py)。
  2. 无环境采集:没有文件监听、没有目录扫描,只处理你明确点名的文件。
  3. 字节不落库:两张媒体表没有 BLOB 列,数据库里只有引用和文字。
  4. 内联载荷封顶 25MB,本地路径白名单 + 私有 URL 默认拒绝。

常见问题 FAQ ❓

Q:配置了模型,状态却是unavailable?检查端点连通性和模型是否真的支持图像输入。Mnemosyne 会可选地探测/models接口,在模型是纯文本时给出警告,但探测失败不影响主流程。

Q:改了MNEMOSYNE_MODALITY_BASE_URL没生效?端点和模型名在客户端构建时只读一次,需要重启进程;其余参数即时生效。

Q:想让 AI 按我的口吻描述图片?用--hint参数或MNEMOSYNE_MODALITY_PROMPT环境变量覆盖描述提示词。

Q:能用自己的视觉客户端替换 HTTP 适配器吗?可以。协议只有一个describe()方法,set_modality_backend一行注册,详见官方文档的 "Bringing your own backend" 一节。

写在最后

Mnemosyne 的多模态记忆方案证明了"最便宜的架构往往最优雅":不新建向量表、不往数据库塞二进制、不新增召回通道——让媒体退化成文字,整个现有记忆引擎就自动全部生效。三步配置、四种类型全覆盖、数据不出本机,这就是零云端 AI 多模态记忆的完整形态。现在就跑起mnemosyne media,让 AI 开始记住你看到和听到的一切吧。

【免费下载链接】mnemosyneZero-cloud AI memory that works everywhere. SQLite-backed. One pure-Python dependency.项目地址: https://gitcode.com/gh_mirrors/mnemosyne5/mnemosyne

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询