第二次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering24
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering24/homework/15646
这个作业的目标 构建一个能说会做的智能体
学号 3124004524

Agent 说明文档

  1. 需求描述
    本项目实现了一个轻量级的 AI 任务助手 Agent,支持以下功能:

查询当前天气和未来天气预报
记住用户指定的内容
回忆已记住的内容
清空记忆数据
生成简易待办清单和学习计划
前端使用 index.html 实现页面展示与交互,后端使用 main.py 实现业务逻辑与接口。

  1. 业务流描述
    用户打开 index.html 页面。
    在输入框中输入消息,点击“发送”按钮。
    前端使用 axios 向后端 POST /agent 发送请求。
    后端 main.py 接收请求并解析用户意图:
    识别天气查询请求
    识别记忆请求
    识别回忆请求
    识别清空记忆请求
    识别任务/待办/计划请求
    后端生成回复并返回给前端。
    前端将助手回复显示在聊天区域。
    若用户点击“清空”按钮,前端调用 POST /clear,后端清空对话历史和记忆。
  2. 实现说明
    前端 index.html
    使用 HTML/CSS 构建聊天界面。
    包含消息展示区域、文本输入框、发送按钮、清空按钮。
    使用 axios 向后端接口发送请求。
    支持跨域访问,前端可以从 localhost 调用后端服务。
    后端 main.py
    使用 FastAPI 创建 Web 服务。
    配置 CORSMiddleware,允许前端跨域请求。
    定义 ChatInput 数据模型,接收前端传来的消息。
    使用 memory 保存对话历史,使用 notes 保存记忆内容。
    定义天气服务:
    优先调用 QWeather 官方 API
    若 QWeather 无法访问,则回退到 wttr.in 免费接口
    定义核心处理函数:
    extract_city:根据用户消息提取城市
    is_weather_query、is_forecast_query:判断是否为天气/预报请求
    extract_note_text:从“记住”“记下”等指令中提取记忆内容
    get_now_weather、get_forecast_weather:返回天气文本
    save_memory、save_note:保存对话和记忆内容
    核心接口
    POST /agent:根据用户消息返回智能助手回复
    POST /clear:清空对话历史和记忆
  3. 使用示例(功能演示)
    示例 1:查询当前天气
    用户输入:

广州天气
助手回复示例:

🌤 广州 当前天气:...
示例 2:查询天气预报
用户输入:

北京明天预报
助手回复示例:

📅 北京 3天天气预报:...
示例 3:记住内容
用户输入:

记住我喜欢Python
助手回复:

✅ 已记住:我喜欢Python
示例 4:回忆记住内容
用户输入:

你记得什么
助手回复示例:

我记住了:1. 我喜欢Python
示例 5:清空记忆
用户点击“清空”按钮,后端返回:

已清空对话历史和记忆
示例 6:任务与计划
用户输入:

给我一个待办
帮我安排计划
助手分别返回待办清单和学习计划。

  1. GitHub 链接
    项目已提交至我们团队作业的 GitHub 公共仓库:

https://github.com/mouhang4/potential-garbanzo

posted @ 2026-04-05 21:59  mouhang4  阅读(34)  评论(0)    收藏  举报