3.5 KiB
3.5 KiB
MemoryBear
项目简介
MemoryBear 是一个面向智能体的记忆系统与知识管理服务。它支持从对话与文档中萃取结构化知识、生成嵌入向量、构建图谱,提供关键词与语义的混合搜索,并内置遗忘机制与自我反思流程,以维持长期记忆的有效性与可用性。
核心特性
- 知识萃取:陈述句、三元组、时间信息与摘要生成
- 图谱存储:对接 Neo4j 管理实体与关系
- 混合搜索:关键词检索 + 语义向量检索
- 遗忘机制:按记忆强度与时效做逐步衰减
- 自我反思:定期回顾并优化已有记忆
- FastAPI 服务:统一暴露管理端与服务端 API
架构总览
- 萃取引擎(Extraction Engine):预处理、去重、结构化提取
- 遗忘引擎(Forgetting Engine):记忆强度模型与衰减策略
- 自我反思引擎(Reflection Engine):评价与重写记忆
- 检索服务:关键词、语义与混合检索
- Agent 与 MCP:提供多工具协作的智能体能力
快速开始
环境要求
- Python 3.12
- PostgreSQL 13+
- Neo4j 4.4+
- Redis 6.0+
安装依赖
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# 方式一:基于 pyproject 安装
pip install .
# 方式二:使用 requirements.txt
pip install -r requirements.txt
配置环境变量
创建 .env 文件(示例):
# Postgres
DB_HOST=127.0.0.1
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=your-password
DB_NAME=redbear-mem
DB_AUTO_UPGRADE=false
# Neo4j
NEO4J_URI=bolt://localhost:7687
NEO4J_USERNAME=neo4j
NEO4J_PASSWORD=your-password
# Redis
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_DB=1
# LLM / API Keys(按需)
OPENAI_API_KEY=your-openai-key
DASHSCOPE_API_KEY=your-dashscope-key
# 其他
WEB_URL=http://localhost:3000
LOG_LEVEL=INFO
初始化与启动
# 如需自动迁移数据库:设置 DB_AUTO_UPGRADE=true 或手动执行
alembic upgrade head
# 启动开发服务
uvicorn app.main:app --reload --port 8000
# 打开交互文档
# http://localhost:8000/docs
项目结构
app/
├── main.py # FastAPI 入口
├── controllers/ # 控制器与路由
├── core/ # 核心:配置、异常、日志等
│ └── memory/ # 记忆模块
│ ├── storage_services/ # 萃取/遗忘/反思/检索
│ ├── agent/ # Agent + MCP 服务
│ ├── utils/ # 工具与提示词
│ └── models/ # 领域模型
└── rag/ # RAG 能力与文档解析
logs/ # 日志与输出
LICENSE # 许可协议(Apache-2.0)
README.md # 项目说明
API 与路由
- 管理端:
/api(JWT 认证) - 服务端:
/v1(API Key 认证) - 根路由健康检查:
GET /返回运行状态 - Swagger 文档:
/docs
部署建议
- 使用
gunicorn+uvicorn.workers.UvicornWorker作为生产入口 - 配置
LOG_LEVEL=WARNING并启用文件日志 - 数据库与缓存请使用托管服务或独立实例
示例:
gunicorn app.main:app -w 4 -k uvicorn.workers.UvicornWorker
许可证
本项目采用 Apache License 2.0 开源协议,详情见 LICENSE。
致谢与交流
- 问题反馈与讨论:请提交 Issue 到代码仓库
- 欢迎贡献:提交 PR 前请先创建功能分支并遵循常规提交信息格式