Skip to content

アプリケーション内で をクリックすると、お使いのDataRobotバージョンに関する全プラットフォームドキュメントにアクセスできます。

Codespaceセッション

このページでは、codespaceセッションの開始方法、codespaceへのファイルのアップロード方法、codespaceの内容の管理方法について説明します。 Codespaceの表示と管理は、ユースケースホームページのノートブックタブから実行できます。

個々のcodespaceを他のユーザーと直接共有することはできませんが、ワークベンチでは、codespaceを含むユースケースを共有できます。 したがって、codespaceを他のユーザーと共有するには、 ユースケース全体を共有して、すべての関連アセットにアクセスできるようにする必要があります。

Codespaceセッションの開始

Codespaceのファイルシステムの内容を管理したり、そのファイルを編集して実行したりするには、まずcodespaceの環境を起動する必要があります。 環境アイコンをクリックして 環境を設定します。 環境イメージは、ノートブック内で使用されるコーディング言語、依存関係、およびオープンソースライブラリを決定します。 Codespaceのデフォルトイメージは、構築済みのPythonイメージです。 デフォルトイメージで利用可能なすべてのパッケージのリストを表示するには、環境タブでそのイメージにカーソルを合わせます。

ビルトイン環境に加えて、環境ドロップダウンから カスタム環境を選択して、codespaceセッションに使用することもできます。

Codespaceセッションを開始するには、ツールバーで環境をオンにして起動します。

環境が初期化されるまでしばらく待ち、「開始済み」ステータスが表示されたら、codespaceの操作を開始できます。 Codespaceセッションが開始されると、ファイルシステムのボリュームがパス/home/notebooks/storage/にマウントされます。

コンテナセッションが開始されると、ファイルシステムのボリュームがマウントされます。 サイドパネルのファイルシステムに、ファイルとフォルダーをアップロードして管理できます。 ファイルブラウザーのUIから、フォルダー、ノートブックファイル、ノートブック以外のファイルを新規作成することもできます。 以下のスクリーンショットに示すように、「ノートブックを作成」アイコンをクリックすると、新しいノートブックを作成できます。

(セルフマネージドを除く)AIプラットフォームでは、codespacesのバックアップ機能と保持ポリシーを提供しています。 DataRobotは、セッションのシャットダウン時とcodespaceの削除時にcodespaceのボリュームのスナップショットを作成します。Codespaceのデータを復元したい場合に備えて、その内容を30日間保持します。

Codespaceの環境変数

Codespaceのエンティティの場合、環境変数は、個々のノートブックファイルレベルではなく、codespaceレベルで定義されます。 Codespaceセッションが開始されると、DataRobotは、環境変数タブで定義されたすべての環境変数を設定します。 これらの環境変数は、codespaceファイルシステム内のどのノートブックからでも、コードを介して取得できる。

環境変数にアクセスするには、サイドバーのロックアイコンをクリックします。 次に、新しいエントリーを作成をクリックします。

ダイアログボックスで、1つのエントリーのキーと値を入力します。必要に応じて説明を入力します。

複数の変数を追加するには、一括インポートを選択します。 エントリーウィンドウで、変数を1行に1つずつ以下の形式で入力します。

KEY=VALUE # DESCRIPTION

備考

同じキーを持つ既存の環境変数の値は、指定した新しい値によって上書きされます。

環境変数の追加が完了したら、保存をクリックします。

Codespaceへのファイルの追加

各codespaceは、独自の永続的なファイルシステムで構成されます。 サイドパネルのファイルブラウザーを使用して、codespaceのファイルシステムに任意の数のファイルやフォルダーをアップロードできます。 ノートブックを使用するには、.ipynbファイルをアップロードします。

ファイルをアップロードする前に、codespaceの環境を起動する必要があります。 環境の設定方法の詳細については、 ノートブック環境の管理に関するドキュメントを参照してください。

環境を起動したら、アップロードモーダルにドラッグアンドドロップするか、アップロードをクリックしてファイルまたはフォルダーを選択することで、ローカルマシンからファイルまたはフォルダーをアップロードします。

ファイルを作成

新しいフォルダー、ノートブックファイル、およびノートブック以外のファイルをcodespaceから直接作成できます。 Codespaceのファイルパネルに移動し、以下で強調表示されているアイコンを使用します。

新しいファイルを作成するには、Codespaceのファイルパネルに移動し、以下で強調表示されているアイコンを使用します。

フィールド 説明
1 ノートブックを作成 実行可能な.ipynbファイルを作成します。 ノートブックファイルの名前を入力します。
2 ファイルを作成 Codespaceの現在のフォルダーに新規ファイルを作成します。 名前を入力し、拡張子でファイルタイプを指定します。
3 ディレクトリを作成 Codespaceの現在のフォルダー内に別のフォルダーを作成します。 フォルダーの名前を入力します。

