sammcj/ingest

Parse files (e.g. code repos) and websites to clipboard or a file for ingestions by AI / LLMs

What it solves

Ingestは、大量のコンテキスト(コードベース全体やウェブページなど)をLLMに提供するプロセスを簡素化します。複数のファイルやURLを手動でコピー&ペーストする問題を、明確なディレクトリ構造を持つ、AIが利用可能な単一のMarkdownファイルに集約することで解決します。

How it works

このツールは、プレーンテキストファイル、ソースコード、またはウェブURLのディレクトリを解析し、フォーマットされたMarkdownドキュメントに変換します。コンテキストウィンドウを最適化するために、いくつかの機能が含まれています:

  • Aggregation: 複数のファイルとディレクトリを一つの出力に結合します。
  • Code Compression: Tree-sitterを使用して、コードの構造的要素(シグネチャ、インポート、宣言)のみを抽出し、実装の詳細を削除してトークンを節約します。
  • Web Crawling: ウェブページやPDFをMarkdownに変換して取り込みます。
  • Token Counting: オフラインでのトークン見積もり(異なるモデル用の補正係数付き)またはAnthropic APIを介した正確なカウントを提供します。
  • LLM Integration: 最終的なプロンプトをOpenAI互換のAPIに直接送信できます。

Who it’s for

プロジェクト全体、ドキュメントサイト、または複雑なファイル構造を、分析、リファクタリング、または説明のためにLLMに投入する必要がある開発者やAIパワーユーザー。

Highlights

  • Tree-sitter Compression: コードの本体を削除しつつ、アーキテクチャを維持することでトークン使用量を削減します。
  • Flexible Filtering: globパターンを使用して、特定のファイルを包含または除外します。
  • Integrated Tokenizer: 高速でローカルなトークンカウントのために、オフライントークナイザー(o200k_base, cl100k_base)が同梱されています。
  • Web-to-Markdown: 外部ドキュメントのための、組み込みのクロール機能とPDF変換機能。
  • Git Integration: プロンプトにgit diffsとログを含めることができます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト