ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43Preferred Networks
?
Preferred Networksでは新物質開発や材料探索を加速する汎用原子レベルシミュレータを利用できるクラウドサービスを開発しています。 顧客毎に独立した環境にユーザがJupyter Notebookを立ち上げ、自社PyPIパッケージによりAPI経由で弊社独自技術を簡単に利用できます。Kubernetesの機能を駆使してマルチテナント環境を構築しており、各顧客に独立したAPIサーバを提供し、その負荷状況によりAPIサーバをスケーリングさせたり、顧客毎にNotebookに対する通信制限や配置Nodeの制御などを実現しています。
本発表ではKubernetesによるマルチテナントJupyter as a Serviceの実現方法を紹介します。
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43Preferred Networks
?
Preferred Networksでは新物質開発や材料探索を加速する汎用原子レベルシミュレータを利用できるクラウドサービスを開発しています。 顧客毎に独立した環境にユーザがJupyter Notebookを立ち上げ、自社PyPIパッケージによりAPI経由で弊社独自技術を簡単に利用できます。Kubernetesの機能を駆使してマルチテナント環境を構築しており、各顧客に独立したAPIサーバを提供し、その負荷状況によりAPIサーバをスケーリングさせたり、顧客毎にNotebookに対する通信制限や配置Nodeの制御などを実現しています。
本発表ではKubernetesによるマルチテナントJupyter as a Serviceの実現方法を紹介します。
20. Copyright ? 2023 CREATIONLINE, INC. All Rights Reserved.
Cursorの料金プラン、API設定方法
プランについて変更(有料プランへの移行や有料プランの解約)を行うことができます。
Upgrade to Pro をクリックするとクレジットカード登録画面となり 有料版(Pro) に直ぐに変更可能です。
無料版と有料版の違いは、GPT-4の利用回数になります。無料版でもGPT-4は使用可能ですが、GPT-4(slow)であることと、
月々の使用回数が50回と少ないです。
Cursor で OpenAI API Key を使う設定は以下の通りで
す。OpenAI の API キーを設定することで、有料版でな
くてもGPT-4等のモデルが利用できます。
21. Copyright ? 2023 CREATIONLINE, INC. All Rights Reserved.
Cursorデモ(New Project):今回作りたい構成
postgres_con?g.py
kafka_con?g.py
22. Copyright ? 2023 CREATIONLINE, INC. All Rights Reserved.
【New AI Project】
あなたは、Apache kafka エンジニアです。
作成するプロジェクトは、PostgreSQLデータベースからデータを取得し、
Kafkaにデータを送信するためのコネクタです。
main.pyではプログラムのエントリーポイントであり、
producer.pyにはPostgreSQLからデータをフェッチし、
Kafkaトピックにプッシュするロジックが含めます。
postgres_con?g.pyでは、PostgreSQLデータベースへの接続と切断を行うための関数が含めます。
consumer.pyでは、Kafkaからメッセージを消費し、それらを処理するためのコードが含めます。
kafka_con?g.pyファイルには、Kafkaプロデューサーとの接続を管理するための関数が含目ます。
以上が全体の内容です。
Cursorデモ(New Project):プロンプト
24. Copyright ? 2023 CREATIONLINE, INC. All Rights Reserved.
?Edit:
デモ1:Command + K から .pyのコードに対して例外処理を追加
?Chat:
デモ2:Command + L から /edit で.pyのコードに対して例外処理を追加
?Symbol:
デモ3:Command + L から@Codebaseで全体のプロジェクトの説明してもらう
(@Codebaseはデフォルト英語なので日本語の説明に切り替える)
Cursorデモ(基本機能)
33. Copyright ? 2023 CREATIONLINE, INC. All Rights Reserved.
Cursor機能アップデート
0.22.0 - 開発コンテナ
開発コンテナがサポートされるようになりました。このビルドでは次のこと
も可能です。
● Cursor を VS Code 1.85 にアップグレードします。これには、
新しいウィンドウへのタブのドラッグアウトのサポートが含まれ
ます。
● WSLの安定性が向上しました。
https://changelog.cursor.sh/?
34. Copyright ? 2023 CREATIONLINE, INC. All Rights Reserved.
Cursor機能紹介
35. Copyright ? 2023 CREATIONLINE, INC. All Rights Reserved.
Cursor機能紹介(基本機能)
Command K を使用すると、AI を使用してコードを編集および作成できます。編集するに
は、コードを選択して「編集」をクリックし、コードをどのように変更するかを説明しま
す。完全に新しいコードを生成するには、何も選択せずにコマンド K を入力するだけです。
Command+Lでチャットを使用。コードベースを認識する AI と会話可能。チャットで現在の
ファイルとカーソルを確認できるため、「ここにバグはありますか?」などの質問をすること
ができます。Command+Shift+L または"@"を使用して、特定のコード ブロックをコンテキ
ストに追加できます。Command+Enter を使用してコードベース全体とチャットできます。
@ シンボルを使用すると、AI にコードを簡単に表示できます。Command+K またはチャット
で 「@」を入力して、フォルダー内のすべてのファイルとコード記号のドロップダウンを取
得してみてください。これを使用して、特定の依存関係を持つコードを生成する (
「@ErrorPopup と同じスタイルを使用する」) か、ファイルについて問い合わせる (
「@inlineDi?Service.ts は何を行うのか」)ことができます。 CHATで@CodeBaseで
プロジェクト全体に対する質問も可能
36. Copyright ? 2023 CREATIONLINE, INC. All Rights Reserved.
Codebase Answers を使用すると、コードベース全体について AI に質問できます。これらを使用するに
は、チャットで Command+Enter を入力するか、入力ボックスの「コードベースあり」ボタンをクリッ
クします。「元に戻すやり直しロジックはどこにありますか?」などの質問をすることができます。
この機能により、AI によるサードパーティ ライブラリの理解が向上します。ドキュメントを使用するに
は、チャットまたはコマンド K に@LibraryNameと入力します。カーソルにカスタム ドキュメントをク
ロールさせるには、コマンド K またはチャットに「@Add」と入力します。クロールの開始点と、ク
ロールされたすべての URL が従う必要があるプレフィックスを指定します。
自動デバッグは、カーソルの ターミナルのエラーを修正するエージェントです。これを使用するには、
端末エラーの後に表示される青い「自動デバッグ」ボタンをクリックします。クリックすると、AI が
ファイルを調べて、問題を解決するための一連の思考を開始します。
Cursor機能紹介(基本機能)
カーソルを使用すると、lint エラーをすばやく修正できます。lint エラーの上にマウスを移動し、表示
される青い「修正」ボタンをクリックするだけです。AI の応答がチャットに表示されます。もう、厄介
な Typescript や Rust のエラーを目を細めて見る必要はありません。
37. Copyright ? 2023 CREATIONLINE, INC. All Rights Reserved.
Cursor機能紹介 (New AI Project)
(1) 概要
Cursor は プロジェクトを新規に作成する機能を提
供しています。この機能を使用すると、新しい プロ
ジェクトを簡単に始めることができます。日本語で
使用している場合は、 New AI Project ではなく、
ファイルを開く から What do you want to build?
の画面が表示されるので、作成したい内容の入力
へと進みます。
(2) What do you want to build?
ここに作成したいプロジェクトの内容を記入してい
きます。一回で作成させることは難しいですが、プ
ロンプトを改善しながら入力して作成されたら地道
に改善する意気込みで進めます。
(3) 要求したお題に対して自動でコードを生成
入力したプロジェクトの内容に基づいて、プロジェ
クトを作成します。プロジェクトは複数ステップが生
成され順番に流れていきます。
(4) 作成後の修正
エラーが出た場合はコードを修正していきますが、
基本指定したコードの記述を微修正する程度でエ
ラーがないコードができあがります。必要なライブ
ラリーをインストールするような指示のエラーが出
た場合は環境修正していきます。
38. Copyright ? 2023 CREATIONLINE, INC. All Rights Reserved.
Cursor機能紹介 (Interpreter mode (BETA) )
INTERPRETER MODE(BETA)
CursorにInterpreterが導入されました。Cursor Editer のCHAT 横の
MORE から BETAが選択可能です。
現時点では、CHAT から Python notebook(Jupyter notebook) などに
対してのアクセスが可能となっているのみで、今後の機能追加を期待
したいところです。
今後の期待としては、ローカルの
開発環境などで、Auto-Debugの
結果を反映してくれるようになる
と、必要なライブラリなどをインス
トールする手間も省けてかなり自
走させていくと思います。
39. Copyright ? 2023 CREATIONLINE, INC. All Rights Reserved.
Cursor環境設定
(1) Accout
Basic よりも Pro に Upgrade することをお勧めす
る。より多くのデータやコードを扱い 高速で利用す
る
(2) Docs
Docs を追加していない状態では何も表示されま
せんが、@Add で Docs を追加していくとリストして
表示され削除、編集が可能です。
(3) VSCode Import
Cursor の特徴の一つとして、既存で使用している
VSCode の拡張機能、キーバインド、他設定を引
き継ぐことができます。 Start Import を選択すると
インポートが完了します。
(4) OpenAI API
Cursor で OpenAI API Key を使う設定が可能で
す。OpenAI の API キーを設定することで、 Cursor
へ課金することなく ChatGPT が利用できます。