ファイルを作成すると、codespaceフォルダーの一部として表示されます。

ファイルの管理

Codespace内から直接ファイルを管理および編集できます。 編集するファイルの右側にあるアクションメニュー を選択すると、実行可能なアクションが表示されます。

Codespaceでのノートブックの操作

Codespace内でノートブックを編集して実行するには、ファイルブラウザーでノートブックファイル(.ipynb)をダブルクリックして開きます。

Codespaceのインターフェイスはタブ操作に対応しているので、複数のファイルを同時に開き、表示、編集することができます。ードスペースのインターフェイスはタブ操作に対応しているので、 Jupyterと同様に、ノートブックファイルを開くと、そのノートブックのカーネルプロセスが開始されます。 開かれたノートブックは、それぞれ独自のカーネルで実行されます。

DataRobotでは、アクティブなカーネルで実行されているノートブックを、ファイルブラウザーに紫色のノートブックアイコンで示します。 非アクティブなノートブックには白いアイコンが表示されます。

カーネルをシャットダウンするには、ノートブックファイルのアクションメニュー を開き、カーネルをシャットダウンを選択します。

ノートブック以外のファイルの操作

Codespaceでは、ノートブックの編集と実行に加えて、他の種類のファイルを表示および編集するためのテキストエディターも用意されています。 たとえば、以下に示すように、イメージファイルの表示やPythonユーティリティスクリプトの編集ができます。

CodespacesでのGitの使用

ノートブックはcodespaceで.ipynbファイルとして表され、外部のGitリポジトリを使用して、ノートブックとノートブック以外のファイルの両方をバージョン管理することができます。 Gitリポジトリから新しいcodespaceを初期化するだけでなく、アクティブなセッション中に、codespaceの統合 ターミナルGit CLIを直接使うこともできます。

Codespaceセッションで新しいターミナルインスタンスを作成するには、まず codespace環境が実行されていることを確認します。

サイドバーから、ページ下部にあるターミナルアイコンを選択して、新しいターミナルウィンドウを作成します。

ターミナルセッションが実行されたら、git pullgit pushなどのGit CLIコマンドを使用して、codespaceをリモートリポジトリと同期させ、変更をプッシュできます。

備考

リモートリポジトリに変更をプッシュすると、ターミナルでGitアカウントの設定と認証を求められます。

たとえば、以下に示すようにgit cloneを使用して、codespaceファイルシステムにGitリポジトリのクローンを作成できます。

プライベートGitHubリポジトリの操作

パブリックリポジトリとは異なり、Codespaceでプライベートリポジトリを操作するには、最初にGitHubを介して認証する必要があります。 DataRobotでは、最も簡単な認証方法として GitHub CLIを使用することをお勧めします。 ただし、GH_TOKEN Codespace環境変数に設定できるのは一度に1つのパーソナルアクセストークンだけなので、このアプローチは、このCodespaceで他のユーザーとコラボレーションを行う予定がない場合にのみ推奨されます。 他のユーザーがこのCodespaceを開始および編集する場合は、 Git CLI認証方法を使用することを検討してください。

GitHub CLIでの認証

  1. GitHubパーソナルアクセストークン(PAT)を作成し、シングルサインオンとの互換性を確認します(必要な場合)。 GitHubで提供されている手順に従い、PATを作成します。
  2. SAMLシングルサインオンに使用するために組織に関連付けられたPATを承認します(必要な場合)。
  3. 新規追加 > Codespace > Codespaceを追加を選択して、新しいcodespaceを作成します。
  4. 環境変数サイドパネルで、キーGH_TOKENと前の手順で作成したPATに設定された値を含むCodespace環境変数を作成します。
  5. Codespaceセッションを開始します。 Codespaceが実行されたら、 ターミナルセッションを作成します。
  6. 新しく作成されたターミナルインスタンスに、次のコマンドでGitHub CLI ghをインストールします。

    | curl -sS https://webi.sh/gh | sh |

  7. DataRobotは、Codespaceセッションの開始時にGH_TOKEN環境変数を設定します。 ghは、そのトークンを使用して自動的に認証されます。 次の ghコマンドを使用して、直ちにCodespaceファイルシステムへのリポジトリのクローン作成に進むことができます。

    gh repo clone <repository>

  8. クローンの作成が完了すると、リポジトリの内容がcodespaceのファイルマネージャーに表示されます。

