配备OpenAI代理SDK的天气机器人
一个Telegram机器人,使用OpenAI的代理SDK和模型上下文协议(MCP)提供实时天气信息。该机器人可以使用GPT-4o-mini模型支持的自然语言查询来获取全球城市的当前天气状况。
特性
- 使用Open-Meteo API实时天气数据
- 使用OpenAI代理SDK(GPT-4o-mini)进行自然语言处理
- 气象数据检索的简单MCP服务器实现
- 电报本机消息格式
- 易于使用的界面,带有简单的天气查询
技术栈
- Python 3.11+
- OpenAI代理SDK
- 模型上下文协议(MCP)
- python电报机器人
- Open-Meteo API(不需要API密钥)
快速开始
- 克隆存储库:
git clone https://github.com/esakrissa/agents-sdk-telegram.git
cd agents-sdk-telegram- 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt- 在项目根目录中创建.env文件:
TELEGRAM_BOT_TOKEN=your_bot_token_here
OPENAI_API_KEY=your_openai_api_key_here- 运行机器人:
python main.py用法
只需向机器人发送一条消息,询问任何城市的天气:
what's the weather in Ubud?机器人将根据当前天气状况做出响应,包括:
- 温度
- 天气情况
- 风速
建筑
OpenAI代理SDK集成
该机器人使用OpenAI的代理SDK和GPT-4o-mini模型来处理自然语言查询并生成类似人类的响应。Agent配置了用于处理与天气相关的查询和维护对话上下文的特定指令。
模型上下文协议(MCP)
该项目实现了一个简单的MCP服务器(weather_mcp.py)这提供了 get_weather 工具。这演示了如何:
- 创建自定义MCP工具
- 处理工具请求和响应
- 将外部API(Open Meteo)与MCP集成
许可证
麻省理工学院©Esa Krissa
