
JupyterLabで使えるNotebook Intelligenceを使ってみた!
こんにちは!こーすけです。
Notebook IntelligenceというJupyterLab向けのAIコーディングアシスタントがあったので使ってみました。
この記事ではNotebook Intelligenceの導入方法を紹介した後、簡単なデータを分析させてレポートを作成してもらうことにチャレンジします。
Notebook Intelligenceとは
JupyterLabで使用できるGitHub Copilotを基盤としたAIアシスタントです。Jupyter上でAIにチャットで質問ができたり、コーディングをしてもらったり、コードの補完機能を使えたりなど、基本的なGithub Copilotの機能を使えるようになります。
使用イメージはこんな感じです。
Jupyter公式のライブラリではなく、個人開発者によるOSSです。
導入
Notebook IntelligenceはPyPIで公開されており、uvやpip等でインストールすることができます。
今回は以下のコマンドを実行し、JupyterLabでNotebook Intelligenceの実行環境を作成しました。
# uvでプロジェクトを初期化
uv init
# notebook-intelligenceをインストール
uv add notebook-intelligence
# jupyter labに必要なライブラリをインストール
uv add jupyterlab ipykernel
# データ分析に必要な適当なライブラリをインストール
uv add pandas numpy matplotlib scikit-learn
# Jupyterカーネルの登録
uv run python -m ipykernel install --user --name=notebook-intelligence --display-name="Python (NoteBookIntelligence)"
# Jupyterカーネルの立ち上げ
uv run jupyter lab
JupyterLabのサーバが立ち上がります。
左端バーの一番下のメニューをクリックするとNotebook Intelligenceのチャットインターフェースが開きます。
初回実行時はGitHub Copilotへのログインが必要なので、「Login to GitHub Copilot」をクリックします。
「Login using your GitHub account」をクリックします。
表示されるリンクをクリックするとGitHubの認証画面に遷移します。一時認証コードを張り付けて認証を完了することで、Notebook Intelligenceを使えるようになります。
続いて、使用するAIモデルやプロバイダーの設定をします。
歯車マークをクリックすることで、使用するモデルやプロバイダーを変更することができます。
デフォルトではGitHub Copilotで契約しているプランが適用されるようです。
OpenAI系やLiteLLM互換のプロバイダーも指定することができます。
例えばClaude Sonnet4を使用したい場合は設定を以下のようにすればいいです。
Model:anthropic/claude-sonnet-4-20250514
Base URL:https://api.anthropic.com
更新がある場合は「Save」をクリックして反映させます。
これで設定は完了です。
Notebook Intelligenceはコーディングもしてくれる「Agent」モードと、chat形式で会話をできる「Ask」があります。画面左下のタブからスイッチングできます。
「Agent」モードでは「Tool selection」の項目があり、エージェントが実行できるアクションを設定することができます。
早速使ってみる
今回はおなじみのタイタニック号の生存者に関するCSVファイルを用意し、Agentモードを使って、データの分析レポートを作成してもらうことにチャレンジしました。タイタニック号に関する事前知識は一切参照しないように注意を加えています。
このような感じで、ごりごり解析を始めてくれます。
まずはデータの概要を表示してくれた後、
各項目をグラフで比較し、
結果の考察までしてくれました。
こちらは複数の特徴量を使ったより複雑な分析の様子
最後にはきちんと総括までしてくれて、結構ちゃんとレポートを書いてくれることがわかりました。
感想
今回はAgentモードを使用してデータ分析を行いましたが、クイックにデータを確認する用途では十分に活用できそうです。
今回の検証では使用しませんでしたが、Askモードやオートコンプリート機能も非常に便利で、Jupyter上での分析・開発体験が大幅に向上したと感じています。今後JupyterLabを使用する際は、積極的に活用していきたいと思いました。
一方で、Agentモードを使用する際に困った点もいくつかありました。今回のようにタスクを丸投げする場合、必要なライブラリのインストールが必要になるケースがあります。その際、Agentはカーネルを自動でリスタートできないため作業が中断されることが多々ありました。必要になりそうなライブラリは事前にインストールしておくか、手動でカーネルのリスタートをする必要があることを念頭に置いたほうがよさそうです(もしかしたらリスタートできる機能があるかもしれませんが、今回はリサーチできませんでした)。
また、実行中の思考プロセスがあまり表示されないため、Agentが何を行っているかが分かりにくく、作業内容の把握が困難あったり、cellごとにAPIをコールするためリミット制限にかかりやすいなど、処理の制御が難しいと感じる場面が多々ありました。
とはいえ、全体的には非常に便利な体験でした。まずはAskモードから始めて、複雑な処理について一緒に考えてもらうだけでも十分価値があると思います。