轻量级代理服务框架

AgentCore Lite是一个教学项目,展示了如何构建一个轻量级代理服务,结合了MCP风格上下文管理、LLM驱动的规划和异步工具集,并通过FastAPI接口提供服务。

  • by vuppulaBhanuprakash
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 vuppulaBhanuprakash/agentcore-lite

使用说明

AgentCore Lite(轻量级版)

AgentCore Lite是一个教学项目,旨在深入解析轻量级代理服务背后的核心构建模块。它展示了如何在一个FastAPI接口下,结合一个受MCP启发的上下文管理器、一个由大型语言模型(LLM)驱动的规划器,以及一系列小型异步技能工具包。

你将学到什么

  • 基于模型上下文协议(MCP)的内存 – MCPContext 展示了如何持久化聊天历史、展示技能追踪以及重置会话状态。
  • 大语言模型(LLM)意图规划 – get_intents_from_llm 打包对话上下文,调用DeepSeek Chat API,并安全解析其JSON计划。
  • 工具编排 – 规划者启动多项技能(行程规划、提醒、信息查询等)并同时运行它们 asyncio.gather。
  • FastAPI 微服务设置 – src/app.py 暴露HTTP端点,将用户输入连接到规划器,并返回结构化响应。

技术栈与依赖项

  • fastapi – 提供规划器作为网络服务的HTTP API框架。
  • uvicorn[standard] – 用于启动FastAPI应用程序的ASGI服务器。
  • httpx 用于调用DeepSeek大语言模型API的异步HTTP客户端。
  • python-dotenv – 加载环境变量(例如。, DEEPSEEK_API_KEY来自当地 .env 文件。

仓库中的其他所有内容都依赖于 Python 的标准库。

项目结构

agentcore-lite/
├── src/
│   ├── app.py               # FastAPI entrypoint
│   ├── agents/
│   │   ├── planner.py       # Intent planner that coordinates skills
│   │   └── skills/          # Individual async tools (plan_trip, set_reminder, etc.)
│   ├── mcp/
│   │   └── protocol.py      # Minimal MCP-style context manager
│   └── services/
│       └── llm_orchestrator.py  # DeepSeek integration and intent parsing
├── requirements.txt
└── README.md

先决条件

  • Python 3.10及以上版本
  • 一个DeepSeek API密钥(设置 DEEPSEEK_API_KEY 在您的环境中,或者 .env)

安装

git clone https://github.com/yourname/agentcore-lite.git
cd agentcore-lite
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -r requirements.txt

创建一个 .env 在项目根目录中创建文件(或通过其他方式导出变量):

DEEPSEEK_API_KEY=your-api-key-here

运行服务

从项目根目录:

uvicorn src.app:app --reload

FastAPI 将启动于 http://127.0.0.1:8000有用的端点:

  • GET / – 快速健康检查。
  • POST /ask – 发送 { "message": "Plan my weekend trip" } 运行规划器。
  • GET /context – 检查由(系统/助手等)管理的存储对话和技能追踪 MCPContext。

扩展项目

  • 通过创建一个模块来添加新工具 src/agents/skills 使用异步(功能/方法) run 功能并更新 SUPPORTED_SKILLS 地图。
  • 通过调整系统提示来教授新的意图模式 llm_orchestrator.py。
  • 通过交换在会话之间持久化上下文 MCPContext 用于数据库支持的版本。