附录 B 工具与模型速查


附录 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

作者与出处
原作者: 灏天文库
整理: 灏天文库整理
本站整理收录,版权归原作者/开源协议所有;欢迎通过原文链接访问源仓库。
发布者: 作者: 灏天文库 转发
评论区 (0)
U