xujikai 27a25b6af9 feat: 添加SentenceExpandAgent毕业设计项目 1 개월 전
..
backend 27a25b6af9 feat: 添加SentenceExpandAgent毕业设计项目 1 개월 전
frontend 27a25b6af9 feat: 添加SentenceExpandAgent毕业设计项目 1 개월 전
README.md 27a25b6af9 feat: 添加SentenceExpandAgent毕业设计项目 1 개월 전

README.md

英语句子扩写智能体

基于多智能体协作的英语写作教练应用,通过记者提问法将简单英文句子逐步扩写为高级长句

📝 项目简介

本项目是一个创新的英语写作学习工具,旨在帮助英语学习者通过系统化的方法提升写作能力。项目采用多智能体协作架构,模拟真实的写作教学场景:

  • 解决什么问题?

    • 英语学习者常面临句子简单、缺乏变化的问题
    • 传统写作练习缺乏系统性的指导和反馈
    • 难以掌握从简单句到复杂句的渐进式扩写技巧
  • 有什么特色功能?

    • 记者提问法:通过三个阶段的针对性提问,引导学生逐步扩写句子
    • 双模式交互:支持手动模式(逐步引导)和自动模式(一键演示)
    • 实时语法点评:智能评估学生提交的句子,提供语法纠错和改进建议
    • 满分润色:基于三轮扩写记录,生成润色后的高级句子和结构分析
  • 适用于什么场景?

    • 英语写作教学和练习
    • 句子扩写技巧学习
    • 语法结构进阶训练
    • 自主学习和教师辅助教学

✨ 核心功能

  • 手动模式:逐步引导,逐阶段回答记者提问,适合深度学习
  • 自动模式:一键自动演示全过程,适合快速了解和展示
  • 三阶段扩写流程
    • Stage 1:增加细节(使用形容词、副词等修饰成分)
    • Stage 2:增加时空背景(使用介词短语补充时间或地点信息)
    • Stage 3:增加结构深度(使用非谓语动词、定语从句或状语从句修饰)
  • 智能语法点评:实时评估语法正确性,提供纠错建议
  • 最终润色生成:基于三轮扩写记录生成满分句子和结构分析
  • SSE流式传输:自动模式支持实时流式推送,提升用户体验

🛠️ 技术栈

前端技术

  • Vue 3:渐进式 JavaScript 框架
  • TypeScript:类型安全的 JavaScript 超集
  • Vite:新一代前端构建工具
  • Pinia:Vue 3 官方状态管理库
  • SSE (Server-Sent Events):服务器推送技术,用于自动模式的实时流式传输

后端技术

  • FastAPI:现代、高性能的 Python Web 框架
  • HelloAgents框架:多智能体协作框架
  • Pydantic:数据验证和设置管理

智能体架构

项目采用多智能体协作范式,包含以下核心 Agent:

  1. OrchestratorAgent(流程调度 Agent)

    • 负责整体流程调度和状态管理
    • 协调其他 Agent 的协作
    • 决定下一阶段的执行策略
  2. InterviewerAgent(记者提问 Agent)

    • 扮演记者角色,根据当前阶段生成针对性提问
    • 提供语法结构提示和示范改写
    • 三个阶段各有不同的提问策略
  3. EvaluatorAgent(语法点评 Agent)

    • 对学生提交的句子进行语法评估
    • 提供详细的点评和纠错建议
    • 判断句子是否符合阶段目标
  4. PolisherAgent(满分润色 Agent)

    • 接收三轮扩写的完整记录
    • 生成润色后的满分句子
    • 提供语法结构分析和亮点总结
  5. AutoModeAgent(自动演示 Agent)

    • 自动完成三轮扩写流程
    • 模拟学生回答和智能体反馈
    • 通过 SSE 流式推送进度

🚀 快速开始

环境要求

  • Python 3.10+
  • Node.js 16+
  • npm 或 yarn

