本文目录
公开教学项目:从文档解析、检索重排到引用与评测
这是公开化教学案例。文中的场景与指标用于理解项目实现;简历应填写自己实际完成的工作与测量结果。
从文档解析、检索重排到引用与评测的公开教学项目
配套代码与运行环境
配套代码:rag-from-zero。先区分零依赖演练和完整模型链路:前者用玩具/模拟组件检查逻辑,后者还需要本地模型、首次权重下载、有效LLM凭据与网络。通过冒烟测试不等于真实Embedding、重排和LLM生成已经跑通。
建议为这版配套代码使用 Python 3.11独立环境。原requirements使用版本范围,不是完整锁文件,也不保证不同平台今天安装都得到同一组合。macOS/Linux可从这份已核对的仓库版本开始:
git clone https://github.com/MisterBooo/rag-from-zero.git
cd rag-from-zero
git checkout f63023e
python3.11 -m venv .venv
source .venv/bin/activate
cd rag_project
python tests/smoke_test.pyWindows用py -3.11 -m venv .venv创建环境,用.venv\Scripts\Activate.ps1激活,然后使用环境内的python。Python 3.11需预先安装。
第3章PDF切分的独立练习环境
第三章两个下载脚本沿用langchain.text_splitter旧入口;无上限安装到LangChain1.4.6会在导入处失败。该章使用独立Python3.12环境,已验证LangChain0.1.20 / Community0.0.38 / TextSplitters0.0.2 / PyPDF4.3.1;按第3章环境步骤安装。它是章节复现实验环境,完整rag_project的手写检索链路按下文另一组依赖验证。
本次另实跑9个公开零依赖下载脚本,以及兼容环境内的长/短/空PDF切分和固定条款分块;无模型下载或LLM/API调用。字符切分与token预算要分别测,不能把512字符写成512 token。