
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2664
使用教程
环境要求
- Python 版本需 <= 3.11.9
- 已安装 pip
- 使用本地模型时需自行安装 Ollama 并下载模型(如 Llama 3 8B/40B、LLaVA)
- 准备 OpenAI、Perplexity、Google Maps、Alpha Vantage 等 API Key(部分为可选)
- 一个图数据库凭证:FalkorDB 或 Neo4j 二选一
安装与启动步骤
-
1确认 Python 版本
Memary 要求 Python 版本不高于 3.11.9,先确认当前版本是否符合,不符合需先切换环境。
python --version -
2用 pip 安装 memary
官方推荐的最简安装方式,直接安装 memary 包,无需克隆仓库。
pip install memary -
3本地安装依赖
选择本地运行方式时,先创建指定 Python 版本的虚拟环境,再安装 requirements.txt 中的依赖。
pip install -r requirements.txt -
4创建 .env 凭证文件
在项目根目录确保存在 .env,填入模型与数据库所需凭证;图数据库填 FalkorDB 或 Neo4j 其中一组即可。
-
5获取各平台 API Key
按 README 给出的入口分别申请:OpenAI、FalkorDB 或 Neo4j、Perplexity、Google Maps、Alpha Vantage。
-
6编辑用户画像
把 streamlit_app/data/user_persona.txt 按同目录下 user_persona_template.txt 的说明,把花括号替换成真实信息。
-
7启动 Streamlit 应用
进入 streamlit_app 目录后启动应用;系统画像 system_persona.txt 需要时也可一并修改。
cd streamlit_app streamlit run app.py -
8代码中调用 ChatAgent
在自己的项目中导入 ChatAgent,传入画像、历史对话与记忆流等 JSON 路径,即可为 Agent 加上记忆层。
from memary.agent.chat_agent import ChatAgent system_persona_txt = "data/system_persona.txt" user_persona_txt = "data/user_persona.txt" past_chat_json = "data/past_chat.json" memory_stream_json = "data/memory_stream.json" entity_knowledge_store_json = "data/entity_knowledge_store.json" chat_agent = ChatAgent( "Personal Agent", memory_stream_json, entity_knowledge_store_json, system_persona_txt, user_persona_txt, past_chat_json, )
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_API_KEY | 是 | OpenAI 接口密钥,用于调用 GPT 系列模型 | sk-xxxxxxxxxxxxxxxx |
NEO4J_URL | 否 | Neo4j 图数据库连接地址,与 NEO4J_PW 搭配使用 | neo4j+s://xxxx.databases.neo4j.io |
NEO4J_PW | 否 | Neo4j 图数据库密码 | YOUR_NEO4J_PW |
FALKORDB_URL | 否 | FalkorDB 连接串,代替 Neo4j 方案使用 | falkor://username:password@falkor_host_url:port |
PERPLEXITY_API_KEY | 否 | Perplexity 搜索接口密钥 | pplx-xxxxxxxx |
GOOGLEMAPS_API_KEY | 否 | Google Maps 接口密钥,用于定位类工具 | AIzaSyxxxxxxxx |
如何确认成功
执行 streamlit run app.py 后终端会输出访问地址,浏览器打开该地址能看到 Memary 的聊天界面即启动成功。
常见问题
Q:必须使用 OpenAI 吗?
A:不必须。Memary 支持 Ollama 本地模型(推荐 Llama 3 8B/40B、LLaVA),也支持 gpt-3.5-turbo 和 gpt-4-vision-preview;默认优先使用本地模型。
Q:Python 版本有什么限制?
A:README 明确要求运行 Python 版本 <= 3.11.9,版本过高可能无法安装或运行。
Q:图数据库该选 FalkorDB 还是 Neo4j?
A:两者任选其一。在 .env 中填写 FALKORDB_URL,或填写 NEO4J_URL 与 NEO4J_PW 即可。
Q:怎么在不写代码的情况下体验?
A:进入 streamlit_app 目录执行 streamlit run app.py,即可通过网页界面与带记忆的 Agent 对话。
Q:如何切换记忆对应的不同 Agent?
A:使用 FalkorDB 的用户可以生成多个 graph 并按 ID 切换,对应不同 Agent 的记忆与知识上下文。
注意事项
- Memary 默认使用本地 Ollama 模型,除非显式指定使用 OpenAI 模型。
- 使用 Ollama 属于可选项,需要按 Ollama 官方仓库说明自行安装并拉取模型。
- user_persona.txt 需按 user_persona_template.txt 的格式,把花括号内容替换为实际信息。
- README 中未给出固定端口与具体启动参数,实际访问地址以 streamlit 启动后终端输出为准。
核心亮点
- 模拟人类记忆的认知架构,区分短期/长期记忆,机制新颖
- 集成图数据库(Neo4j),支持知识图谱式关联记忆,检索更智能
- 提供记忆衰减和强化机制,模拟遗忘曲线,更贴近真实使用
不足之处
- 项目仍处于早期,文档和社区生态待完善
- 对图数据库的依赖可能增加部署和运维成本
适用场景
- 构建需要长期用户画像的聊天机器人
- 为多轮任务型 Agent 提供上下文连续性
- 开发个性化推荐系统,基于历史交互记忆
替代项目
MemGPT、LangChain Memory、Zep
上一篇:EvoAgentX
下一篇:llm-for-zotero
同类项目推荐
dao-code
开源
在终端用 DeepSeek 写代码,跨会话记忆几乎零成本
Open-source TypeScript terminal coding agent for DeepSeek-V4 — builds on DeepSeek's···
hermes-rs
开源
用 Rust 重写 AI 智能体核心循环,让工具调用快如闪电。
A fast, self-contained AI agent runtime
CodeWhale
开源
用 Rust 打造高性能、可观测的 AI 智能体编排框架
Open-source agent for the terminal written in Rust. Use any provider or model. Issue···
autobrowse
开源
说句话,AI 自动帮你上网办事,省去手动点击。
AutoBrowse is an autonomous AI agent that can perform web browsing tasks.
accessibility-agents
开源
让 AI 写代码时顺手把无障碍做对,少返工
WCAG 2.2 AA accessibility review for AI coding tools: Agent Skills, an edit gate and···
creative-director-skill
开源
把戛纳评委装进 AI,用 571 个获奖案例帮你产出顶级创意。
World-class creative director in a skill. Methodology-driven ideation (SIT, TRIZ, La···
phoenix
开源
给 Hermes 智能体装上不死鸟,任务中断自动复活,风险操作自动拦截。
不死鸟 Phoenix — Hermes Agent 插件:路由分档/风险防线/自愈/存档点提醒/审批策略自适应···
chat-ollama
开源
本地模型也能跑智能体,开箱即用对话界面
ChatOllama is an open source agentic app for running AI agents across local and host···
hermes-skill-atlas
开源
一张地图,快速找到 Hermes Agent 的 70+ 精选技能
The complete, interactive map of Hermes Agent skills — 70+ curated, verified, open ···