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 pull
やgit 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での認証¶
- GitHubパーソナルアクセストークン(PAT)を作成し、シングルサインオンとの互換性を確認します(必要な場合)。 GitHubで提供されている手順に従い、PATを作成します。
- SAMLシングルサインオンに使用するために組織に関連付けられたPATを承認します(必要な場合)。
- 新規追加 > Codespace > Codespaceを追加を選択して、新しいcodespaceを作成します。
- 環境変数サイドパネルで、キー
GH_TOKEN
と前の手順で作成したPATに設定された値を含むCodespace環境変数を作成します。 - Codespaceセッションを開始します。 Codespaceが実行されたら、 ターミナルセッションを作成します。
-
新しく作成されたターミナルインスタンスに、次のコマンドでGitHub CLI
gh
をインストールします。|
curl -sS https://webi.sh/gh | sh
| -
DataRobotは、Codespaceセッションの開始時に
GH_TOKEN
環境変数を設定します。gh
は、そのトークンを使用して自動的に認証されます。 次のgh
コマンドを使用して、直ちにCodespaceファイルシステムへのリポジトリのクローン作成に進むことができます。gh repo clone <repository>
-
クローンの作成が完了すると、リポジトリの内容がcodespaceのファイルマネージャーに表示されます。
Git CLIでの認証¶
- GitHubパーソナルアクセストークン(PAT)を作成し、シングルサインオンとの互換性を確認します(必要な場合)。 GitHubで提供されている手順に従い、PATを作成します。 組織に関連付けられたGitHubアカウントを使用する必要があります。
- SAMLシングルサインオンに使用するために組織に関連付けられたPATを承認します(必要な場合)。
- 新規追加 > Codespace > Codespaceを追加を選択して、新しいcodespaceを作成します。
- Codespaceセッションを開始します。 Codespaceが実行されたら、 ターミナルセッションを作成します。
-
リポジトリのクローンを作成する前に、ターミナルで
cd
を実行して“storage”ディレクトリに移動します。 -
Git clone
を実行して、Bashのような環境と同じようにリポジトリのクローンを作成します。 When you are prompted for a username and password, provide the PAT you configured in step 1. -
クローンの作成が完了すると、リポジトリの内容が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の依存関係は、セッション間で維持されなくなります。