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

個々のcodespaceを他のユーザーと直接共有することはできませんが、ワークベンチでは、codespaceを含むユースケースを共有できます。 したがって、codespaceを他のユーザーと共有するには、 ユースケース全体を共有して、すべての関連アセットにアクセスできるようにする必要があります。
Codespaceセッションの開始¶
Codespaceのファイルシステムの内容を管理したり、そのファイルを編集して実行したりするには、まずcodespaceの環境を起動する必要があります。 環境アイコンをクリックして 環境を設定します。 環境イメージは、ノートブック内で使用されるコーディング言語、依存関係、およびオープンソースライブラリを決定します。 Codespaceのデフォルトイメージは、構築済みのPythonイメージです。 デフォルトイメージで利用可能なすべてのパッケージのリストを表示するには、環境タブでそのイメージにカーソルを合わせます。

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を直接使うこともできます。 DataRobotはGitプロバイダーと連携しているため、codespaceでコードを開発する際に、コードのバージョン管理やチームでの共同作業を行うことができます。
Gitプロバイダーとの連携¶
DataRobotとGitプロバイダーを連携することで、DataRobotがOAuth 2.0標準を使用してリポジトリにアクセスできるようにします。
Gitプロバイダーと連携するには、ユーザーアイコンをクリックし、Gitプロバイダーのページを選択します。

Gitプロバイダーのページから、連携したいプロバイダーを選択します。 DataRobotでは、GitHub Cloud、GitLab Cloud、Bitbucket Cloudとの連携をサポートしています。 この連携設定は、Gitプロバイダーのアカウントごとに一度だけ行う必要があります。 以下の例では、GitHub Cloudでの認証の概要を示します。

プロバイダーを選択したら、アクションメニューアイコン()をクリックし、github.comで認可を選択します(URLは選択したプロバイダーによって変わります)。

プロバイダーのログインページにリダイレクトされます。 アカウントにサインインし、DataRobotのアクセスを認可します。

認可されると、Gitプロバイダーページに再びリダイレクトされます。
GitHubの追加設定
GitHubの設定には、認可後に追加の手順が必要です。 GitLabまたはBitbucketのアカウントでDataRobotを認可する場合、この追加の設定手順は必要ありません。
Gitプロバイダーのページに戻ると、GitHubの設定ページにアクセスしてDataRobotアプリをインストールするように通知されます。 通知の権限の管理をクリックして、GitHubにリダイレクトします。

個人のGitHubアカウントと組織アカウントにDataRobot GitHubアプリをインストールして、そのアカウントに属するリポジトリを操作します。 連携したいアカウントを選択し、そのアカウントに属するすべてのリポジトリに対してDataRobotアプリをインストールして認可するか、選択したリポジトリに対してのみ認可するかを指定します。 DataRobotアプリが個人のGitHubアカウントにインストールされていない場合、Gitとプライベートリポジトリの連携を使用できません。 認可するリポジトリを選択したら、インストールて認可をクリックします。

Gitプロバイダーの連携管理¶
GitプロバイダーのアカウントにインストールされたDataRobotアプリに対する権限を表示および管理するには、対応するプロバイダーのメニューアイコンに移動し、github.comで管理をクリックします(URLは選択したプロバイダーによって変わります)。 これにより、対応するGitプロバイダーサイトにリダイレクトされ、認可とアクセス権限の設定が表示されます。

以下の表は、一般的なGitプロバイダーの認可を管理する場所のリストです。
プロバイダー | アプリの場所 | 備考 |
---|---|---|
GitHub | Githubアプリケーションのインストール設定ページおよびGitHubアプリケーションの認可 | アプリの認可セクションではアカウントの認可を設定および取り消すことができ、インストールの設定ページではアカウントのリポジトリに対するGitHubアプリのアクセス権限を設定できます。 OAuth管理インターフェイスを使用して、他の組織のアプリケーション構成を確認できる特定のアプリケーション設定ページに移動します。 |
GitLab | Gitlabアプリケーションの設定 | 設定の詳細については、認可されたアプリケーションの表を参照してください。 |
Bitbucket | Bitbucketアプリの認可 | N/A |
Gitプロバイダーアカウントに対するDataRobotの認可が不要になった場合は、認可を取り消すをクリックします。 DataRobotはアカウントにアクセスできなくなり、関連付けられているすべてのメタデータを削除します。 ただし、APIの制限により、DataRobotが認可を完全に取り消すことができないため、DataRobotアプリがGitプロバイダーの認証済みアプリに表示される場合があります。

GitLabとBitbucketの場合、認可を取り消したら、Gitプロバイダーの設定で追加の手順を実行して、DataRobot OAuthアプリの認可を取り消す必要があります。 たとえば、GitLabでは、GitLabユーザー設定のアプリケーションページで認可を取り消します。

