这个工具面向数学课堂演示,目标是把二次函数的系数、顶点、开口方向、零点和图像变化组织成一个可交互页面。教师输入自然语言场景后,页面生成函数参数并展示图像,学生可以继续通过滑块观察变化。
项目概览
结构上,FastAPI 同源提供 HTML 页面与 API,Pydantic 的 GraphSpec 作为前后端数据契约,规则解析器和 LLM 生成器共同产生候选参数,前端再用 Plotly 展示函数曲线。
用途是让二次函数从静态公式变成可操作图像。应用场景包括课堂试讲、内网演示、学生观察参数变化、把自然语言问题转换成函数图像。
单容器结构
后端使用 FastAPI 承载页面和 API,数据结构由 Pydantic 定义。自然语言输入先进入规则解析器,能够识别常见表达式和参数描述;规则无法覆盖时,再转给 OpenAI 兼容接口生成结构化参数。
前端使用 Plotly 渲染函数曲线,滑块控制 a、b、c 三个参数。每次参数变化都会重新计算顶点、对称轴、判别式和根,图像与解释文本同步更新。
可控生成
模型输出只被当作候选参数,后端会做范围裁剪和类型校验。非法表达式、过大数值和空结果会回退到默认示例,保证页面在课堂场景中保持稳定。
实现原理是规则解析优先,模型生成后置。输入先尝试解析标准式、顶点式和口语描述;解析失败时调用模型生成结构化结果。所有结果进入统一校验层,确认参数类型和数值范围后才传给 Plotly。