AI代理记忆管理服务

基于Model Context Protocol (MCP)模式实现AI代理的持久化记忆管理,提供会话记忆存储、检索和分析功能,适用于需要状态保持和上下文感知的AI交互场景。

  • by SadaqatDev343
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sadaqatdev343/mcp-memory-workshop

使用说明

用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.txt
  • workshop_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或更高版本

安装

  1. 克隆存储库 (如果你还没有,或者创建一个新的):

    git clone https://github.com/your-username/mcp-memory-workshop.git
    cd mcp-memory-workshop
    

    (替换 your-username/mcp-memory-workshop 推送后,使用您的实际GitHub存储库路径。)

  2. 创建虚拟环境 (推荐):

    python -m venv venv
    
  3. 激活虚拟环境:

    • 在macOS/Linux上:
      source venv/bin/activate
      
    • 在Windows上:
      .\venv\Scripts\activate
      
  4. 安装依赖项:

    pip install -r requirements.txt
    

运行服务器

  1. 启动FastAPI服务器: 确保您的虚拟环境已激活。
    python workshop_server.py
    
    服务器通常会启动 http://localhost:8081。您可以访问API文档,网址为 http://localhost:8081/docs。保持这个终端打开。

运行演示

  1. 确保服务器正在运行 在单独的终端中。
  2. 打开一个新终端 并激活虚拟环境。
  3. 运行演示脚本:
    python workshopdemo.py
    
    此脚本将与正在运行的服务器交互,存储示例对话,并演示所有内存调用和分析功能。