用MCP构建Agent内存:超越快速工程
该项目演示了如何使用模型上下文协议(MCP)模式为AI代理实现持久内存,超越简单的提示工程,创建真正有状态和上下文感知的AI交互。它具有一个用于管理会话内存的FastAPI服务器和一个用于演示的Python客户端。
特性
服务器提供了一组强大的API端点,用于管理和分析代理内存:
/memory/store(职位):将给定会话的新消息存储在代理的内存中。/memory/recall/{session_id}(获取):检索特定会话的最新消息。/memory/sessions(获取):列出所有唯一的对话会话ID。/memory/analytics/{session_id}(获取):为会话提供全面的分析,包括消息计数、持续时间和响应率。/memory/extract/{session_id}(获取):提取包含所有消息详细信息的完整会话上下文,以实现完全透明。/memory/relevancy/{session_id}(获取):显示消息相关性评分逻辑,显示消息如何根据上下文重要性进行排名。/memory/context_details/{session_id}(获取):检索详细的上下文信息以进行调试,显示有关每条消息的元数据,但不显示完整内容。/memory/trends/{session_id}(获取):显示会话上下文使用随时间变化的趋势,显示对话活动模式。/workshop/status(获取):返回增强的服务器状态和内存统计信息。/(获取):提供全面的研讨会元数据和API文档。
项目结构
.
├── workshop_server.py
├── demo_script.py
├── requirements.txtworkshop_server.py:处理内存存储、检索和分析的主要FastAPI应用程序。demo_script.py:一个Python客户端脚本,用于与workshop_server.py并展示其特点。requirements.txt:列出运行项目所需的所有Python依赖项。
使用的技术
- 快速 API:一个现代、快速(高性能)的web框架,用于使用Python 3.8+构建API。
- 派丹蒂克:使用Python类型提示进行数据验证和设置管理。
- 乌维科恩:用于运行FastAPI应用程序的ASGI服务器。
- 数据库:一种用于持久内存存储的轻量级、基于文件的关系数据库。
- 意图tp:演示脚本中使用的Python异步HTTP客户端/服务器框架。
入门指南
按照以下步骤在本地设置和运行项目。
先决条件
- Python 3.8或更高版本
安装
- 克隆存储库 (如果你还没有,或者创建一个新的):
git clone https://github.com/your-username/mcp-memory-workshop.git
cd mcp-memory-workshop(替换 your-username/mcp-memory-workshop 推送后,使用您的实际GitHub存储库路径。)
- 创建虚拟环境 (推荐):
python -m venv venv- 激活虚拟环境:
- 在macOS/Linux上:
source venv/bin/activate- 在Windows上:
.\venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt运行服务器
- 启动FastAPI服务器:
确保您的虚拟环境已激活。
python workshop_server.py服务器通常会启动 http://localhost:8081。您可以访问API文档,网址为 http://localhost:8081/docs。保持这个终端打开。
运行演示
- 确保服务器正在运行 在单独的终端中。
- 打开一个新终端 并激活虚拟环境。
- 运行演示脚本:
python workshopdemo.py此脚本将与正在运行的服务器交互,存储示例对话,并演示所有内存调用和分析功能。
