eyelevelai/groundx-on-prem
A Kubernetes deployable instance of GroundX for document parsing, storage, and search.
GroundX On-Prem とは?
GroundX On-Prem は、Infrastructure-as-Code パッケージであり、EyeLevel AI の RAG(検索拡張生成)パイプラインを独自の Kubernetes クラスタ内で実行することを可能にします。エアギャップ環境や完全に分離された環境でも動作します。3つの要素をバンドルしています:
- GroundX Ingest – 複雑な文書を解析し、テキスト、レイアウト、テーブルなどを抽出し、LLM 向けのセマンティックオブジェクトとベクトル埋め込みを作成するビジョンモデル(100万ページ以上のエンタープライズ文書で訓練済み)。
- GroundX Store – 生ファイル、抽出されたオブジェクト、ベクトル埋め込みのための暗号化ストレージ。
- GroundX Search – 従来のテキスト検索とベクトル類似度、およびファインチューニングされたリランカーモデルを組み合わせ、高度に関連性の高い結果を返す OpenSearch ベースのサービス。
このリポジトリは、Helm チャート、values.yaml テンプレート、および任意の Terraform スクリプト(AWS のみ)を提供し、必要な Kubernetes リソース(ネームスペース、PV クラス、NVIDIA GPU Operator、および Redis、MySQL、MinIO、OpenSearch、Kafka などのサポートサービス)をプロビジョニングします。「外部依存なし」のデプロイとしてマーケティングされており、セキュアなオンプレミスまたはプライベートクラウドでの利用に適しています。
主要コンポーネント
| コンポーネント | 役割 | デプロイメントの注意点 |
|---|---|---|
| Ingest Service | ビジョンベースの文書理解(OCR、レイアウト検出、テーブル抽出) | GPU 対応ノード(eyelevel‑gpu‑layout)で実行。NVIDIA GPU Operator、CUDA 12+ が必要。 |
| Store | セキュアなオブジェクトおよびベクトルストレージ | ブロブには MinIO(または外部 S3)、ベクトルには OpenSearch を使用。既存のクラスタにデプロイまたは接続可能。 |
| Search Service | リランカー付きのテキスト + ベクトル検索 | OpenSearch バックエンドのノード(eyelevel‑gpu‑ranker)にデプロイ。 |
| Redis | キャッシュおよびメトリクス | 任意 – 既存の Redis クラスタを使用するか、Helm で作成させることも可能。 |
| MySQL | メタデータ永続化 | Redis と同じ任意のパターン。 |
| Kafka / SQS | 取り込みパイプライン用の非同期ジョブキュー | 任意;AWS SQS に置き換え可能。 |
| NVIDIA GPU Operator | GPU ノードにドライバー、デバイスプラグイン、ランタイムをインストール | GPU ベースの Pod に必須。 |
インストール概要
- 前提条件 –
bash、kubectl(またはoc)、および Helm v3.8+。十分な CPU、RAM、ディスク、および NVIDIA GPU(CUDA 12+)を備えた Kubernetes クラスタ。 | - ノードグループのラベリング – Pod は
nodeSelector/tolerationsを使用してスケジュールされ、eyelevel_nodeラベルにはeyelevel‑cpu‑only、eyelevel‑gpu‑layoutなどの値が使用されます。デフォルトのvalues.yamlはこれらのラベルを定義していますが、実際のノードに適用する必要があります。 | - ネームスペースおよび PV クラス – 提供されている
groundx-storageclassチャートを使用して、ネームスペース(デフォルトはeyelevel)と PersistentVolume クラスを作成します。 | - GPU Operator – NVIDIA の GPU Operator(Helm チャート)をインストール – Azure 固有の値が提供されています。 |
- サポートサービス – 既存の Redis、MySQL、MinIO、OpenSearch、および Kafka クラスタにデプロイまたは接続します。 |
- GroundX のデプロイ – カスタマイズされた
values.yaml(ノードラベル、リソース制限、外部サービスエンドポイントを含む)を使用して、GroundX Helm チャート(helm install groundx groundx/groundx ...)を実行します。 | - (任意)オートスケーリングおよびモニタリング – チャートのフラグを通じて、Horizontal Pod Autoscaler、カスタムメトリクスサーバー、Prometheus 統合を有効にします。 |
動作原理
- 取り込みパイプライン: 文書はアップロードされます(SDK または API を介して)。layout Pod(GPU)が OCR とレイアウト検出を実行し、pre‑process Pod がデータをクリーンアップし、summary Pod が簡潔な埋め込みを生成します。結果は MinIO に保存され、OpenSearch にインデックス付けされます。
- 検索: ユーザーは Search API に自然言語クエリを送信します。OpenSearch がハイブリッドなテキスト-ベクトル検索を実行し、その後 ranker モデル(GPU)がヒットを並べ替え、関連性を高めます。
- セキュリティ: すべてのデータはクラスタ内に保持され、ストレージは暗号化され、デプロイメントはエアギャップネットワークで実行できます。
SDK および API
README には、完成した SDK(言語非依存)と REST エンドポイントが言及されていますが、詳細は記載されていません。デプロイ後、以下を行うことができます:
- 公開 API エンドポイントを取得する(
kubectl get svcまたは Helm 出力を介して)。 - 提供されるクライアントライブラリ(おそらく Python/JS)を使用して
/ingestおよび/searchエンドポイントを呼び出す。
誰がこれを使う可能性があるか?
- 機密性の高い RAG を必要とするエンタープライズ(法律、医療、金融などのプロプライエタリ文書)で、データをパブリッククラウドに送信できない場合。
- 既存の Kubernetes/GPU インフラストラクチャを持ち、ターンキーの RAG スタックを求めている組織。
- コアサービスを Helm で管理したまま、パイプラインを拡張したい(カスタムモデル、追加のポストプロセッシング)チーム。
含まれていないもの
- 実際のモデルバイナリはリポジトリに含まれていません;Helm インストール中にコンテナイメージとしてプルされます。
- ホスティング SaaS はありません – リポジトリはオンプレミスバージョンです;ホスティングバージョンは
eyelevel.aiに存在します。 - 「Legacy Terraform Deployment」セクションは、AWS インフラストラクチャ用の古いスクリプトのみを指しています;主要なパスは既存のクラスタでの Helm です。
結論: GroundX On-Prem は、エンタープライズレベルの検索拡張生成(RAG)のフルスタック(取り込み、ストレージ、検索)を提供する、本物のプロダクショングレードのオープンソースプロジェクトであり、詳細なリソース計画ガイダンス付きの Kubernetes IaC として提供されています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト