🏫 实战:学校 AI 机器人
从"校史/学风/师资"知识库到可上线的学校 AI 机器人——完整流程拆解
1. 项目启动:需求定义与数据盘点
第一步:明确机器人回答哪些问题(决定知识库范围):
| 主题域 | 典型问题 | 数据来源 |
|---|---|---|
| 校史 | 学校哪年成立?创始人是谁?重大事件? | 校史馆资料/官网校史页/纪念册 PDF |
| 学风 | 校训是什么?学风建设举措? | 官网学校简介/新闻稿/制度文件 |
| 师资 | 院士有几位?某某教授研究方向? | 师资队伍页面/学院官网(结构化) |
| 招生(加分项) | 分数线?学费?奖学金? | 招生简章(更新最频繁,注意版本) |
🎯 实战要点
- 先收集"高频问题清单"(招办/学生处问得最多的 50 个问题)——答案优先建 FAQ
- 师资类适合结构化:教师姓名/职称/方向做成表格数据,比长文本检索准得多
2. 知识库构建实操(Pipeline)
- 采集:官网页面导出 Markdown(markitdown/Jina Reader);PDF 用 PyMuPDF 抽文本;师资表格从数据库导出 CSV
- 清洗:去掉导航/页脚/免责声明模板;统一为 Markdown 保留标题层级;师资表转为"教师名:职称,研究方向,代表作"的句子式条目
- 分块:校史/制度按标题结构切(200~600 字/块);FAQ 问答对整体成块;师资一人一块
- 元数据:category(校史/学风/师资/招生)、source、updated_at——检索时可按 category 过滤
- 向量化入库:中文 Embedding 模型(bge-small-zh),存入 pgvector 或 FAISS
一条师资记录的入库形式
content: 张伟,教授,博士生导师。研究方向:计算机视觉、
深度学习。主持国家自然科学基金 3 项,发表论文 80 余篇。
metadata: { category: "师资", college: "计算机学院",
source: "计算机学院官网-师资队伍", updated_at: "2026-06-01" }
# 查询"张伟教授研究什么" → 命中这块 → 回答可标注(来源:计算机学院官网)
🎯 实战要点
- 教师姓名用全名 + 学院做关键词索引(向量对专名弱,混合检索兜底)
- 校史按年份叙事:年份写进块内容("1952 年"),时间类问题命中率高
3. 问答链路与工程实现
问答主流程(Python 简化版)
def ask(question, history):
# 1. 多轮重写(结合历史)
q = rewrite(question, history)
# 2. 混合检索
vec_hits = vector_search(q, top=20) # 向量相似度
kw_hits = bm25_search(q, top=20) # 关键词
hits = rrf_merge(vec_hits, kw_hits)[:8] # 融合取 Top8
# 3. 重排序 + 取 Top3
hits = rerank(q, hits)[:3]
# 4. 置信度门控:太低的直接拒答
if hits[0].score < THRESHOLD: return fallback_answer()
# 5. 拼装 prompt(system + 资料 + 问题)调 LLM
answer = llm(chatbot_prompt(q, hits))
return answer, [h.metadata for h in hits] # 附引用来源
🎯 实战要点
- 低代码快速上线:Dify / FastGPT / 扣子(Coze)——拖拽配置知识库+机器人,30 分钟出原型
- 自有开发:LangChain/LlamaIndex 编排 + OpenAI 兼容 API(或国产模型)
- 部署形态:网页挂学校官网 / 公众号 / 企业微信机器人
4. 上线准备与持续运营
- 上线前:评测集(50 个高频问题)跑分 + 校方审核答案(校史/政策类必须人工确认)
- 页面设计:热门问题快捷入口、回答带引用卡片、底部"转人工/电话"兜底
- 监控:每日问答日志 → 未命中(拒答率)、用户负面反馈(👍👎)、引用点击
- 更新机制:招生政策变化 → 更新文档重跑建库(分钟级);定期全量巡检过期资料
- 合规:标注"AI 生成内容仅供参考";涉及个人信息问题一律引导人工
上线检查清单
□ 评测集回答人工审核通过
□ 拒答兜底文案 + 联系方式配置
□ 引用溯源可点击查看原文
□ 敏感词/隐私过滤规则生效
□ 知识库更新时间策略(自动/手动)
□ 反馈收集入口(👍/👎/转人工)
□ AI 生成免责声明展示
□ 高可用:模型 API 超时重试 + 降级提示
🎯 实战要点
- 学校场景特别提醒:招生政策/分数线是高频且时效性极强,务必按年份版本管理,过期数据自动失效
- 运营 KPI:回答采纳率、转人工率、拒答率——别只看"回答数"