后端设置

  1. 进入后端目录

    cd backend
    
  2. 创建虚拟环境

    python -m venv .venv
    
  3. 激活虚拟环境

    # Windows
    .venv\Scripts\activate
    
    # macOS/Linux
    source .venv/bin/activate
    
  4. 安装依赖

    pip install -r requirements.txt
    
  5. 配置环境变量

    # 复制环境变量模板
    cp .env.example .env
    
    # 编辑 .env 文件,填入你的 API 配置
    
  6. 启动后端服务

    python src/main.py
    

后端服务将在 http://localhost:8000 启动

前端设置

  1. 进入前端目录

    cd frontend
    
  2. 安装依赖

    npm install
    
  3. 配置环境变量

    # 复制环境变量模板
    cp .env.example .env
    
    # 编辑 .env 文件,配置后端 API 地址
    # VITE_API_BASE_URL=http://localhost:8000
    
  4. 启动开发服务器

    npm run dev
    

前端应用将在 http://localhost:3000 启动(具体端口以终端输出为准)

访问应用

打开浏览器访问前端地址,即可开始使用英语句子扩写智能体。

📖 使用示例

手动模式示例

  1. 输入种子句

    I like reading.
    
  2. 选择手动模式并开始

  3. Stage 1 - 增加细节

    • 记者提问:"你有多喜欢读什么样风格或题材的书籍相关内容呢?"
    • 学生回答:"I really like reading science fiction novels."
    • 语法点评:"很棒!你在动词like前加了表示程度的副词really,在名词novels前加了复合形容词science fiction,完美符合本阶段添加修饰细节的目标。"
  4. Stage 2 - 增加时空背景

    • 记者提问:"你通常喜欢在什么时候、什么地点读科幻小说呢?"
    • 学生回答:"I really like reading science fiction novels in my free time at my home."
    • 语法点评:"很好地延续了上阶段对动词和名词的修饰,还精准补充了记者提问中涉及的时间和地点背景,介词短语使用准确。"
  5. Stage 3 - 增加结构深度

    • 记者提问:"你喜欢在家空闲时间读的科幻小说通常有什么吸引人的核心特点,或者你喜欢读这类小说的具体深层原因是什么?"
    • 学生回答:"I really like reading science fiction novels in my free time at my home because they stimulate my imagination and take me to new worlds."
    • 语法点评:"非常出色!你不仅延续了前两个阶段对动词、名词、时间地点的修饰,还精准添加了记者提问想要的逻辑因果状语从句作为右分支结构,内容紧扣主题。"

自动模式示例

  1. 输入种子句

    She enjoys music.
    
  2. 选择自动模式并开始

  3. 观看自动演示

    • 系统自动完成三轮扩写
    • 实时显示每个阶段的提问、回答和点评
    • 最终展示润色后的满分句子

🎯 项目亮点

  • 多智能体协作架构:采用专业的多智能体设计,每个 Agent 职责明确,协作高效
  • 渐进式学习路径:三阶段扩写流程符合认知规律,从简单到复杂循序渐进
  • 双模式交互设计:手动模式适合深度学习,自动模式适合快速演示和展示
  • 实时反馈机制:语法点评和错误纠正帮助学生及时发现问题
  • 流式用户体验:SSE 技术实现自动模式的实时推送,交互更加流畅
  • 类型安全:前端使用 TypeScript,后端使用 Pydantic,确保数据类型安全
  • 现代化技术栈:Vue 3 + FastAPI 组合,开发效率和运行性能兼顾

🔮 未来计划

  • 持久化存储:将会话数据保存到数据库
  • 用户系统:支持用户注册、登录和历史记录
  • 更多扩写模板:支持不同类型的句子扩写模板
  • 难度分级:根据用户水平调整提问难度

📄 许可证

MIT License

👤 作者

  • GitHub: @xujikai
  • 项目: SentenceExpandAgent

🙏 致谢

感谢 Datawhale 社区和 Hello-Agents 项目提供的框架支持!