Skip to content

カスタムアプリケーションの作成

プレミアム機能

構築済みイメージからのカスタムアプリケーションのアップロードは、プレミアム機能です。 この機能を有効にする方法については、DataRobotの担当者または管理者にお問い合わせください。

Dockerで作成したイメージから、Streamlit、Dash、Plotlyなどのウェブアプリケーションを使ってDataRobotでカスタムアプリケーションを作成し、機械学習プロジェクトを共有できます。 Dockerでカスタム機械学習アプリを作成したら、DataRobotのレジストリ > すべてのアプリケーションでカスタムアプリケーションとしてアップロードし、セキュアなデータアクセスと制御でデプロイできます。 あるいは、DRAppsコマンドラインツールを使用してアプリコードを作成し、DataRobotにプッシュして、自動的にイメージを構築することもできます。

以下の表では、カスタムアプリケーションを作成する各方法について説明します。

方法 説明
アプリのアップロード targz、またはtgzアーカイブとして保存されたカスタムアプリケーションをアップロードします。
アプリケーションソースからのアプリ作成 既存のアプリケーションソースからカスタムアプリケーションを構築します。
テンプレートからのアプリ作成 DataRobotが提供するテンプレートからカスタムアプリケーションを構築します。 これらは、生成AIおよび予測AIのユースケースの開発と運用を加速するために設計された、エンドツーエンドのレシピです。

アプリケーションにおける永続的なストレージ

DataRobotでは、キーバリューストアAPIとファイルストレージを使用して、アプリケーションに永続的なストレージを提供します。 これには、ユーザー設定、プリファレンス、特定のリソースへのアクセス権限のほか、チャット履歴、使用状況の監視、大きなデータフレームのデータキャッシュなどを含めることができます。

休止状態のカスタムアプリケーション

カスタムアプリケーションは、一定期間操作がないと休止状態になります。 休止状態のカスタムアプリケーションに初めてアクセスすると、再起動中にロード画面が表示されます。

サポートされているフレームワーク

Dockerイメージからカスタムアプリケーションを作成する場合、DataRobotでは現在、以下のアプリケーションフレームワークがサポートされています。

  • Streamlit
  • Dash
  • Aiohttp
  • Plotly
  • Flask

カスタムアプリケーションのアップロード

カスタムアプリケーションをDataRobotにアップロードするには、まずDockerでアプリイメージを作成する必要があります。

  1. Dockerをインストールします。

  2. アプリを作成します(StreamlitFlaskAiohttpの例を参照してください)。

  3. Dockerfileでポート8080をHTTPリクエスト用にExposeします。

  4. docker build [PATH] | [URL] -—tag [IMAGE NAME]でイメージを構築します。

  5. docker run --publish 8080:8080 [IMAGE NAME]によって、アプリのイメージをローカルでテストします。

アプリのイメージをDataRobotにアップロードする準備ができたら、新しいビルドを作成し、docker save [IMAGE NAME] --output [PATH]でエクスポートします。 アプリができたら(targz、またはtgzアーカイブとしてエクスポート)、そのイメージをアプリケーションタブにアップロードします。

カスタムアプリケーションtargzまたはtgzアーカイブがある場合、DataRobotレジストリアプリケーションページに画像をアップロードできます。

  1. レジストリでアプリケーションページに移動し、新しいアプリケーションソースを追加の横にあるドロップダウンをクリックします。 次に、アプリケーションをアップロードを選択します。

  2. カスタムアプリケーションの新規作成パネルで、以下の設定を行います。

    • 名前フィールドで、カスタムアプリのわかりやすい名前を入力します。

    • アプリケーションのイメージを追加グループボックスで、 ファイルを選択をクリックし、そのイメージを含むtargz、またはtgzアーカイブを選択して、開くをクリックします。

      カスタムアプリケーションのイメージのアップロードが開始されます。

  3. アプリケーションがアップロードされたら、新規アプリケーションの作成をクリックします。

    カスタムアプリケーションは、初期化中というステータスですべてのアプリケーションリストに追加されます。 構築されたら、開くをクリックしてアプリケーションを表示できます。

    備考

    アプリケーションタブのカスタムアプリケーションの横にあるアクションメニュー をクリックして、アプリケーションを共有または削除できます。

アプリケーションソースからのアプリ構築

備考

カスタムアプリのストレージコンポーネントは永続的ではありません。 /tmpディレクトリにのみ書き込み可能で、ディレクトリの内容はセッション間で保持されません。

アプリケーションソースを設定している場合、それを使用してカスタムアプリケーションを構築できます。

  1. レジストリで、アプリケーション > アプリケーションソースタブをクリックし、カスタムアプリケーションを構築するアプリケーションソースを選択します。

  2. アプリケーションを構築をクリックします。 DataRobotがアプリケーションを初期化する時間を与えます。

  3. カスタムアプリケーションが、そのソースから構築されたアプリケーションのリストに追加されます。 構築されたら、開くをクリックしてアプリケーションを表示できます。

    備考

    アプリケーションタブのカスタムアプリケーションの横にあるアクションメニュー をクリックして、アプリケーションを共有または削除できます。

テンプレートからのアプリ構築

DataRobotが提供する、すぐに使えるフロントエンドテンプレートのいずれかを使用して、カスタムアプリケーションを構築できます。 これらのテンプレートには、カスタマイズ可能なコンポーネントとともに必要なアセットがすべて含まれているため、ニーズに合ったAIソリューションを迅速に導入できます。

以下のテンプレートが用意されています。

アプリケーションテンプレート 説明
Flaskアプリの基本テンプレート Pythonの柔軟なWebフレームワークであるFlaskアプリケーションの構築に使用されるコードテンプレート。 Flaskを使用すると、アプリの動作を定義する特定のPython関数にURLをマッピングすることができます。
Node.jsとReactの基本テンプレート Node.jsサーバー機能を備えたReactフロントエンドアプリケーションを構築するためのコードテンプレート。
Q&Aチャット生成アプリのテンプレート Streamlitを使用し、スタイリングライブラリstreamlit-salでサポートされるQ&Aアプリケーションの構築に使用されるコードテンプレート。
Slack Botアプリのテンプレート Slackボットのメッセージやイベントを設定するSlackアプリケーションを作成するためのコードテンプレート。
Streamlitアプリの基本テンプレート Streamlitアプリケーションの構築に使用されるコードテンプレート。 Streamlitは、データ駆動型のアプリケーションを迅速に構築およびデプロイするために設計された、オープンソースのPythonフレームワークです。

テンプレートからアプリケーションを作成するには:

  1. レジストリで、アプリケーションページをクリックし、ページ右上の新しいアプリケーションソースを追加 > テンプレートから新しいアプリケーションを作成をクリックします。

  2. カスタムアプリケーションテンプレートを参照して、各テンプレートがサポートするユースケースを確認します。 以下の表は、利用可能なテンプレートをまとめたものです。

  3. テンプレートをクリックすると、ユースケースに関する詳細情報を含むサポートドキュメントが展開およびレビューされます。

  4. テンプレートを選択し、右上隅にあるアプリケーションのソースを作成をクリックします。

  5. DataRobotは、テンプレートの内容が入力されたアプリケーションソースページを表示します。 アプリケーションの依存関係とアプリケーションソースのファイルを確認して、アプリケーションを構築をクリックします。 DataRobotがアプリケーションを初期化する時間を与えます。

  6. カスタムアプリケーションが、そのソースから構築されたアプリのリストに追加されます。 構築されたら、開くをクリックしてアプリケーションを表示します。