知识库问答入门:从资料到可评测的检索

三节实战课,用 Node.js 跑通资料整理、本地检索和离线评测,再理解如何接入生成模型。

你将完成什么

完成一个可在本机运行的知识库检索练习。它会返回资料编号、正文和分数,并用固定问题集检查命中情况。课程刻意把检索与模型生成分开,让你能定位错误来自哪一层。

适合人群:能运行命令、能阅读简单 JavaScript 的 AI 应用初学者。预计 75 分钟;需要 Node.js 18 或更高版本,无第三方依赖,无 API 密钥。示例资料全部虚构,不能用于实际公司制度判断。

这不是生产级 RAG 系统:没有向量模型、权限服务或在线生成。你会得到一个可解释的词面检索基线,以及接入真实资料前的检查方法。

课程大纲

课时 内容 交付物
01 · 整理可追溯的资料 文档编号、来源、版本与切分 三条资料记录
02 · 实现本地检索 中文二元字符切分与排序 可运行检索程序
03 · 用问题集评估检索 Recall@k、无答案、生成边界 测试报告与失败分析

下载练习

下载 rag-lab.cjs,然后在文件所在目录运行:

node rag-lab.cjs
node rag-lab.cjs --test

默认查询为“报销需要什么材料”。这里的数据规模很小,排序分数是词面重叠比例,不是答案正确概率。课程中会讨论它的不足。

完成标准

能解释每条检索结果来自哪条资料;能运行并修改测试;能举出一个检索失败案例;能说明为什么找到片段并不代表模型生成的答案一定有依据。

读完后可继续看:提示词修改的评测方法,把离线基线扩展为自己的应用评估流程。