附录 B 工具与模型速查
全书出现过的工具、库与模型一览,按管线角色分组。时效声明:选型与性能信息为撰写时点(2026-09)的公开材料口径,全部以各官方文档/模型卡为准——本附录的价值在"角色与用法",不在版本号。
一、解析与切分
| 名称 |
角色 |
在本书 |
备注 |
| tree-sitter |
增量解析框架 |
1.2/3.2 |
容错强、多语言;语法错误也给"尽力而为"的树 |
| py-tree-sitter |
Python 绑定 |
3.2 |
Language/Parser/QueryCursor;0.21→0.25 有 API 改名(3.2 注释标注) |
| tree-sitter-python |
Python grammar 包 |
3.2 |
预编译 wheel;他语言各有对应包 |
| tree-sitter-language-pack |
几十种 grammar 打包 |
0.2 |
可选,做实验省事 |
| ctags |
经典符号索引器 |
1.2 |
符号检索的老前辈,对照用 |
| LSP |
Language Server Protocol |
1.2 |
定义/引用/重构的协议层,与 tree-sitter 分工不同 |
二、嵌入与向量存取
| 名称 |
角色 |
在本书 |
备注 |
| sentence-transformers |
本地嵌入/重排模型加载 |
0.2/5.2 |
SentenceTransformer/CrossEncoder(真实 API,以官方文档为准) |
| jina-embeddings-v2-base-code |
代码特训开源嵌入 |
0.2/2.2 |
免费离线,练习推荐(以模型卡为准) |
| voyage-code-3 |
商用代码嵌入 |
2.2 |
厂商自报平均高 13.8%(撰写时点口径) |
| CodeRankEmbed(Nomic) |
开源代码嵌入 |
2.2 |
自测过再信(2.3 的立场) |
| 任意厂商嵌入 API |
云端嵌入 |
0.2 |
统一封装成 embed() 入口再用 |
| numpy |
暴力向量检索 |
4.1 |
mini_store.py 的全部依赖;10 万 chunk 内够用 |
| FAISS / hnswlib |
进程内 ANN |
4.1 |
结构原理见 《利用 Zvec 实现完整的 RAG 技术》第 5 章 |
| Chroma / LanceDB / sqlite-vec |
嵌入式向量库 |
4.1 |
多进程共享、要持久化时的中间档 |
| Qdrant / Milvus / pgvector |
服务型向量库 |
4.1 |
平台化多消费者的终态 |
三、检索、融合与重排
| 名称 |
角色 |
在本书 |
备注 |
| grep / ripgrep |
字面检索的地面基准 |
1.1/6.2 |
保真极限,理解边界用 |
| rank-bm25 |
现成 BM25 库 |
1.1/5.1 |
本书自写教学版;生产可直接换它 |
| Zoekt |
trigram 代码索引引擎 |
8.1 |
字面保真+子串/正则;开源,可自托管 |
| RRF(方法) |
排名融合 |
5.1 |
无参(k=60 经验值),自实现十行 |
| CrossEncoder(方法) |
交叉编码重排 |
5.2 |
经 sentence-transformers 使用 |
| LLM 校准概率重排(方法) |
逐项打分重排 |
5.2 |
校准概率重排详见《Jev 决策编程》7.1 节 |
四、agentic 与产品平台
| 名称 |
角色 |
在本书 |
备注 |
| aider |
AI 结对工具 |
1.2/6.1 |
repo-map:符号 + 类 PageRank(公开材料口径) |
| Claude Code |
CLI Agent |
4.3/6.2 |
惰性检索代表:glob/grep/read(以官方为准) |
| Sourcegraph |
企业代码搜索 |
1.3/8.1 |
意图级语义 + Zoekt 字面层 |
| Greptile |
代码检索 API |
0.1/8.2 |
符号感知 chunk,面向 agentic coding |
| GitHub Copilot 代码搜索 |
IDE 语义检索 |
4.3/8.2 |
即时索引 2025-03 GA、分钟级→秒级(官方自报) |
| repowise 横评 |
第三方评测 |
8 章 |
2026-05 代码检索工具横评(公开评测) |
五、评测与基准
| 名称 |
角色 |
在本书 |
备注 |
| CoIR |
代码检索公开基准 |
2.3 |
横向打底用;你的仓库还得自建评测集 |
| 自建评测集 |
回归防线 |
2.3/9.2 |
构造方法论详见《Evals 实战》第 3 章 |
| MRR / Recall@K / nDCG |
检索指标 |
9.1 |
metrics.py 纯 Python 实现;通用 IR 口径见 《利用 Zvec 实现完整的 RAG 技术》第 7 章 |
六、环境速查
| 需求 |
命令/做法 |
首次出现 |
| 基础依赖 |
pip install tree-sitter tree-sitter-python numpy |
0.2 |
| 本地嵌入(可选) |
pip install sentence-transformers |
0.2 |
| 验证解析器 |
verify_setup.py(0.2 的安装即验证) |
0.2 |
| 全书代码运行口径 |
Python 3.10+;embed() 统一入口;版本差异看各节注释 |
0.2 |