返回

文章详情

展示HN:Mnemo – 本地优先的AI记忆层适用于任何LLM(Rust,SQLite,petgraph)

Hacker News2026年6月3日 20:32

本地优先的AI记忆层,适用于任何LLM。持久知识图谱,实体提取,语义检索 - 无需云服务。什么是mnemo?大多数LLM在对话结束的瞬间就会忘记一切。mnemo解决了这个问题。mnemo是一个边车服务,监视您提供的每一个对话,通过LLM提取命名的实体和关系,在SQLite中构建持久知识图谱,并在未来的提示中自动注入相关上下文 - 在50毫秒内完成。它与Ollama(完全本地,免费)、OpenAI、Anthropic或任何兼容OpenAI的API一起工作。它作为一个单独的静态二进制文件发布,完全不依赖云服务。如何工作您的应用 │ ▼ POST /ingest ──► 实体提取(LLM) ──► 知识图谱(SQLite + petgraph) │ POST /retrieve ◄── 评分 + 排名 ◄── 图遍历 + 全文搜索 │ ▼ context_prompt ──► 注入到您的LLM提示中 您通过/ingest POST原始文本(一个对话轮次、一个文档、一个笔记)。mnemo将其发送到您配置的LLM,并提取实体(人、工具、地点、概念)及其之间的关系。根据名称+类型去重实体,合并别名,所有内容写入SQLite。内存中的petgraph在原子操作中更新。在POST /retrieve时,mnemo运行一个六阶段流程:全文块搜索 → 实体名称搜索 → 图扩展(在知识图谱上进行BFS) → 关系过滤 → 评分 + 排名 → 组装context_prompt字符串。您将context_prompt注入到您LLM的系统提示中。完成。快速入门路径A — Docker + Ollama(完全免费,推荐) git clone https://github.com/zaydmulani09/mnemo cd mnemo docker compose up -d # 第一次拉取llama3模型(约4 GB) docker exec mnemo-ollama ollama pull llama3 # 验证一切是否正常 curl http://localhost:8080/health 路径B — 二进制(Ollama或OpenAI单独运行) cargo install --path crates/mnemo-api # 使用Ollama export MNEMO_LLM_BASE_URL=http://localhost:11434/v1 mnemo-api # 使用OpenAI export MNEMO_LLM_BASE_URL=https://api.openai.com/v1 export MNEMO_LLM_API_KEY=sk-... export MNEMO_LLM_MODEL=gpt-4o-mini export MNEMO_LLM_PROVIDER=openai mnemo-api 路径C — Python SDK pip install mnemo-sdk from mnemo import MnemoClient client = MnemoClient () # 服务器在 http://localhost:8080 # 存储一个记忆 client . ingest ( '我正在构建一个名为vecdb的Rust向量数据库' ) # 获取注入到下一个LLM提示中的上下文 print ( client . get_context ( '我在做什么?' )) API参考 所有端点都接受并返回application/json。基本URL:http://localhost:8080。 方法路径 描述 请求体 响应 GET /health 服务器 + 数据库 + LLM状态 — HealthResponse POST /ingest 存储文本,提取实体 IngestRequest IngestResponse POST /retrieve 获取排名的记忆上下文 RetrievalQuery RetrievalResult GET /entities 列出实体(分页) ?limit&offset Entity[] GET /entities/:id 通过UUID获取实体 — Entity DELETE /entities/:id 删除实体(级联) — { 'deleted': true } GET /entities/:id/neighbors 知识图谱邻居 ?depth(最大5) GraphNode[] GET /chunks 列出记忆块(分页) ?limit&offset&session_id MemoryChunk[] GET /chunks/:id 通过UUID获取块 — MemoryChunk DELETE /chunks/:id 删除块 — { 'deleted': true } POST /search 全文搜索实体 + 块 { 'query','limit' } { 'entities','chunks' } DELETE /wipe 删除所有记忆(不可逆) 头部:X-Confirm-Wipe: true { 'wiped': true } GET /stats 实体/块/图计数 + 正常运行时间 — StatsResponse 主要请求/响应类型:完整端点文档和curl示例:docs/api.md 配置 环境变量 变量 默认值 描述 MNEMO_DB_PATH mnemo.db SQLite数据库文件路径 MNEMO_PORT 8080 API服务器端口 MNEMO_LLM_BASE_URL http://localhost:11434/v1 OpenAI兼容的LLM基本URL MNEMO_LLM_MODEL llama3 实体提取模型名称 MNEMO_LLM_API_KEY ollama API密钥(任何值对Ollama有效) MNEMO_LLM_PROVIDER ollama 提供者类型:ollama,openai,anthropic,custom TOML配置文件 传递 --config path/to/config.toml给mnemo-api。请参见mnemo.example.toml: db_path = 'mnemo.db' port = 8080 [llm] provider = 'ollama' base_url = 'http://localhost:11434/v1' model = 'llama3' api_key = 'ollama' timeout_secs = 30 max_retries = 3 max_tokens = 2048 temperature = 0.1 环境变量优先于TOML值。活动配置源在GET /health中报告 → config_source。 CLI 安装:cargo install --path crates/mnemo-cli 用法: # 存储一个记忆 mnemo ingest '我使用Neovim并偏爱黑暗模式' # 获取相关上下文 mnemo search '我使用什么编辑器?' # 列出所有提取的实体 mnemo entities # 显示实体详细信息 + 图邻居 mnemo entity < uuid > --neighbors # 列出记忆块 mnemo chunks # 服务器健康 mnemo health # 记忆统计 mnemo stats # 删除所有内容(提示确认) mnemo wipe # 跳过确认提示 mnemo wipe --yes # 指向非默认服务器 mnemo --server http://192.168.1.10:80

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