问题背景
不同LLM对输入数据有token数量、格式等差异化要求,手动预处理Git仓库文件耗时费力。
定制化解决方案
- 灵活分片机制:支持按近似token计数(–tokens)或字节大小(默认)分块
- 动态输出检测:自动识别是否被管道传输,适配不同下游应用
- 智能忽略策略:除.gitignore外,自动排除二进制/大文件等非文本数据
- 配置持久化:通过yek.toml保存常用参数组合
实践建议
- 评估目标LLM的token限制(如128K/100KB)
- 测试分块方式:
– ChatGPT等:建议使用–tokens模式
– 原始文本处理:使用默认字节模式 - 多轮调试:先用小目录测试不同参数组合
- 管道集成:yek src/ | 可直接接入后续处理流程
进阶技巧
结合Git历史分析结果,可优先处理高频修改的文件;对特定扩展名文件可创建自定义忽略规则。
本答案来源于文章《Yek:读取git仓库文本文件并快速分块,以供大模型使用》