天气智能代理机器人

一个基于Telegram的智能天气代理机器人,提供实时天气查询、个性化警报和历史趋势分析功能。

  • by vog01r
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 vog01r/IA_engineer_entretien_SKAPA

使用说明

测试AI代理工程师--SKAPA

目标: 修复现有代码,完成AI代理,开发前端,实现MCP服务器和电报机器人(天气数据、数据库、API、前端、可连接到ChatGPT或Claude的MCP)。MCP必须公开 至少3个工具 允许查询数据库(通过API)以获得 任何地点的实时天气信息.

堆栈: Python·FastAPI·SQLite·LLM API(Claude ou OpenAI)·MCP·Telegram Bot API

渲染: 这一切都是在Git上完成的 向分支机构的拉取请求 main 存储库。PR必须包含:

  • QCM :文件 INSTRUCTIONS_QCM.md 已完成(答案、理由、备选方案3.3和3.8)。
  • 方法论 :如PR或 INSTRUCTIONS_QCM.md.
  • 应用程序的URL
  • 前端URL
  • API的URL
  • L'URL du MCP
  • 特工“Alertes Intelligentes”

没有通过zip或电子邮件呈现:文档完成+代码完成+同一拉取请求中提供的链接 main.

代理“智能警报”-机器人电报世界天气

概念

连接到的对话AI代理 电报 这使得讨论天气成为可能 世界各地 实时。该代理依赖于本项目中已经存在的天气API(开放天气)和SQLite数据库。

功能

  • 自然对话 :用户写入以下类型的消息: “东京的天气怎么样?” 或 “明天纽约的预测” 代理人用自然语言回答。
  • 个性化警报 :用户配置阈值(“如果巴黎气温降至0摄氏度以下,请通知我。”, “马赛温度>35°C时发出警报”)的。代理持续监控并在超过阈值时发送电报通知。
  • 历史和趋势 :代理查询SQLite数据库以显示给定时间段内的温度变化(“向我展示里昂7天的趋势”).

计划架构

Utilisateur Telegram
        │
        ▼
  Bot Telegram (python-telegram-bot)
        │
        ▼
  Agent IA (LLM — parsing intention + génération réponse)
        │
        ├──► API FastAPI existante (/weather/fetch, /weather/location, /weather/range)
        │
        ├──► Open-Meteo Geocoding API (nom de ville → lat/lon)
        │
        └──► Base SQLite (historique, alertes utilisateurs, préférences)

堆叠技术

组件 技术
机器人电报 python-telegram-bot
天气API 开放天气(已集成)
Géocodage Open-Meteo地理编码API
数据库 SQLite(已到位)
调度程序alertes APScheduler (定期检查阈值)
代理IA 通过MCP或API调用的LLM(Claude,OpenAI)
Docker(API容器+机器人容器)

交互示例

👤 Utilisateur : "Météo à Barcelone ?"
🤖 Agent : "Actuellement à Barcelone : 18°C, ciel dégagé.
            Prévisions : 20°C demain, 16°C mercredi.
            Veux-tu que je crée une alerte pour cette ville ?"

👤 Utilisateur : "Oui, préviens-moi si ça descend sous 10°C"
🤖 Agent : "Alerte créée : je te préviendrai dès que la
            température à Barcelone passe sous 10°C."

👤 Utilisateur : "Comparaison Paris vs Toulouse cette semaine ?"
🤖 Agent : "Paris : 8°C → 12°C (tendance hausse)
            Toulouse : 11°C → 15°C (tendance hausse)
            Toulouse reste ~3°C plus chaud que Paris cette semaine."

代码练习

文件 练习 描述
question_3_3_A.py 3.3.a 改进的系统提示和RAG上下文注入
question_3_3_B.py 3.3.b 智能块功能(~500个代币、重叠、尊重短语)
question_3_3_C.py 3.3.C 终点 POST /agent/evaluate 评估代理的质量
question_3_8.py 3.8 知识库分析脚本(源统计、短块、空)

注: 独自一人 变体 应解决问题3.3(A、B或C可选)。

预期的渲染

Tout via 拉取请求vers main.见 INSTRUCTIONS_QCM.md 有关完整的详细信息。

宜居 描述
QCM INSTRUCTIONS_QCM.md 完成(5部分,35+问题)
后端修复 已识别并修复的错误和安全漏洞(单独提交)
前端 功能性web界面(天气、聊天代理、数据)
MCP服务器 3+工具 app/mcp/server.py,可连接克劳德桌面
机器人电报 天气对话代理 app/bot/
练习3.3 您选择的变体(A、B或C)
练习3.8 分析脚本 question_3_8.py
部署 可在线访问的应用程序(Railway、Render、Fly.io等)
说明PR Mémethodologie+URL(应用程序、前端、API、MCP)