RAG 入门:先验证能不能找对资料
用六条虚构资料和六个问题练习召回、引用 ID 与无答案案例;配有不联网、不加载模型的原创 Node.js 示例。
要检查的型号
Nemotron-3.5-Embed-1B-BF16
Nemotron-3.5-Rerank-8B-BF16
Nemotron-3.5-Parse
模型负责生成与推理;Agent 使用工具完成任务;Harness 管理 Agent 的运行环境;MCP 是连接工具与数据的协议;Skill 是可复用的任务指导。
开始前准备
前置条件
Node.js 22+、解压工具和可写的新目录;无需 GPU、Python、账号、Key 或模型。英文样例资料不等于八种语言检索评测。
模型 / 服务
第一步不用模型;这份示例只做词面召回和指标计算。
Agent / 运行环境
无需 Agent 或 MCP,不开启服务;资料文本始终按数据处理。
预计时间
20–30 min
实施步骤
下载并解压四个文件,先阅读 README 和 MIT 许可;不要放入私人文档或密钥。
在该目录确认 Node.js 22 或更新版,然后运行 node retrieval.mjs;不用安装 npm 包、模型或数据库。
把 candidates 的文档 ID 与 relevantIds 对照,回到 fixture.json 读原文;得分高只代表词面重合,不代表资料正确。
分别以 k=1 和 k=2 运行;备份问题有两条正确资料,命中第一条时 Recall@1 仍只有 0.5。
检查两条无答案问题:一条无命中,另一条仍误召回。记录误召回,不把候选直接当作 AI 答案或安全认证。
保存副本后,把一个 relevantIds 改成 missing-id;重跑应报输入错误并非零退出。恢复原文件,再确认正常输出。
再用有授权的小资料集独立标答案;后续更换 embedding 或重排时固定资料、标签和 k,另查模型许可、后端和费用。
命令与示例
本站未实测
# In the extracted example folder; original synthetic English data only.
node --version
node retrieval.mjs
node retrieval.mjs fixture.json 1
node retrieval.mjs fixture.json 2
# Back up fixture.json, change one relevant ID to missing-id, and rerun.
# Expect a nonzero input error, then restore the original file and rerun.验收检查
仅在本机 Windows/Node.js 执行原创词面检索练习:原始、无效引用失败、恢复及 k=1 对照通过。没有真实 embedding、重排、解析或 RAG 问答实测;示例刻意展示一条无答案误召回。
常见问题
找不到文件:在解压后的目录运行。missing-id 报错是预期练习;恢复 fixture.json。召回率不是答案正确率;误召回需要记录,不能靠删除负例把指标做高。
费用
免费软件;许可与资源成本另核验
原创 MIT 示例不收费、不调用 API;电脑和电力自备。后续真实模型或托管费用另核验。
边界与限制
权限与风险
程序只读取所选虚构资料文件并向控制台输出,不联网、上传、开启端口或读取凭据。改用真实服务时需重新确认数据去向。
替代与后续路线
免费替代以开源软件为主,硬件与模型调用可能收费。
也可不用程序,手工在表格中记录问题、正确资料 ID 与命中数;真实模型或服务的费用、许可和硬件另核验。
原始来源
- Sentence Transformers · Retrieve & Re-Rank ↗
www.sbert.net · · 官方文档说明
- Sentence Transformers · InformationRetrievalEvaluator ↗
www.sbert.net · · 官方文档说明
- Nemotron 3.5:把解析、召回与重排分开选 ↗
huggingface.co · · 官方文档说明