跳到正文
土土金API

教育与培训

教育和培训场景用三类模型配合:主力模型按教材出题、写培训内容,另一家厂商的模型独立作答核对答案、按评分细则辅助批改,课程助教根据课程资料回答学员提问。题目入库、成绩发布都由老师确认。按每月出 1 万道题、批改 2 万份主观题、学员提问 3 万次估算,用各模型最低价分组的实时价格计算,模型费用每月约 ¥346。

价格更新于 2026年11月13日 17:53

月成本估算

假设:每月出 1 万道题,每次请求出 5 道,共 2,000 次,每次输入约 1,500 tokens(资料片段与出题要求)、输出约 1,500 tokens;1 万道题逐题核对答案,每题输入约 400、输出约 200 tokens;批改 2 万份主观题,每份输入约 1,500 tokens(评分细则、题目和作答)、输出约 300 tokens;学员每月提问 3 万次,每次带约 3,000 tokens 资料,回答约 400 tokens。

¥346.44/ 月

  • 出题¥42
  • 答案核对¥24
  • 主观题批改¥99
  • 课程助教答疑¥181.44
看用量假设

业务问题

老师和培训师的大量时间花在重复劳动上:每个知识点要出几套不同难度的题,几百份简答题要逐份批改,学员问的很多问题课件里其实写过。企业培训还要把制度、产品手册改写成课程和测验。

大模型出题很快,但给出的答案可能是错的,题目也可能超出教材范围;直接让模型打分,同一份作答评两次可能分数不同,也说不清扣分的依据。

可行的做法是模型出初稿、做初评,老师做决定:题目只依据给定的教材生成,由另一家厂商的模型独立作答核对答案;批改按书面评分细则逐项给分,并引用学生原文;课程助教只依据课程资料回答。题目入库、成绩发布都要经过老师。

推荐模型组合

推荐模型按实时目录自动选取,价格取各模型最低价分组,更新于 2026年11月13日 17:53。点模型名可查看全部分组价格。

参考架构

  1. 1

    整理课程资料

    把教材、课件、讲义按章节和知识点整理成文本,每段注明章节和知识点编号;企业培训把制度、产品手册、操作规范整理成同样的格式。

  2. 2

    按知识点出题

    主力模型按指定的知识点、题型和难度出题,只能使用给定的资料,按 JSON 返回题干、选项、答案、解析和难度;程序检查格式和选项是否齐全。

  3. 3

    独立作答核对答案

    另一家厂商的模型在看不到答案的情况下作答。答案一致的进入老师审核,不一致的标记为答案存疑、优先审核;题目经老师确认后才进入题库。

  4. 4

    按细则辅助批改

    每道主观题配一份书面评分细则,写清每个得分点和分值。模型逐项给分并引用学生原文,程序把每项分数限制在分值以内再求和,作为建议分交给老师确认。

  5. 5

    课程助教答疑

    课程资料按知识库方案切块入库,学员提问时检索相关段落,模型只依据资料讲解并注明章节;遇到作业和考试题,可以设置成只讲思路、不给答案。

  6. 6

    老师抽查与迭代

    老师定期抽查题目、批改结果和答疑记录,把发现的问题补进出题要求、评分细则和课程资料。

成本估算

假设:每月出 1 万道题,每次请求出 5 道,共 2,000 次,每次输入约 1,500 tokens(资料片段与出题要求)、输出约 1,500 tokens;1 万道题逐题核对答案,每题输入约 400、输出约 200 tokens;批改 2 万份主观题,每份输入约 1,500 tokens(评分细则、题目和作答)、输出约 300 tokens;学员每月提问 3 万次,每次带约 3,000 tokens 资料,回答约 400 tokens。

项目模型用量假设费用
出题deepseek-v4.1-flash2,000 次 × 输入 1,500 + 输出 1,500 tokens¥42
答案核对gpt-5.4-mini10,000 次 × 输入 400 + 输出 200 tokens¥24
主观题批改gpt-5.4-mini20,000 次 × 输入 1,500 + 输出 300 tokens¥99
课程助教答疑qwen3.5-plus30,000 次 × 输入 3,000 + 输出 400 tokens¥181.44
合计(每月)¥346.44

按各模型最低价分组的实时价格计算,价格更新于 2026年11月13日 17:53。

只含模型调用费用,不含老师审核、题库系统和检索成本(向量化费用很低,见企业知识库方案)。批改手写作答的照片时,图片按输入 tokens 计费,数量和图片尺寸有关,实际以响应里的 usage 为准。学员和作答数量翻倍,对应那一项的费用大致翻倍。

示例代码

主力模型只依据给定资料出题,另一家厂商的模型独立作答,答案不一致的题优先交给老师;批改时按评分细则逐项给分,程序把每项限制在分值以内再求和,作为建议分交老师确认。

示例代码(Python,出题、核对答案与按细则批改)
import json
import os
from openai import OpenAI

client = OpenAI(base_url="https://www.tutujin.com/v1", api_key=os.environ["TUTUJIN_API_KEY"])


def ask_json(model, system, user):
    resp = client.chat.completions.create(
        model=model,
        messages=[{"role": "system", "content": system}, {"role": "user", "content": user}],
        temperature=0,
    )
    raw = resp.choices[0].message.content
    return json.loads(raw[raw.find("{"): raw.rfind("}") + 1])


def write_questions(material, topic, n=5):
    return ask_json(
        "deepseek-v4.1-flash",
        "You write multiple-choice questions for a course. Use only facts stated in the material. "
        'Reply with JSON only: {"questions": [{"stem": "", "options": {"A": "", "B": "", "C": "", "D": ""}, '
        '"answer": "A", "explanation": "", "difficulty": "easy|medium|hard"}]}',
        "Topic: " + topic + "\nWrite " + str(n) + " questions.\n\nMaterial:\n" + material,
    )["questions"]


def solve(q):
    """A model from another vendor answers without seeing the key."""
    options = "\n".join(k + ". " + v for k, v in q["options"].items())
    return ask_json("gpt-5.4-mini", 'Answer the question. Reply with JSON only: {"answer": "A"}', q["stem"] + "\n" + options)["answer"]


def suggest_score(question, rubric, answer):
    """Rubric-based suggestion for a written answer; the teacher confirms or changes it."""
    result = ask_json(
        "gpt-5.4-mini",
        "Score the student answer against each rubric item and quote the words that earn the points. "
        'Reply with JSON only: {"items": [{"id": "R1", "points": 0, "evidence": "", "comment": ""}]}',
        "Question:\n" + question + "\n\nRubric:\n" + json.dumps(rubric, ensure_ascii=False) + "\n\nAnswer:\n" + answer,
    )
    cap = {r["id"]: r["max"] for r in rubric}
    total = sum(min(max(float(i.get("points", 0)), 0), cap.get(i.get("id"), 0)) for i in result["items"])
    return {"suggested": total, "out_of": sum(cap.values()), "items": result["items"], "status": "teacher_to_confirm"}


with open("chapter-3.txt", encoding="utf-8") as f:
    questions = write_questions(f.read(), "Reading a cash flow statement")
for q in questions:
    # every question is reviewed by a teacher; disagreements are reviewed first
    q["status"] = "teacher_review" if solve(q) == q["answer"] else "answer_disputed"
print(json.dumps(questions, ensure_ascii=False, indent=2))

rubric = [
    {"id": "R1", "max": 2, "text": "Names operating, investing and financing activities"},
    {"id": "R2", "max": 2, "text": "Explains why profit and operating cash flow can differ"},
]
print(suggest_score("Why can a profitable company run out of cash?", rubric, "Customers pay late, so..."))

用一把 Key 试试这个方案

注册后在控制台创建 API Key,把上面代码里的 base_url 和 Key 换成你的就能运行。企业采购、开发票可以加客服微信 JsnonoChat。

土土金客服微信二维码
微信JsnonoChat

扫码或搜索微信号添加客服

常见问题

每月出 1 万道题、批改 2 万份作答要多少钱?

按每月出 1 万道题并逐题核对答案、批改 2 万份主观题、学员提问 3 万次估算,用最低价分组计算约 ¥346。课程助教的提问量通常是最大的一项。

模型出的题,答案一定对吗?

不一定。模型可能算错、给出两个都对的选项,或者用到教材以外的知识。所以示例里让另一家厂商的模型独立作答核对,不一致的优先给老师审;所有题目都要经过老师确认才进入题库。

模型批改的分数能直接发给学生吗?

不建议。模型给的是建议分,附每个得分点的依据,老师确认或修改后再发布。评分细则写得越具体,建议分和老师的评分越接近;上线前可以拿一批老师已经评过的作答测一遍两者的差距。

课程助教会不会直接把作业答案告诉学生?

可以在系统提示词里规定:遇到作业和考试题只讲思路和相关知识点,不给最终答案;同时只依据课程资料回答,资料里没有的说不知道,并提示学员去问老师。

企业内部培训也能用吗?

可以。把制度、产品手册、操作规范当作课程资料,用同样的流程生成讲义和测验、搭建答疑助手。涉及内部敏感资料的,建议先隐去不必要的信息,并按公司的数据要求评估。