はじめに
yekは、リポジトリやディレクトリからテキストファイルを読み込んでチャンキングし、大規模言語モデル(LLM)で使用するためにシリアライズするRustベースの高速ツールです。このツールは、デフォルトで.gitignoreルールを使って不要なファイルをスキップし、Gitの履歴を使って重要なファイルを推測します。yekは、おおよその「トークン」数やバイトサイズに基づいてコンテンツをチャンクすることができ、出力がパイプされているかどうかを自動的に検出します。一つのコマンドで複数のディレクトリを処理することができ、yek.tomlファイルで設定します。
機能一覧
- .gitignoreルールを使って不要なファイルをスキップする
- Git の履歴を使って重要なファイルを推測する
- 追加の無視パターン(バイナリファイル、大容量ファイルなど)の推測
- おおよその "トークン "数またはバイトサイズに基づくコンテンツのチャンキング
- 出力がパイプ接続されているかどうかの自動検出
- 1つのコマンドで複数のディレクトリを処理できるようになった。
- yek.tomlファイルによる設定
ヘルプの使用
設置プロセス
Unixライクシステム(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
カーゴビルド --リリース
使用方法
yek のデフォルト設定は妥当なもので、ディレクトリ内から yek を実行するだけで、リポジトリ全体をシリアライズできます。デフォルトでは、リポジトリ内のすべてのファイルを10MBの塊にシリアライズし、一時ディレクトリにファイルを書き込み、ファイルのパスをコンソールに出力します。
典型例
- カレント・ディレクトリを処理し、テンポラリ・ディレクトリに書き込む:
エッ
- 出力をクリップボードにパイプライン出力する(macOS):
yek src/ | pbcopy
- 最大サイズを128Kトークンに制限し、srcディレクトリのみを処理する:
yek -最大サイズ 128K -トークン src/
- 最大サイズを100KBに制限し、srcディレクトリのみを処理し、特定のディレクトリに書き込む:
yek --max-size 100KB --output-dir /tmp/yek src/
- 複数のディレクトリを扱う:
yek src/ tests/
CLIリファレンス
yek --help
Yekは、LLMを利用するためのリポジトリコンテンツのチャンキングとシリアライゼーションツールです。
使用状況
yek [OPTIONS] [ディレクトリ]...
パラメトリック
ディレクトリ
処理するディレクトリ [デフォルト: .]
オプション
--最大サイズ <max-size
ブロックあたりの最大サイズ(例:'10MB'、'128KB'、'1GB')[デフォルト:10MB]
簡単な説明