AI个人学习
和实操指南

Yek:读取git仓库文本文件并快速分块,以供大模型使用

综合介绍

Yek 是一个基于 Rust 的快速工具,用于读取存储库或目录中的文本文件,将其分块并序列化以供大型语言模型(LLM)使用。该工具默认使用 .gitignore 规则跳过不需要的文件,并利用 Git 历史推断重要文件。Yek 可以根据近似“令牌”计数或字节大小将内容分块,并自动检测输出是否被管道传输。它支持在单个命令中处理多个目录,并通过 yek.toml 文件进行配置。

Yek:读取git仓库文本文件并快速分块,以供大模型使用-1


 

功能列表

  • 使用 .gitignore 规则跳过不需要的文件
  • 利用 Git 历史推断重要文件
  • 推断额外的忽略模式(如二进制文件、大文件等)
  • 根据近似“令牌”计数或字节大小将内容分块
  • 自动检测输出是否被管道传输
  • 支持在单个命令中处理多个目录
  • 通过 yek.toml 文件进行配置

 

使用帮助

安装流程

Unix-like 系统(macOS, Linux)

curl -fsSL https://bodo.run/yek.sh | bash

Windows(PowerShell)

irm https://bodo.run/yek.ps1 | iex

从源码构建

git clone https://github.com/bodo-run/yek.git
cd yek
cargo build --release

使用方法

Yek 具有合理的默认设置,您可以简单地在目录中运行 yek 来序列化整个存储库。默认情况下,它会将存储库中的所有文件序列化为 10MB 的块,并将文件写入临时目录,文件路径将打印到控制台。

示例

  • 处理当前目录并写入临时目录:
yek
  • 将输出管道传输到剪贴板(macOS):
yek src/ | pbcopy
  • 将最大大小限制为 128K 令牌并仅处理 src 目录:
yek --max-size 128K --tokens src/
  • 将最大大小限制为 100KB 并仅处理 src 目录,写入特定目录:
yek --max-size 100KB --output-dir /tmp/yek src/
  • 处理多个目录:
yek src/ tests/

CLI 参考

yek --help

Yek 是一个用于 LLM 消费的存储库内容分块和序列化工具。

用法

yek [OPTIONS] [directories]...

参数

  • directories:要处理的目录 [默认: .]

选项

  • --max-size <max-size>:每块的最大大小(例如 '10MB', '128KB', '1GB')[默认: 10MB]

一句话描述(简介)

 

未经允许不得转载:首席AI分享圈 » Yek:读取git仓库文本文件并快速分块,以供大模型使用

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文