Git CLIでの認証

  1. GitHubパーソナルアクセストークン(PAT)を作成し、シングルサインオンとの互換性を確認します(必要な場合)。 GitHubで提供されている手順に従い、PATを作成します。 組織に関連付けられたGitHubアカウントを使用する必要があります。
  2. SAMLシングルサインオンに使用するために組織に関連付けられたPATを承認します(必要な場合)。
  3. 新規追加 > Codespace > Codespaceを追加を選択して、新しいcodespaceを作成します。
  4. Codespaceセッションを開始します。 Codespaceが実行されたら、 ターミナルセッションを作成します。
  5. リポジトリのクローンを作成する前に、ターミナルでcdを実行して“storage”ディレクトリに移動します。

  6. Git cloneを実行して、Bashのような環境と同じようにリポジトリのクローンを作成します。 When you are prompted for a username and password, provide the PAT you configured in step 1.

  7. クローンの作成が完了すると、リポジトリの内容がcodespaceのファイルマネージャーに表示されます。

永続的な依存関係のインストール

アクティブなセッション中にランタイムのカスタム依存関係をcodespaceにインストールすると、Pythonとpipの依存関係および Hugging Faceのアーティファクトは、ユーザーの仮想環境にインストールされている場合、セッションをまたいで持続することができます。 この永続的な依存関係のインストール機能は、Pythonベースのイメージがcodespaceセッションに使用されている場合にのみサポートされます。

Codespaceには、2つの仮想環境があります。

  • ユーザー仮想環境 (/home/notebooks/storage/.venv):ランタイムにインストールされたカスタム依存関係をすべてのcodespaceセッションで持続させる新しいユーザー仮想環境。 この仮想環境はcodespaceに関連付けられます(codespaceのファイルシステムで永続化されるため)。したがって、codespaceにアクセスできるすべてのユーザーは、codespaceのセッションを開始すると、同じ永続化されたpipのインストールセットにアクセスできます。

  • カーネル仮想環境 (/etc/system/kernel/.venv):選択されたノートブック環境イメージの一部としてDataRobotが提供するすべての依存関係を保持する、ビルトインイメージの仮想環境。 この仮想環境では、インストールしたカスタム依存関係は持続しませんが、セッション中は維持されます。

UIからユーザー仮想環境に直接アクセスすることはできませんが(codespaceのファイルシステムパネルには表示されません)、 ターミナル経由でアクセスできます。 ここで!pip install <PACKAGE_NAME>を実行して、セッションをまたいで持続するカスタム依存関係をインストールできます。

デフォルトでは、!pip installによってインストールした新しい依存関係はすべて、ユーザー仮想環境に入ります。 ノートブックのビルトインイメージの一部としてDataRobotが提供するライブラリの別バージョンをインストールする場合は、ユーザー仮想環境が優先されます。

DataRobotパッケージのインストールに関する注意事項

依存関係のインストール機能を使用してdatarobotxパッケージまたは新しいバージョンのdatarobotパッケージ(ビルトインイメージにプリインストールされているものよりも新しいバージョン)をインストールすると、DataRobotパッケージ(datarobot-mlops-connected-clientなど)にインストールするプリインストール済みDataRobotパッケージが壊れる可能性があります。 これは、アクティブなCodespaceセッションで新しいパッケージまたは既存のパッケージの新しいバージョンをインストールすると、カーネル仮想環境よりも優先されるユーザーの仮想環境にインストールされるためです。 この場合、datarobotxのインストールはユーザー仮想環境にdatarobotパッケージを作成します。カーネル仮想環境のdatarobotパッケージは解決できません。 しかし、pipでは、引き続きdatarobot-mlops-connected-clientがインストールされていると考えられています。

このエラーを解決するには、datarobotパッケージ(datarobot-mlops-connected-clientなど)を拡張するすべてのシャドウライブラリに対して--force-reinstallを付けてpip installを実行します。 例:pip install datarobot-mlops-connected-client --force-reinstall

依存関係のインポート元を確認するには、ノートブックセルまたはターミナルで次のコマンドを実行します。

pip list -v 
パッケージ                         バージョン     位置                                                  インストーラー
-------------------------------- ------------ ---------------------------------------------------- ---------
...
datarobot                        3.3.0        /etc/system/kernel/.venv/lib/python3.9/site-packages pip
... 

ユーザー仮想環境のサイズを確認するには、ターミナルで次のコマンドを実行します。

(.venv) [notebooks@kernel ~/storage]$ du -h . -d 1
14M     ./.venv
14M     . 

ユーザー仮想環境が壊れていると思われ、再作成する場合は、ターミナルで次のコマンドを実行します。

rm -rf /home/notebooks/storage/.venv
python -m venv /home/notebooks/storage/.venv 

永続的な依存関係のインストールを無効化

指定したcodespaceで永続的な依存関係のインストールを無効にしたい場合、最初に新しい環境変数NOTEBOOKS_NO_PERSISTENT_DEPENDENCIES=1をcodespaceに追加します。 次に、codespaceのターミナルからrm -rf /home/notebooks/storage/.venvを実行して、既存のユーザー仮想環境を削除します。 その後、codespaceセッションを再起動します。 ランタイムにインストールされたPythonの依存関係は、セッション間で維持されなくなります。


更新しました October 2, 2024