Gitプロバイダーのサイトで認可を取り消しても、DataRobotの設定では取り消していない場合、次回、対応するGitアカウントのリポジトリに対するcodespaceでGit操作を使用すると、認可が期限切れとして検出されます。 この連携を再び使用するには、そのGitプロバイダーアカウントに対してDataRobotを再認可する必要があります。
Git CLIを使用した開発¶
Gitプロバイダーに対してDataRobotを認可したら、ターミナルからcodespaceセッションでGit CLIを使い始めることができます。 DataRobotがユーザーに代わって自動的に認証を処理するため、Git CLIコマンドを実行するたびに個人用アクセストークン(PAT)を使用してGitアカウントを手動で認証する必要はありません。 DataRobotは、バックグラウンドでカスタムのGit資格情報ヘルパーを使用してこれを実現しています。
Git CLIの認証
この自動認証フローは現在、Git CLIでのみサポートされており、GitHub CLI ではサポートされていません。 GitHub CLIをcodespaceで使用したい場合は、ターミナルでgh
コマンドを使用する際に、パーソナルアクセストークン(PAT)を使って手動で認証する必要があります。 PATはGH_TOKEN
またはGITHUB_TOKEN
環境変数として設定できます。 gh
はその環境変数の値を使って認証します。
Git認証は個々のユーザーレベルで処理されます。 複数のユースケースメンバーがユースケース内の同じ共有codespaceにアクセスできる場合でも、DataRobotは、アクティブなcodespaceセッションを開始したユーザーの代わりに、そのユーザーの認可されたGitプロバイダーアカウントに基づいてのみ認証を試みます。
リモートGitリポジトリのクローンを作成し、それらのリポジトリとの間で変更内容をプッシュおよびプルするだけで、追加の認証手順は必要ありません。
git clone https://github.com/<my-account>/<my-repo>
git pull
Gitリポジトリからcodespaceを作成する¶
既存の外部Gitリポジトリのコードでインスタンス化された新しいcodespaceを作成する場合は、ユースケースに移動して、追加 > Codespace > Codespaceをアップロードを選択します。

パブリックリポジトリのクローンを作成する場合は、GitクローンのURLを指定します(対応するGitプロバイダーとの連携を追加している必要はありません)。

プライベートリポジトリからcodespaceを作成するには、プライベートリポジトリタブを選択し、ドロップダウンからプロバイダーを選択します。 ここに表示されるのは、すでに認可済みのプロバイダーだけです。

クローンを作成したいリポジトリを選択します。 デフォルトでは、最近更新されたリポジトリがリポジトリドロップダウンに表示されます。 特定のリポジトリを検索するには、検索フィールドに入力します。

Gitリポジトリから新しいcodespaceを作成するだけでなく、codespaceターミナルでGit CLIを使用して、既存のcodespaceにGitリポジトリを直接複製することもできます。
永続的な依存関係のインストール¶
アクティブなセッション中にランタイムのカスタム依存関係を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が提供するライブラリの別バージョンをインストールする場合は、ユーザー仮想環境が優先されます。
永続的な依存関係のインストールを無効化¶
指定したcodespaceで永続的な依存関係のインストールを無効にしたい場合、最初に新しい環境変数NOTEBOOKS_NO_PERSISTENT_DEPENDENCIES=1
をcodespaceに追加します。 次に、codespaceのターミナルからrm -rf /home/notebooks/storage/.venv
を実行して、既存のユーザー仮想環境を削除します。 その後、codespaceセッションを再起動します。 ランタイムにインストールされたPythonの依存関係は、セッション間で維持されなくなります。
依存関係のインストールに関する注意事項¶
DataRobotパッケージ¶
依存関係のインストール機能を使用してdatarobotx
パッケージまたは新しいバージョンのdatarobot
パッケージ(ビルトインイメージにプリインストールされているものよりも新しいバージョン)をインストールすると、DataRobotパッケージ(datarobot-mlops-connected-client
など)にインストールするプリインストール済みDataRobotパッケージが壊れる可能性があります。 これは、アクティブなCodespaceセッションで新しいパッケージまたは既存のパッケージの新しいバージョンをインストールすると、カーネル仮想環境よりも優先されるユーザーの仮想環境にインストールされるためです。 datarobotx
パッケージをインストールすると、ユーザーの仮想環境にdatarobot
パッケージが作成され、カーネル環境に正しくインストールできなくなります。 これにより、datarobot-mlops-connected-client
のようなパッケージを正常にインストールできません。ただし、pip(または任意のパッケージマネージャー)は、引き続きパッケージをインストール済みとして登録します。
このエラーを解決するには、datarobot
パッケージ(datarobot-mlops-connected-client
など)を拡張するすべてのシャドウライブラリに対して--force-reinstall
を付けてpip install
を実行します。 例 pip install datarobot-mlops-connected-client --force-reinstall
。
依存関係の更新¶
依存関係をインポートした後、時間の経過とともにアップグレードすることができます。 ただし、DataRobotはcodespaceでの依存関係の変更を自動的に認識しません。 DataRobotが依存関係の変更を認識するためには、カーネルを再起動する必要があります。 そうするには、ツールバーにある再起動アイコン(円形の矢印)をクリックします。

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