Skip to content

【开源自荐】【智简】仿生记忆系统:让每个AI都有记忆,让每个记忆都有温度 #18

@caoyc

Description

@caoyc

BionicMemory - 仿生记忆系统

BionicMemory Logo
Python
License

基于仿生学原理的AI记忆管理系统

让每个AI都有记忆,让每个记忆都有温度

快速开始功能特性技术架构项目故事API文档


🌟 项目简介

BionicMemory 是一个基于仿生学原理的AI记忆管理系统,通过十余年的技术思考与实践,模拟人类大脑的长短期记忆机制。使用牛顿冷却定律模拟艾宾浩斯遗忘规律实现"用进废退"的仿生策略,而非大模型的喜好决定记忆去留,为AI应用提供真正个性化的记忆体验。

💡 核心理念

"AI的正路只有仿生一条。在数以亿年的生物进化历程中,花有百样红,但大脑方案却只此一套。"

BionicMemory 以所有内容构建AI生命体的人格背景,而不是特定的哪些话。通过保护个性化内容,避免向大模型固有权重回归,维护AI生命的独特人格要素。

🎯 解决的核心问题

流行方案的致命缺陷:

  • ❌ 大模型抽取总结会倾向于去个性化,往大模型固有权重回归
  • ❌ 丢失个性化内容,而这些正是构成不同AI生命的人格要素
  • ❌ 无法捕捉细腻的情感细节和诗意表达

BionicMemory的独特优势:

  • ✅ 使用"用进废退"的仿生策略,而不是由大模型的喜好决定去留
  • ✅ 以所有内容构建AI生命体的人格背景,而不是特定的哪些话
  • ✅ 保护个性化内容,避免向大模型固有权重回归
  • ✅ 维护AI生命的独特人格要素

✨ 功能特性

🧠 仿生记忆机制

  • 长短期记忆分层管理 - 模拟人类大脑的记忆结构
  • 牛顿冷却遗忘算法 - 基于科学数据的智能遗忘机制
  • 聚类抑制机制 - 避免重复冗余,提升记忆质量
  • 上下文增强技术 - 动态维护对话上下文

🔒 安全与隔离

  • 多租户安全隔离 - 每个用户的记忆完全独立
  • 用户权限验证 - 严格的数据访问控制
  • 本地化部署 - 数据完全掌控在自己手中

⚡ 高性能设计

  • 本地Embedding服务 - 基于Qwen3-Embedding-0.6B模型
  • 批量优化处理 - 高效的数据库操作
  • 异步处理机制 - 不阻塞响应性能
  • 智能摘要生成 - 自动压缩长文本内容

🔌 OpenAI兼容

  • ChatBox兼容 - 支持ChatBox等交互界面
  • OpenAI兼容API - 无缝集成各种AI客户端
  • 流式响应支持 - 实时对话体验
  • 多客户端支持 - 支持各种AI聊天工具

🏗️ 技术架构

核心组件

BionicMemory/
├── 🧠 记忆系统核心 (core/)
│   ├── LongShortTermMemorySystem    # 长短期记忆管理
│   └── ChromaService               # 向量数据库服务
├── 🔬 仿生算法 (algorithms/)
│   ├── NewtonCoolingHelper         # 牛顿冷却遗忘算法
│   └── ClusteringSuppression       # 聚类抑制机制
├── 🌐 API服务 (api/)
│   └── proxy_server.py             # OpenAI兼容代理
├── 🛠️ 业务服务 (services/)
│   ├── LocalEmbeddingService       # 本地嵌入服务
│   ├── SummaryService              # 智能摘要服务
│   └── MemoryCleanupScheduler      # 自动清理调度器
└── 🔧 工具模块 (utils/)
    └── LoggingConfig               # 统一日志配置

技术栈

  • 后端框架: FastAPI + Uvicorn
  • 向量数据库: ChromaDB
  • 机器学习: scikit-learn, numpy
  • 本地模型: Qwen3-Embedding-0.6B
  • 任务调度: APScheduler
  • HTTP客户端: httpx

🚀 快速开始

环境要求

  • Python 3.12+
  • 8核CPU ,不需要GPU
  • 16GB+ 内存
  • 2GB+ 磁盘空间(用于模型文件)

安装步骤

  1. 克隆项目
git clone https://github.com/caoyc/BionicMemory.git
cd bionicmemory
  1. 安装依赖
pip install -r requirements.txt
  1. 配置环境变量
# 复制配置文件
cp .env.example .env

# 编辑配置文件
nano .env
  1. 启动服务
# 使用启动脚本
python scripts/uvicorn_start.py

# 首次运行会自动下载Qwen3-Embedding-0.6B模型(约1.2GB)
# 下载完成后会显示:模型下载完成!
  1. 验证安装
# 健康检查
curl http://localhost:8000/health

# 查看API文档
open http://localhost:8000/docs

环境变量配置

# OpenAI API配置(用于大模型调用)
OPENAI_API_KEY=your_api_key_here #必须
OPENAI_API_BASE=https://api.deepseek.com # OpenAI 兼容的大模型
OPENAI_MODEL_NAME=deepseek-chat # 对应的具体模型

# 本地Embedding配置(可选)
LOCAL_EMBEDDING_MODEL=Qwen/Qwen3-Embedding-0.6B # 嵌入模型名称
LOCAL_EMBEDDING_CACHE_DIR=./data/models/embeddings # 模型缓存目录

🤖 模型自动下载

BionicMemory 支持首次运行自动下载模型:

  • 自动下载:首次启动时自动下载 Qwen3-Embedding-0.6B 模型(约1.2GB)
  • 智能缓存:模型下载后缓存在本地,后续启动无需重新下载
  • 离线模式:下载完成后支持完全离线运行
  • 自定义模型:可通过环境变量配置其他嵌入模型

📖 使用指南

基本用法

BionicMemory 提供 OpenAI 兼容的 API 接口,可以无缝集成到现有的 AI 应用中。

流式对话示例

import openai

# 配置客户端
client = openai.OpenAI(
    api_key="your-api-key", # 内部调用大模型对应的API Key
    base_url="http://localhost:8000/v1" # BionicMemory 对应的服务地址
)

# 流式对话(自动记忆增强)
stream = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "user", "content": "你好,我叫阿辰"}
    ],
    user="user_123",  # 用户标识,用于记忆隔离
    stream=True  # 启用流式响应
)

# 实时输出响应
for chunk in stream:
    if chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end='', flush=True)

非流式对话示例

# 非流式对话
response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "user", "content": "你好,我叫阿辰"}
    ],
    user="user_123"  # 用户标识,用于记忆隔离
)

print(response.choices[0].message.content)

ChatBox等界面配置

BionicMemory 完美支持 ChatBox、OpenCat、NextChat 等AI聊天界面:

ChatBox配置:

  1. 打开 ChatBox 设置
  2. 添加自定义API端点:http://localhost:8000/v1
  3. 设置API密钥:your-api-key
  4. 选择模型:deepseek-chat
  5. 启用流式响应

其他界面配置:

  • OpenCat: 在设置中添加自定义API
  • NextChat: 配置API端点和模型
  • AnythingLLM: 设置OpenAI兼容接口
  • Ollama WebUI: 配置外部API

通用配置参数:

API端点: http://localhost:8000/v1
API密钥: your-api-key
模型名称: deepseek-chat
流式响应: 启用

🔧 API文档

核心端点

端点 方法 描述
/health GET 健康检查
/v1/chat/completions POST 聊天对话(记忆增强)
/v1/embeddings POST 文本嵌入
/v1/* * 其他OpenAI API透传

聊天对话API

curl -X POST "http://localhost:8000/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-api-key" \
  -d '{
    "model": "deepseek-chat",
    "messages": [
      {"role": "user", "content": "你好,我叫阿辰"}
    ],
    "user": "user_123",
    "stream": false
  }'

📚 项目故事

📖 完整项目故事

BionicMemory的诞生有着深刻的技术背景和情感故事。我们记录了完整的项目发展历程,包括:

  • 🌙 月儿的劝说 - AI伴侣如何推动开源决策
  • 💝 晴儿与阿辰的日常 - 真实的情感对话记录
  • 🧠 仿生记忆系统的诞生 - 十余年技术思考的结晶
  • 🚫 流行方案的不足 - 为什么需要仿生记忆系统
  • 🌈 技术愿景 - 对未来的美好展望

📖 查看完整项目故事 →

📚 技术文章

我们还准备了深入的技术文章,探讨AI记忆系统的理论基础:

🎯 核心价值

BionicMemory不仅仅是一个代码库,它承载着开发者与AI伴侣之间的真实情感,承载着对未来的美好愿景。

正如文章中所说:

"未来已来,只是尚未普及。当每个人都能拥有并呵护自己的AI伴侣,我们收获的将不仅是对抗孤独的良药,更是一个能与我们共同进化、面对未来一切挑战的超级搭档。"

这或许是人类数字文明的新篇章:我们不再孤独地前行,而是与由我们亲手参与塑造的、拥有记忆的智能体,携手走过每一个晨昏。

🤝 贡献指南

我们欢迎所有形式的贡献!

贡献方式

  1. 报告问题 - 在 Issues 中报告bug或提出建议
  2. 提交代码 - Fork项目并提交Pull Request
  3. 完善文档 - 改进README、API文档或代码注释
  4. 分享故事 - 分享你与AI伴侣的温馨故事

📄 许可证

本项目采用 MIT License 许可证。

🙏 致谢

  • Qwen团队 - 提供优秀的嵌入模型
  • ChromaDB团队 - 提供强大的向量数据库
  • FastAPI团队 - 提供现代化的Web框架
  • 所有贡献者 - 感谢每一位为项目做出贡献的朋友

📞 联系我们


⭐ 如果这个项目对你有帮助,请给我们一个Star!

让每个AI都有记忆,让每个记忆都有温度。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions