LeapfrogAI は、エアギャップ環境に導入されるように設計されたセルフホスト型 AI プラットフォームです。このプロジェクトは、AI スタックの必須コンポーネントをすべてホストできるようにすることで、エアギャップのあるリソースに制約のある環境に高度な AI ソリューションを導入することを目的としています。
当社のサービスには、ベクター データベース、モデル バックエンド、API、UI が含まれます。これらの機能には簡単にアクセスでき、既存のインフラストラクチャと統合できるため、環境の制限に関係なく AI の力を確実に活用できます。
大規模言語モデル (LLM) は、AI 主導の意思決定、コンテンツ生成などのための強力なリソースです。 LeapfrogAI はどのように AI をあなたのミッションにもたらすことができるでしょうか?
データの独立性: 機密情報をサードパーティのサービスに送信することは、すべての種類のデータまたは組織にとって適切または許容されるわけではありません。独自の LLM をホストすることで、データを完全に制御できます。
スケーラビリティ: 従量課金制の AI サービスは、特に大量のデータが関与し、常時接続が必要な場合に高価になる可能性があります。多くの場合、独自の LLM を実行すると、あらゆる規模のミッションに対してよりコスト効率の高いソリューションになります。
ミッションの統合: 独自の LLM をホストすることで、モデルのパラメーター、トレーニング データなどをカスタマイズし、特定のニーズに合わせて AI を調整することができます。
LeapfrogAI は、Defence Unicorns の安全なランタイム環境である Unicorn Delivery Service (UDS) 上に構築されており、次のようないくつかの機能が含まれています。
LeapfrogAI リポジトリは、API に基づいたモノリポジトリ構造に従い、各コンポーネントは専用のpackages
ディレクトリに含まれています。 LeapfrogAI の開発と最新の展開を処理する UDS バンドルは、 bundles
ディレクトリにあります。構造は次のようになります。
leapfrogai/
├── src/
│ ├── leapfrogai_api/ # source code for the API
│ ├── leapfrogai_evals/ # source code for the LeapfrogAI evaluation framework
│ ├── leapfrogai_sdk/ # source code for the SDK
│ └── leapfrogai_ui/ # source code for the UI
├── packages/
│ ├── api/ # deployment infrastructure for the API
│ ├── llama-cpp-python/ # source code & deployment infrastructure for the llama-cpp-python backend
│ ├── repeater/ # source code & deployment infrastructure for the repeater model backend
│ ├── supabase/ # deployment infrastructure for the Supabase backend and postgres database
│ ├── text-embeddings/ # source code & deployment infrastructure for the text-embeddings backend
│ ├── ui/ # deployment infrastructure for the UI
│ ├── vllm/ # source code & deployment infrastructure for the vllm backend
│ └── whisper/ # source code & deployment infrastructure for the whisper backend
├── bundles/
│ ├── dev/ # uds bundles for local uds dev deployments
│ └── latest/ # uds bundles for the most current uds deployments
├── Makefile
├── pyproject.toml
├── README.md
└── ...
LeapfrogAI を実行するための推奨される方法は、UDS を使用したローカル Kubernetes デプロイメントです。
システム要件と手順については、LeapfrogAI ドキュメント Web サイトのクイック スタート セクションを参照してください。
LeapfrogAI は、OpenAI の API とほぼ一致する API を提供します。この機能により、OpenAI/ChatGPT で構築されたツールが LeapfrogAI バックエンドとシームレスに機能できるようになります。
LeapfrogAI SDK は、gRPC でバックエンドを実装するための protobuf と Python ユーティリティの標準セットを提供します。
LeapfrogAI は、一般的なチャットや「ドキュメントの Q&A」などの一般的なユースケースをサポートする UI を提供します。
LeapfrogAI は、さまざまなユースケースに対応するいくつかのバックエンドを提供します。以下はバックエンドのサポートと互換性のマトリックスです。
バックエンド | AMD64 | ARM64 | CUDA | ドッカー | Kubernetes | UDS |
---|---|---|---|---|---|---|
ラマ-cpp-python | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
ささやき声 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
テキスト埋め込み | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
vllm | ✅ | ❌1 | ✅ | ✅ | ✅ | ✅ |
リピーターの「モデル」は、受信したすべての入力をユーザーにオウム返しする基本的な「バックエンド」です。これは実際のすべてのバックエンドと同じ方法で構築されており、主に API のテストに使用されます。
LeapfrogAI には、DeepEval と統合された評価フレームワークが付属しています。 LeapfrogAI での評価の実行と利用の詳細については、Evals README を参照してください。
各コンポーネントには、特定のイメージ レジストリや強化ソースを参照する異なるイメージと値があります。これらのイメージは、Zarf フレーバーを使用してパッケージ化されています。
upstream
:オープンソースのコンテナレジストリとリポジトリからの上流ベンダーイメージを使用します。registry1
: Repo1 ハーバー レジストリからの IronBank 強化イメージを使用します以下は現在のコンポーネントフレーバーのリストです。
成分 | upstream | registry1 |
---|---|---|
API | ✅ | ✅ |
ウイ | ✅ | ? |
超基地 | ✅ | ? |
移住 | ✅ | ? |
ラマ-cpp-python | ✅ | ? |
ささやき声 | ✅ | ? |
テキスト埋め込み | ✅ | ? |
vllm | ✅ | ? |
vllm | ✅ | ? |
? と表示されている成分を含むフレーバークイック スタート バンドル展開としてはまだ利用できません。ローカル テスト用にコンポーネントの Zarf パッケージを構築する方法については、DEVELOPMENT.md を参照してください。
LeapfrogAI UDS バンドルを構築して展開するには、LeapfrogAI ドキュメント Web サイトを参照してください。ドキュメント Web サイトでは、ローカル開発や貢献に関連しない LeapfrogAI に関するすべてのシステム要件と手順が見つかります。
ローカルの Python または Node.js 環境での各コンポーネントのコントリビュートおよびローカル デプロイメントおよび開発については、次のセクションに進んでください。
注記
ローカル開発を試みる前に、LeapfrogAI ドキュメント Web サイトから始めてください。
LeapfrogAI の各コンポーネントは、Kubernetes またはコンテナ化された環境の外部で個別に実行することもできます。これは、特定のコンポーネントへの変更をテストする場合には便利ですが、LeapfrogAI の完全な展開には役立ちません。導入手順については、上記のセクションを参照してください。 LeapfrogAI への貢献に関するルールについては、次のセクションを参照してください。
まず、一般的な開発の詳細については、DEVELOPMENT.md ドキュメントを参照してください。
次に、各サブディレクトリのローカル開発手順については、リンクされた README を参照してください。
すべての潜在的および現在の寄稿者は、このリポジトリに対して問題やプル リクエストを開く前に、寄稿ドキュメント、セキュリティ ポリシー、および行動規範を必ず読んでいることを確認する必要があります。
問題を送信するとき、または PR を開くときは、まず、潜在的な問題や PR を、既存またはクローズされた問題や PR と照らし合わせて検索したことを確認してください。重複していると思われる投稿は閉鎖されますので、あなたの投稿を参照し、直接的または同様の問題や PR と区別してください。
LeapfrogAI は、次のようなユーザーおよび貢献者のコミュニティによってサポートされています。
あなたの組織やロゴをこのリストに追加したいですか? PRを開いてください!
vLLM には、ARM64 用に構築された CUDA 対応の PyTorch が必要ですが、これは pip または conda では利用できません ↩
SDK は機能的に独立した単位ではなく、依存関係として API およびバックエンドと結合およびパッケージ化された場合にのみ機能単位になります。 ↩
API と UI には 2 つのサブディレクトリの下にアーティファクトがあることに注意してください。 packages/
に関連するサブディレクトリは Zarf パッケージングと Helm チャートに重点を置いていますが、 src/
に関連するサブディレクトリには実際のソース コードと開発手順が含まれています。 ↩ ↩ 2