MaximeRivest/attachments

Easiest way to give context to LLMs; Attachments has the ambition to be the general funnel for any files to be transformed into images+text for large language models context by only adding 2 lines to your python code.

解決する問題

attachments は、さまざまなファイル形式(PDF、Excel、Word、PowerPoint、HTML、画像、音声、さらには GitHub リポジトリ全体)を、標準化された LLM 対応形式に変換するように設計されたライブラリです。ファイルタイプごとに個別の解析ライブラリを必要とせず、単一の関数(att())と一貫した出力形状を提供し、Claude や OpenAI などのマルチモーダル LLM のプロンプトに直接挿入できます。

仕組み

このライブラリは、プロセッサのシステムを使用してさまざまなファイルタイプを処理します。ユーザーは特定の形式のオプション依存関係をインストールしたり(例:pip install "attachments[pdf]")、サービスベースのフォールバックモードを使用したりできます。

主な機能は次のとおりです。

  • ユニバーサル出力:すべての入力は「アーティファクト」(テキスト、画像、メタデータを含む辞書)のリストに変換されます。
  • DSL 構文:ドメイン固有言語を使用してオプションをインラインで指定できます(例:att("report.pdf[pages: 1-4]"))。
  • マルチモーダルインターリーブ:デフォルトでは、テキストと画像をページごとにインターリーブし、モデルが視覚コンテンツを対応するテキストと関連付けることを保証します。
  • トークン見積もり:Claude のトークン化ロジックに基づいて、テキストと画像の大まかな予算数値を提供します。
  • フォルダ/リポジトリ処理:ディレクトリ全体または GitHub リポジトリを処理でき、.gitignore ルールに基づいてシークレットと依存関係フォルダを自動的にフィルタリングします。

対象読者

LLM アプリケーション、RAG パイプライン、または AI エージェントを構築している開発者で、ファイル形式ごとにカスタム解析ロジックを記述せずに、さまざまな非構造化データソースを処理する必要がある人。

ハイライト

  • 単一エントリポイント:単一の関数(att())が、単一ファイルから URL や GitHub リポジトリまで、すべてを処理します。
  • 標準化されたインターフェース:すべてのプロセッサで一貫した出力形状(アーティファクト)。
  • 拡張可能な形式サポート:PDF、XLSX、DOCX、PPTX、HTML、スクリーンショット、OCR、音声文字起こしをサポート。
  • LLM 固有のヘルパー:Claude および OpenAI メッセージ用に出力をフォーマットするための組み込みメソッド。
  • スマートフィルタリング:フォルダを処理するときに、シークレットと生成ファイルを自動的に除外。

関連

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