项目简介
AGI记忆系统是一个为通用人工智能(AGI)应用设计的先进记忆管理后端。它模仿人类认知架构,实现了多种记忆存储和检索机制,包括工作记忆、情景记忆、语义记忆、程序记忆和策略记忆。该系统还支持向量嵌入、图关系、动态重要性评分、记忆衰退模拟、记忆聚类以及世界观与身份整合等高级功能,旨在为AGI提供强大、可扩展的上下文服务。
主要功能点
- 多类型记忆管理: 存储和管理情景、语义、程序和策略等多种记忆,并支持短期工作记忆。
- 向量与图数据库: 利用Pgvector进行高效的相似度搜索,并使用Apache AGE构建复杂的记忆网络,实现多跳关系遍历和模式检测。
- 动态记忆机制: 根据访问频率和时间动态计算记忆的重要性,并模拟记忆衰退过程。
- 记忆聚类与世界观: 自动对相关记忆进行主题分组,并整合AGI的信仰系统(世界观)和自我概念(身份核心)来过滤和调整记忆的重要性。
- MCP工具暴露: 通过Model Context Protocol (MCP) 标准,以工具的形式向大型语言模型(LLM)客户端提供记忆的创建、检索、搜索、聚类操作以及系统自省能力。
安装步骤
- 克隆仓库: 使用Git命令克隆本仓库到您的本地机器。
- 配置环境变量: 将 '.env.local' 文件复制为 '.env',并根据您的实际情况修改以下数据库连接信息:
对于MCP服务器,还需要配置数据库主机和端口:POSTGRES_DB=agi_db # 数据库名称 POSTGRES_USER=agi_user # 数据库用户 POSTGRES_PASSWORD=agi_password # 数据库密码POSTGRES_HOST=localhost # 数据库主机地址 POSTGRES_PORT=5432 # 数据库端口 - 启动数据库: 使用Docker Compose启动包含所有必需扩展(pgvector, AGE等)的PostgreSQL数据库实例,并自动初始化数据库模式和表格。
这会启动PostgreSQL,并创建必要的表、函数和触发器。docker compose up -d
服务器配置 (用于MCP客户端)
这是一个MCP服务器,旨在为MCP客户端提供上下文和工具。MCP客户端需要配置服务器的启动命令才能连接。以下是配置示例(JSON格式,不包含代码):
{ "server_name": "AGI Memory Server", "command": "node", "args": [ "path/to/your/mcp_server.js", "--port", "8080", "--db_host", "localhost", "--db_port", "5432", "--db_name", "agi_db", "--db_user", "agi_user", "--db_password", "agi_password" ], "description": "提供AGI记忆管理能力,包括记忆存储、检索、聚类、世界观和身份核心等。", "tools": [ "create_memory", "get_memory", "search_memories_similarity", "search_memories_text", "get_memory_clusters", "activate_cluster", "create_memory_cluster", "get_identity_core", "get_worldview", "get_memory_health", "get_active_themes" ], "resources": [] }
说明:
- 'server_name': MCP服务器的显示名称。
- 'command': 启动MCP服务器的可执行命令,例如 'node' (如果服务器是Node.js应用) 或 'python' (如果是Python应用)。
- 'args': 传递给 'command' 的参数列表。请将 'path/to/your/mcp_server.js' 替换为实际的MCP服务器主文件路径。'--port' 指定服务器监听的端口,'--db_host'、'--db_port'、'--db_name'、'--db_user'、'--db_password' 等参数用于数据库连接。
- 'description': 服务器功能的简要描述。
- 'tools': 服务器暴露给LLM客户端调用的工具列表,这些工具对应于项目提供的记忆操作和系统自省功能。
- 'resources': 如果服务器还提供了可直接访问的数据资源,会在此处列出(当前仓库信息中未明确提供,故留空)。
基本使用方法
一旦MCP服务器启动并与您的MCP客户端连接,您就可以通过MCP客户端(通常是LLM代理)调用其暴露的工具。
- 创建记忆: 调用 'create_memory' 工具来存储新的信息。LLM可以根据需要生成包含记忆类型、内容、嵌入向量、重要性及元数据的请求。
- 搜索记忆: 使用 'search_memories_similarity' 工具进行向量相似度搜索,或使用 'search_memories_text' 工具进行全文搜索,以检索相关记忆。
- 获取系统状态: 调用 'get_memory_health' 或 'get_identity_core' 等工具来获取AGI记忆系统的运行状况、身份模型和世界观等信息,帮助LLM更好地理解其自身上下文和当前状态。
信息
分类
AI与计算