GPT-OSS 驱动的在线编程课 AI 助教:3 天打造追问式对话 API
在过去两周,我用 GPT-OSS 开源模型 搭建了一个 “追问式对话 API”,并把它应用在在线编程课程的场景中,效果非常接近一个真正的 AI 助教。本文完整记录了从需求分析到部署上线的全过程。
一、需求背景
在线编程课程的痛点:
学生提出的问题重复度高,老师精力有限
常见答案缺少“追问能力”,学生没能真正理解
商业化 API 成本高,不适合大规模课程
基于 开源权重的 GPT-OSS,我们可以:
零成本运行(替代收费 API)
实现 追问式对话(更贴近人类答疑)
支持 本地部署(保护隐私数据)
二、技术方案
核心流程:
数据准备
收集课程中常见问答数据,并转化为 JSON 格式。模型加载与调优
from transformers import AutoTokenizer, AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("gpt-oss")
tokenizer = AutoTokenizer.from_pretrained("gpt-oss")
def ask(question: str):
inputs = tokenizer(question, return_tensors="pt")
outputs = model.generate(**inputs, max_length=512)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
- API 构建(FastAPI)
from fastapi import FastAPI
app = FastAPI()
@app.post("/qa")
def qa(user_input: str):
return {"answer": ask(user_input)}
三、关键优化点
追问式对话:通过保留上下文历史,让模型持续回答学生的追问。
性能调优:
使用 LoRA 微调,在 1k 条课程数据上快速适配
控制响应延迟 < 800 ms
部署:基于 Docker 和 Uvicorn,便于快速扩展
四、效果展示
代码调试场景
学生提问:
Python 列表和集合有什么区别?
AI 助教回答:给出差异点,并提供示例代码。
学生追问:
什么时候应该用集合?
AI 助教继续:解释应用场景(去重、集合运算)。
面试准备场景
输入:
请解释哈希表和红黑树的区别
AI 助教输出:结构对比 + 应用场景,类似一份简洁的面试参考答案。
五、总结与展望
基于 GPT-OSS,我们在 3 天内就构建了一个可落地的 AI 助教 API:
符合在线编程教育的场景需求
提供低成本、可控的本地化解决方案
支持多轮追问,帮助学生真正理解问题
👉 完整实现代码与部署文档 已整理到 官网文章,有兴趣的同学可以参考并尝试。
本作品采用《CC 协议》,转载必须注明作者和本文链接