はじめに
Autonomous DatabaseのSelect AIを利用することで、SQLを書く代わりに自然言語でデータを問い合わせることが可能になります。
今回は、OCIチュートリアルの「111: SELECT AIを試してみよう引用」を実際にやってみて、つまずいた点を紹介します。
Database ActionsやAPEXではSELECT AIは使えない
Database Actions内のSQLやAPEXではSELECT AI文を直接実行することをサポートしていないため、DBMS_CLOUD_AIパッケージのGENERATEファンクションを使用する必要があります。
チュートリアルの説明にもあるように、設定のときにりようしていたDatabase Actionsは使えなくなるので、SQL Developerを利用するか、DBMS_CLOUD_AIパッケージのGENERATEファンクションを使用する必要があります。
これは、OCIの公式のドキュメントにも以下のように記載があります。
Usage Notes
・Select AI is not supported in Database Actions or APEX Service. You can use only DBMS_CLOUD_AI.GENERATE function.
引用:Use Select AI to Generate SQL from Natural Language Prompts
プロンプトのエラー
111: SELECT AIを試してみよう引用で、SELECT AIを実行した際に以下のように出力され、続く文章にデータベースではなく、LLMだけの結果を出力される場合があります。
Sorry, unfortunately a valid SELECT statement could not be generated for your natural language prompt. Here is some more information to help you further: ...
これはプロンプトエンジニアリングの問題で、プロンプトを書き換えることで解決されるケースが多いです。
例えば、以下のようなプロンプトでSELECT AIを実行したとします。
SELECT AI マンハッタン市内に高校は全部で何校ありますか;
この出力が上記のようなエラー出力だった場合、以下のように少し書き直すだけで問題が改善されるケースもあります。
SELECT AI マンハッタンに高校は全部で何校ありますか;
LLM (大規模言語モデル)の特性上、こういったプロンプトを少し変えるだけでも出力結果に影響を及ぼす可能性もあることは認識しておいた方がいいかもしれません。
おわりに
今回は、Autonomous DatabaseのSelect AIの「チュートリアル」を実際にやってみて、つまずいた点を紹介しました。