MemGPT Sample

MemGPT Sample

site icon
2025.03.27 0
Java聊天机器人长期记忆管理上下文管理开发效率交流协作
MemGPT Sample项目是一个概念验证实现,展示了如何将MemGPT研究论文中的概念简化为一个代理,并可以集成为一个简单的REST服务或MCP服务器。该项目使用Spring Boot和Spring AI实现,包含核心代理功能、RESTful服务、MCP服务器以及一个简单的命令行聊天应用程序。
View on GitHub

Overview

基本能力

产品定位

MemGPT Sample项目旨在实现和展示MemGPT概念,作为一个代理,可以用于聊天应用程序和服务集成。

核心功能

  • 实现MemGPT代理的核心功能,包括系统提示、工具、核心内存、归档内存和消息持久化。
  • 提供消息编译、LLM通信、工具调用、内存管理(包括上下文窗口自编辑)、消息检索和归档、消息摘要等功能。
  • 通过AgentManager、AgentLoader和Agent接口暴露核心代理功能。

适用场景

  • 作为聊天机器人的后端服务。
  • 用于需要长期记忆和上下文管理的对话系统。
  • 作为MCP或REST服务的集成示例。

工具列表

  • core-agent: 定义和实现MemGPT接口,包括配置API。
  • restful-agent-app: 通过REST接口暴露代理功能。
  • memgpt-mcp-server: 通过MCP服务器暴露代理功能。
  • simple-chat-bot-app: 命令行聊天应用程序,通过REST或MCP接口与代理通信。

常见问题解答

  • 需要Java 17或更高版本、Gradle和OpenAI API密钥。
  • 归档内存需要向量存储和嵌入模型,默认禁用,可通过启用pgvector Spring配置文件激活。

使用教程

使用依赖

  1. 安装Java 17或更高版本。
  2. 安装Gradle。
  3. 获取OpenAI API密钥。

安装教程

  1. 设置OpenAPI密钥环境变量:
export OPENAI_API_KEY=your-api-key
  1. 构建应用程序:
./gradlew :restful-agent-app:build

./gradlew :memgpt-mcp-server:build
  1. 运行服务器应用程序:
java -jar ./restful-agent-app/build/libs/restful-agent-app-0.0.1-SNAPSHOT.jar

java -jar ./memgpt-mcp-server/build/libs/memgpt-mcp-server-0.0.1-SNAPSHOT.jar

调试方式

  1. 运行ChatBot应用程序:
java -jar ./simple-chat-bot-app/build/libs/simple-chat-bot-app-0.0.1-SNAPSHOT.jar
  1. 输入用户ID以开始聊天会话。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。