はじめに
indx をインストールし、最初の文書ルートを確認します。
indx には Python 3.11 以降が必要です。このリポジトリは Python 依存関係に uv、再現可能なコマンドに just を使用します。jq が必要なのは同梱デモだけです。
インストール
Section titled “インストール”まず、開発用と受け入れテスト用の依存関係をインストールします。
uv sync --all-packages --all-groupsこの構成にはモデル実行環境が含まれません。OCR、VLM、モデルベースの埋め込みをすべて実行する場合は、すべてのエンジンを追加します。
uv sync --all-packages --all-groups --all-extras--extra ocr のように、重い処理レーンを一つだけ追加することもできます。現在の環境でルーティング対象となる機能と、利用できない場合の理由は、いつでも uv run indx capabilities で確認できます。
判断を確認する
Section titled “判断を確認する”just demo::runデモは、ネイティブテキストを計画し、請求書用の専用パーサーを検出し、スキャン済みフィクスチャを実行します。最小構成ではスキャンが手動レビューまで進み、OCR extra があれば読み取られます。どちらの場合もページは結果から消えません。
インターフェースを使う
Section titled “インターフェースを使う”uv run indx plan --signatures \ file://$PWD/tests/fixtures/invoice-anthropic.pdf
uv run indx encode \ file://$PWD/tests/fixtures/mixed-multipage.pdffrom indx import Indx, PlanRequest, RequestId, UriSource
service = Indx()plan = service.plan( PlanRequest( request_id=RequestId("quickstart"), source=UriSource(uri="file:///absolute/path/report.pdf"), ))
print(plan.status)print(plan.routes[0].selected.capability_id)サーバーを起動します。
just demo::server次に、サーバープロセスから参照できるファイルを計画します。
curl -s http://127.0.0.1:8000/v1/plan \ -H 'content-type: application/json' \ -d '{ "request_id": "quickstart", "source": { "type": "uri", "uri": "file:///absolute/path/report.pdf" } }'上の file:// が動くのは、ワークスペースのインストールに indx-loader-file が含まれているからです。どの URI スキームが解決できるかは indx ではなくインストール内容の性質です。file:/data: は indx-loader-file から、http:/https: は indx-loader-http から、s3: は indx-loader-s3 から届きます。indx が観測するすべての形式が indx-observer-pdf、indx-observer-image、indx-observer-office、indx-observer-text、indx-observer-email から届くのと同じ仕組みです。したがって素の pip install indx は URI を一つも解決せず、解決できる範囲を明示した 415 を返します。インライン base64 のソースは取得を伴わないため、そのまま利用できます。現在の集合は uv run indx capabilities の resolvable が報告します。
- 仕組み — 計画、実行、フォールバックを説明します。
- インターフェースと API — 四つの公開操作と型付きエラーを説明します。
- indx を拡張する — 独自パッケージで読み取り機能、専用パーサー、埋め込み空間を追加する方法を説明します。
- ベンチマーク — 現在の計測で分かることと分からないことを示します。