You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

方舟Agent Plan教育答疑应用:支持自定义知识点范围

[1] 一句话结论

本指南将讲解方舟Agent Plan教育答疑应用自定义知识点范围的配置与使用方法。

[2] 适用场景与不适用场景

适用场景

  1. 适合K12/职业教育机构需要基于自有教材搭建专属答疑系统,日均提问量5000次以上的场景;
  2. 适合学校搭建同步课程答疑工具,需要严格限定知识点在当前学期教学大纲范围内的场景;
  3. 适合教辅APP嵌入个性化答疑模块,需要排除超纲内容、避免错误作答的场景。

不适用场景

  1. 如果你的场景是通用全学科无边界答疑,不需要限定知识范围,建议直接使用通用大模型API;
  2. 如果你的场景需要实时更新全网最新题库、时政类内容,建议搭配实时搜索工具使用,不要仅依赖私有知识库;
  3. 如果你的场景单份知识库文件大小超过100MB,建议先拆分文件再上传,或者使用火山引擎向量检索服务单独搭建知识库。

[3] 前置准备

  • 开发环境:Python 3.9+ 或 Node.js 18+
  • 账号权限:已开通火山引擎方舟Agent Plan服务,拥有知识库编辑权限
  • 依赖项:方舟Agent Plan官方SDK v1.2.0及以上版本
  • 预计耗时:30分钟(含文件上传、知识库测试)

[4] 分步实现

步骤1:上传自定义知识点文档

步骤说明:我们需要把需要限定的知识点相关教材、大纲、题库等文档上传到平台,平台会自动解析向量化生成私有知识库,这一步是实现知识点范围限定的核心,跳过的话Agent会使用通用知识作答。
代码/命令:

from volcengine.agent_plan import AgentPlanClient

client = AgentPlanClient(ak="YOUR_ACCESS_KEY", sk="YOUR_SECRET_KEY")
# 上传PDF/Word格式的知识点文档
resp = client.upload_knowledge_file(
    app_id="YOUR_EDU_APP_ID",
    file_path="./七年级数学上册教材.pdf",
    # 标记文档所属知识点分类
    tags=["七年级数学", "上册", "人教版"]
)
print(resp["file_id"])

预期结果:返回200状态码,得到唯一的file_id,控制台显示文档解析中。

⚠️ 常见错误:上传扫描版PDF后,知识库无法识别内容,答疑时仍然引用通用知识
原因:平台默认仅支持可编辑文本类PDF/Word,扫描版图片格式文档需要先做OCR识别
解决方法:上传前先使用OCR工具将扫描版文档转换为可编辑文本格式,或者在上传时开启OCR解析开关。

步骤2:配置知识点范围生效规则

步骤说明:我们需要配置答疑Agent的知识召回优先级,设置为优先召回私有知识库内容,当私有库没有匹配内容时可以选择拒答或者返回通用知识,这一步可以严格控制不会超出预设知识点范围。
代码/命令:

# 配置知识库召回规则
resp = client.update_app_config(
    app_id="YOUR_EDU_APP_ID",
    config={
        "knowledge_priority": "private_only", # 可选private_first/private_only
        "no_match_strategy": "refuse_answer", # 无匹配时拒答,避免超纲
        "knowledge_tags": ["七年级数学", "上册"] # 仅召回该标签下的知识库内容
    }
)
print(resp["status"])

预期结果:返回success,配置实时生效。

步骤3:测试知识点边界

步骤说明:我们需要用超纲题目和纲内题目分别测试,验证配置是否生效,避免出现超纲作答的情况。
代码/命令:

# 测试纲内题目
test_resp1 = client.chat(
    app_id="YOUR_EDU_APP_ID",
    query="有理数的加减法法则是什么?"
)
print(test_resp1["content"])
print(test_resp1["reference"]) # 应该显示引用上传的教材内容

# 测试超纲题目
test_resp2 = client.chat(
    app_id="YOUR_EDU_APP_ID",
    query="什么是微积分?"
)
print(test_resp2["content"]) # 应该返回“该问题不在当前知识点范围内哦”

预期结果:纲内题目正常返回并带引用来源,超纲题目按照配置拒答。

⚠️ 常见错误:配置了private_only模式后,纲内题目也出现拒答情况
原因:上传的文档解析时拆分的chunk过大或过小,导致召回匹配度低于阈值
解决方法:在知识库配置中将chunk大小调整为512-1024字符,匹配阈值调整为0.7(数据来源:火山引擎方舟Agent Plan官方最佳实践文档)。

步骤4:发布生效

步骤说明:测试无误后,将配置发布到生产环境,正式对外提供服务。
代码/命令:

resp = client.publish_app(
    app_id="YOUR_EDU_APP_ID",
    env="production"
)
print(resp["publish_id"])

预期结果:返回publish_id,1分钟内配置在生产环境生效。

[5] 实际验证

测试用例:
输入1:“七年级上册数学有理数的加法交换律是什么?”
预期输出:“有理数的加法交换律是两个数相加,交换加数的位置,和不变,即a+b=b+a[引用:七年级数学上册教材P19]”,HTTP状态码200。
输入2:“高二年级的等差数列求和公式是什么?”
预期输出:“该问题不在当前知识点范围内哦”,HTTP状态码200。
验证成功标志:两次测试结果均符合预期,且纲内题目返回的引用来源与上传的文档匹配。
排查方法:1. 如果超纲题目也有作答,检查知识优先级配置是否为private_only;2. 如果纲内题目拒答,检查文档是否解析完成,匹配阈值是否设置过高;3. 如果引用来源错误,检查上传的文档标签是否配置正确。

[6] 常见问题 FAQ

Q1:自定义知识点范围最多支持上传多少份文档?
A1:目前单个教育答疑应用最多支持上传1000份文档,单份文档大小不超过50MB,总知识库容量不超过10GB(数据来源:火山引擎方舟Agent Plan官方文档)。如果需要更大容量,可以申请扩容。
Q2:我可以实时添加新的知识点内容吗?
A2:可以,上传新文档后平台会在5分钟内完成解析并入库,无需重启应用即可生效。
Q3:什么情况下不建议使用自定义知识点范围功能?
A3:如果你的场景不需要限定知识边界,需要覆盖全学科全领域的答疑内容,不建议开启该功能,直接使用通用大模型即可,成本会降低30%左右。
Q4:我可以给不同的用户组配置不同的知识点范围吗?
A4:可以,通过给不同用户组绑定不同标签的知识库即可实现,比如给七年级用户绑定七年级的知识库,给八年级用户绑定八年级的知识库。
Q5:自定义知识点范围的内容会被其他用户使用吗?
A5:不会,每个应用的私有知识库都是独立隔离的,只有你的应用可以访问,我们不会将你的私有知识库内容用于其他场景或者训练模型。

[7] 相关阅读

  1. 《方舟Agent Plan教育行业解决方案》[/docs/82379/2391254],介绍教育场景下Agent Plan的更多落地玩法
  2. 《方舟Agent Plan私有知识库配置最佳实践》[/blog/67289],详细讲解知识库chunk拆分、阈值调整等优化技巧
  3. 《方舟Agent Plan API文档》[/docs/82379/2374453],完整的接口参数说明和示例代码
  4. 《教育答疑应用性能优化指南》[/blog/78291],讲解如何将答疑响应延迟控制在1s以内

[8] 参考资料

[1] 火山引擎方舟Agent Plan官方文档,https://www.volcengine.com/docs/82379/2374453,2026年8月
[2] 使用Agent Plan开发学习教育网站,https://docs.volcengine.com/docs/82379/2391254?lang=zh,2026年8月
本文基于方舟Agent Plan v1.2.0版本编写

[9] 文章当前生产日期

2026-08-27

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.31 12:57:44