本项目是一个概念验证实现,对 MemGPT 研究论文中的概念进行了简化和缩略实现。它以代理形式呈现,展示了如何将其集成为简单的 REST 服务,或是作为 MCP 服务器使用。
此项目借助 Spring Boot 和 Spring AI 实现了 MemGPT 的概念,并通过简单的 REST 接口和 MCP 服务器来对外提供其功能。此外,项目还包含一个基于命令行的 ChatBot 应用程序,可将其与 REST 或 MCP 接口集成。
核心代理是包含 MemGPT 接口和实现的组件,负责维护代理的配置和状态,涵盖内容如下:
它还承担核心代理功能,包括但不限于:
从外部来看,代理通过以下三个主要接口暴露其功能:
简单聊天机器人应用程序与 restful - agent - app 或 memgpt - mcp - server 通信。您需要选择聊天机器人应用程序使用的服务器应用程序,配置并运行该应用程序。然后将 ChatBot 应用程序配置为使用所选的服务器应用程序,并运行它。
无论是 MCP 服务器还是 REST 服务器,都负责处理上下文窗口和代理逻辑。以下是两种主要实现:
ModelContextProtocol
接口/api/v1/chat/completions
端点./gradlew :memgpt - mcp - server:run
- 启动后,默认在 `http://localhost:8080` 上运行,可通过配置文件修改端口和其他设置。
ChatMessageStore
和 ChatContext
./gradlew :restful - agent - app:run
- 启动后,默认在 `http://localhost:9090` 上运行,提供 REST 接口用于代理管理。
./gradlew :simple - chat - bot - app:build
java - jar ./simple - chat - bot - app/build/libs/simple - chat - bot - app - 0.0.1 - SNAPSHOT.jar
通过以上步骤,您可以轻松运行 MemGPT 示例项目,并体验其功能和集成方式。