Databricks Assistant からコーディングのヘルプを受ける

この記事では、Databricks Assistant を使用してノートブックのコーディングとデバッグを行う方法と、Assistantを最大限に活用するためのヒントを提供します。

Databricks Assistant は何に役立ちますか?

Databricks Assistant は、会話型インターフェイスを使用して操作できるコンテキスト認識型 AI アシスタントであり、Databricks 内での生産性を向上させます。 タスクを英語で説明し、アシスタントにPythonコードまたはSQLクエリの生成、複雑なコードの説明、エラーの自動修正を任せることができます。 アシスタントは、Unity Catalog メタデータを使用して、会社全体のテーブル、列、説明、および一般的なデータ資産を理解し、パーソナライズされた応答を提供します。

Databricks Assistant は、次のタスクに役立ちます。

  • コードを生成します。

  • エラーの修正の特定と提案を含む、コードのデバッグ。

  • コードを変換して最適化します。

  • コードを説明します。

  • 関連する情報を見つけるのに役立ちます ( Databricksドキュメント)。

Databricks Assistantの有効化と使用に関する情報については、「 Databricks Assistantの使用 」を参照してください。Databricks Assistant の一般的な情報については、「 Databricks IQ を利用した機能」を参照してください。

ノートブックのアシスタント コマンド ショートカット

ノートブックでは、Databricks Assistantはアシスタントペインまたはコードセルのインラインで使用できます。

Databricks Assistant をコード セルで直接使用するには、MacOS では Cmd+I キー、Windows では Ctrl+I キーを押します。 セルにテキストボックスが表示されます。 質問やコメントを英語で入力し、 Enter (セルを実行する場合のように Shift+Enterではなく) 押すと、アシスタントに応答を生成できます。

インライン アシスタントは、エンリッチメント データを見つけて追加するのに役立ちます。

プロンプトにスラッシュコマンドを使用する

スラッシュ コマンドは、一般的なプロンプトを作成するためのショートカットです。

プロンプトテキスト

アシスタントの機能

/

一般的なコマンドを表示します

/doc

差分ビューでコードをコメントします

/explain

セル内のコードの説明を提供します

/fix

差分ビューのコード エラーに対する修正を提案します

/findTables

Unity Catalog メタデータに基づいて関連するテーブルを検索します。 features または 特徴量テーブルを検索するには、クエリで "features" または "特徴量テーブル" を指定します。 「Databricks Assistantを使用した特徴量のテーブルの検索」および「特徴量テーブル」を参照してください。

/findQueries

Unity Catalog のメタデータに基づいて、関連するクエリを検索します。

/optimize

非効率的な SQL クエリを改善します。

/prettify

読みやすくするためにコードをフォーマットします。

/rename

ノートブックのセルやその他の要素に、コンテキストに応じて更新された名前を提案します。

/settings

アシスタントから直接ノートブックの設定を調整します。

/fix または /docを使用する場合は、差分ウィンドウで [承認] を選択して提案された変更を受け入れるか、[拒否] を選択して元のコードを保持します。提案されたコードを受け入れると、コードは自動的に実行されません。 コードを実行する前に確認できます。 生成されたコードが意図したものでない場合は、コメントに詳細や情報を追加して再試行してください。 「Databricks Assistant の使用に関するヒント」を参照してください。

コード スニペットの詳細な説明をご覧ください。 /explainプロンプトを使用し、「簡潔にする」や「コードを行ごとに説明する」などの用語を含めて、必要な詳細レベルを要求します。Databricks Assistant にコードにコメントを追加するように依頼することもできます。

コードのオートコンプリートの場合、ノートブックのセルよりもアシスタント ウィンドウを使用すると、パフォーマンスが向上する可能性があります。

アシスタントは、生成したコード を受け入れる拒否 すると自動的に閉じます。

@を用いたプロンプト内でのテーブル参照

Assistant プロンプトでテーブルをすばやく参照するには、 @ (at) 記号を使用します。

アシスタント プロンプトでのテーブル参照 @ 記号

コードに関するヘルプを表示する

Databricks Assistant は、SQL と Python の両方のコードを支援します。

  • Databricks ノートブック、SQL エディター、ファイル エディターの AI ベースのオートコンプリート。

  • 自然言語プロンプトによるデータのフィルタリング。

  • エラーの診断 (パブリック プレビュー) を使用したコードのデバッグ。

インライン コードの提案を取得する: Python と SQL の例

入力すると、候補が自動的に表示されます。 Tab キーを押して提案を受け入れます。提案を手動でトリガーするには、 Option+Shift+Space キー (macOS の場合) または Control+Shift+Space キー (Windows の場合) を押します。

SQL のコード補完のアニメーション GIF。
Pythonのコード補完のアニメーションGIF。

AIベースのオートコンプリートは、コメントからコードを生成することもできます。

コメントからのコード補完のアニメーション GIF。

自然言語プロンプトによるデータのフィルタリング

Databricks Assistant を使用して、自然言語プロンプトでデータ出力をフィルター処理します。

自然言語で出力をフィルタリングするには、出力テーブルの [フィルター] アイコンをクリックし、プロンプトを入力します。 たとえば、次のアニメーションの例のように、「70 歳以上の男性のみを表示してください」というプロンプトを表示できます。

