# web 模块说明 ## 模块作用 提供 FastAPI 应用、静态资源挂载与 REST API:查询、反馈、训练、训练历史、Stage4 迭代 start/next/finalize。前端页面与静态资源也集中在本目录下,便于整体维护。schemas 定义请求与响应模型,services 封装对 PipelineManager 的调用。 ## 目录与文件 - app.py: FastAPI 实例与 startup 初始化(frontend/、static/ 路径指向本目录下子目录) - router.py: /api 下各端点 - services.py: WebService 封装 run_query、add_feedback、run_training、迭代 - schemas.py: Pydantic 请求/响应模型 - frontend/: 前端页面,index.html 为主页 - static/: 静态资源,css/style.css、js/main.js ## API 接口 - POST /api/query: 请求 query, iteration_rounds(可选);响应 params, patterns, rules, explanation, similarity_scores, intent_used, intent_data 等 - POST /api/feedback: 请求 pattern_id, pattern, feedback(positive/negative);响应 status, message, positive_count, negative_count - POST /api/train: 请求 epochs, learning_rate, batch_size, margin(均可选);响应 status, message, loss_history, epochs - GET /api/train/history: 响应 trainings 列表 - POST /api/iteration/start: 请求 query, iteration_rounds;响应 session_id, round, total_rounds, patterns, rules, similarity_scores, is_final, intent_used, intent_data - POST /api/iteration/next: 请求 session_id, feedback;响应同 start 结构 - POST /api/iteration/finalize: 请求 session_id;响应最终 patterns、params、intent、迭代历史 ## WebService 方法 - run_query(query, iteration_rounds=None) - add_feedback(pattern_id, pattern, feedback) - run_training(epochs, learning_rate, batch_size, margin) - get_training_history() - 迭代相关封装 start/next/finalize