SQLツールの問題

生成AIエージェントでSQLツールを操作する際の一般的な問題をトラブルシューティングします。

「生成AIエージェントの既知の問題」「生成AIエージェントのSQLツール・ガイドライン」も確認し、SQLツールでエージェントで特定の機能を使用するために必要なタスクを完了していることを確認します。

SQLツールの作成に失敗

生成AIエージェントに初期エラー・メッセージは表示されないため、コンソールでのSQLツールの作成は成功しているようです。ただし、エージェントは正常に作成されましたが、エージェント内のSQLツールの作成に失敗しました。CREATE_TOOL作業リクエストには、次のようなエラー・メッセージが表示されます。

Create Tool for ocid1.genaiagenttool.oc1.us-chicago-1.<string> failed due to sql errors: Statement:null[Error:net.sf.jsqlparser.parser.ParseException: Encountered unexpected <something>; at line <number>, column <number>. <more details> 

最も一般的な原因は、無効なデータベース・スキーマです。

失敗したSQLツールを削除し、新しいツールを追加します。

  1. エージェントの「ツール」リストで、失敗したSQLツールを見つけます。リストの検索に関するヘルプが必要な場合は、生成AIエージェントのSQLツールのリストを参照してください。
  2. 失敗したツール作成の「アクション」メニュー(3つのドット)から、「削除」を選択します。
  3. 「ツールの作成」を選択して、新しいSQLツールを追加します。

    有効なスキーマの説明は、データベース・スキーマを参照してください。

    次のオプションの手順で説明するように、スキーマ表のDDLをコピーすることもできます。

(オプション)次のステップを使用して、データベースから有効なスキーマを取得します。

  1. コンソールで、データベースに接続してSQLワークシートを開きます
  2. ナビゲータで、DDLのコピー元となるスキーマおよび表を見つけます。
  3. 表を右クリックし、「クイックDDL」を選択します。次に、「ファイルに保存」を選択します。表ごとに反復
  4. 新しいテキスト・ファイルで、ダウンロードした各ファイルからテキストをコピーして追加することで、データベース・スキーマを作成します。必要に応じて、完全なDDLファイルでDDLを変更します。
  5. 生成AIエージェントで、エージェントを検索します。データベース・スキーマをインポートするには、完全なDDLファイルの内容をコピーして「インライン」フィールドに貼り付け、SQLツールを追加します。

SQL実行出力ファイルがありません

SQLツールは、生成されたSQL問合せを実行し、出力に100行を超える行がある場合、出力結果をオブジェクト・ストレージに格納できます。エージェント・エンドポイントでのチャットは成功しているように見えますが、出力結果ファイルはオブジェクト・ストレージに保存されません。次のようなエラー・メッセージが表示されます。

Unable to create PreAuthenticated Request url for the result location.

考えられる原因については、次のセクションで説明します。

バケットが無効または欠落しています

優先コンパートメントで有効なオブジェクト・ストレージ・バケットを選択します。

  1. エージェントの詳細ページの「リソース」で、「エンドポイント」を選択します。
  2. SQL実行が有効になっているエンドポイントを選択します。
  3. 「エンドポイントの編集」パネルで、「大きな出力結果の記憶域の有効化」が選択されていることを確認します。
  4. 「出力の詳細」セクションで、100行を超える出力結果を保存するコンパートメントおよびバケットを選択します。
  5. 「Save changes」を選択します。

ポリシーがない

IAMポリシーを確認して、オブジェクト・ストレージにアクセスするための正しい権限が設定されていることを確認します。

オブジェクト・ストレージ、SQL実行および出力ストレージの説明に従ってポリシーを追加します。