アニメーション GIF は、Databricks Assistant が 70 歳以上の男性のタイタニック号の生存者のテーブルをフィルタリングする様子を示しています。

デバッグ コード: Python と SQL の例

プレビュー

この機能はパブリックプレビュー段階です。

Databricks Assistant を使用してコードを修正するには、次のいずれかの操作を行います。

  • [アシスタント] ウィンドウで質問します。

  • エラーが発生したときにセルの結果に表示される [エラーの診断 ] ボタンをクリックします。

  • [デバッグ] をクリックすると、コードを行ごとに対話形式でステップ実行し、ブレークポイントを設定し、変数を検査し、プログラムの実行を解析できます。

以下のタブは、Python と SQL コードの例を示しています。

Python でのアシスタント デバッグの例。
SQL でのアシスタント デバッグの例。

[エラーの診断] をクリックすると、アシスタントは自動的に [/fix] を実行します。

クイックフィックス

コードがエラーを返すと、Quick Fix は、1 行の変更で修正できる基本的なエラーの修正を自動的に推奨します。

[同意して実行] をクリックして、推奨される修正を行い、コードの実行を続行します。

Databricks Assistant インライン バグ修正 UI のスクリーンショット。

Databricks Assistantを使用するためのヒント

このセクションには、Databricks Assistantを使用する際の一般的なヒントとベストプラクティスが含まれています。

Databricks Assistantによるコンテキストを使用した適切な回答の提供

Databricks Assistant は、テーブルと列のスキーマとメタデータにアクセスできます。 これにより、自然言語を使用し、より正確なクエリを生成できます。 たとえば、テーブルに State という列がある場合、Databricks Assistant にミシガン州に住むユーザーの一覧を生成するように依頼できます。

Databricks Assistant は次のコンテキストを使用します。

  • 現在のノートブック セルまたは Databricks SQL エディター タブのコードまたはクエリ。

  • テーブルと列の名前と説明。

  • 以前のプロンプトの質問。

  • お気に入りでアクティブなテーブル。

  • エラーの診断 機能の場合、エラー出力からのスタックトレース。

DataFrame から列を選択する場合、開始クエリを指定することで、より正確な結果を得ることができます。 たとえば、 SELECT * FROM <table_name>のようなステートメントを指定します。 これにより、Databricks Assistant は列名を取得でき、推測する必要がなくなります。

Databricks Assistant は会話履歴を使用してより適切で正確な回答を提供するため、プロンプト全体を書き換えることなく、Databricks Assistant に以前の応答の出力を変更するように依頼できます。 アシスタントのチャット履歴を使用して、アシスタントペインの DataFrames を繰り返しクリーニング、探索、フィルタリング、スライスします。

具体的な指示

Databricks Assistant が提供する構造と詳細は、同じプロンプトであっても、その時々で異なります。 アシスタントが必要な情報を目的の形式や詳細レベルなどで返すことができるように、できるだけ多くのガイダンスを提供するようにしてください。 例えば:

  • 「このコードを数文で説明してください」または「このコードを一行ずつ説明してください」。

  • 「MatPlotLib を使用してビジュアライゼーションを作成する」または「Seaborn を使用してビジュアライゼーションを作成する」。

行レベルのデータ値の例を挙げる

Databricks Assistant は行レベルのデータを使用しないため、最も正確な回答を得るためには、プロンプトに詳細を提供する必要がある場合があります。 カタログ エクスプローラのテーブル コメントまたは列コメントを使用して、サンプル データの行を追加します。 たとえば、高さ列が feet-inchesの形式であるとします。 アシスタントがデータを解釈できるように、"高さ列は文字列形式で、ハイフンで区切られています。 例: '6-2'。 テーブルと列のコメントに関する情報については、 データと AI アセットへのコメントの追加を参照してください。

列データ型変換を使用して操作を実行する必要がある場合は、詳細を指定する必要がある場合があります。 たとえば、「このコードを Pandas から PySparkに変換し、 Pandas DataFrame を PySpark DataFrame に変換するために必要なコードと、列チャーンのデータ型をブールから整数に変更する」などです。

Shift+Enterを使用して、チャットテキストボックスに新しい行を追加する

Shift+Enter キーを使用して、アシスタント チャット テキスト ボックスに新しい行を追加します。これにより、Databricks Assistant へのメッセージの書式設定と整理が容易になります。

Databricks Assistantのチャットウィンドウでコードを編集して実行する

[アシスタント] ウィンドウでコードを実行して検証するか、スクラッチパッドとして使用します。 コードを実行するには、アシスタント ペインのコード ボックスの左上隅にある [ 実行コードアイコン ] をクリックします。

以下のタブは、Python コードと SQL コードの例を示しています。

アシスタント ウィンドウで Python コードを実行します。
アシスタントペインでSQLコードを実行します。

[アシスタント] ウィンドウでコードを実行すると、出力が表示され、変数がノートブックで使用できるようになります。

コードをノートブックに移動する前に、Databricks Assistant が生成したコードをアシスタントチャットボックスで直接編集することもできます。

追加情報

次の記事には、Databricks Assistant の使用に関する追加情報が含まれています。