Select AIの会話

Select AIでの会話は、ユーザーとシステム間の対話型対話を指します。この対話では、一連のユーザー提供の自然言語プロンプトが格納され、LLMインタラクションの長期メモリをサポートするために管理されます。

Select AIは、AIプロファイルで有効になっている短期的なセッションベースの会話と、特定のプロシージャまたはファンクションおよび会話IDを使用して有効になっている長期の名前付き会話をサポートしています。

会話のタイプ

Select AIは、セッションベースの短期的な会話とカスタマイズ可能な会話をサポートしています。

セッションベースの短期会話: Select AIには、セッションベースの短期会話が含まれており、以前のインタラクションに基づいて現在のプロンプトに対してコンテキスト対応のレスポンスを生成します。

これを有効にするには、AIプロファイルのconversation属性をtrue|falseに設定します。複数会話機能とは異なり、セッション・ベースの会話には、セッション期間中のみプロンプトが格納されます。プロンプトは一時表に格納され、セッションが終了すると自動的に削除されます。また、会話間で再利用および切り替えることはできません。

カスタマイズ可能な長期会話: Select AIでは、カスタマイズ可能な会話の作成および使用がサポートされており、コンテキストを混在させることなく、Select AIを様々なトピックで使用でき、柔軟性と効率性の両方が向上します。DBMS_CLOUD_AI会話プロシージャおよび関数を使用して、会話を作成、設定、削除および更新できます。会話を有効にすると、Select AIによってプロンプト履歴が取得され、LLMに送信されて現在のプロンプトに対するレスポンスが生成されます。これらのレスポンスは、将来の使用のために永続表に格納されます。

ノート

Select AI会話では、runsqlshowsqlexplainsqlnarrateおよびchatアクションがサポートされています。

カスタマイズ可能な会話の使用方法

次の方法で、カスタマイズ可能な会話にSelect AIを使用できます。

  • DBMS_CLOUD_AI.SET_CONVERSATION_IDプロシージャを使用してセッションで会話IDを設定し、SELECT AI <ACTION> <PROMPT>を実行します。

  • DBMS_CLOUD_AI.GENERATE関数のparams引数にconversation_idを渡します。

ノート

複数の会話とconversation: [true|false]設定の両方を使用する場合、conversation設定は無視されます。

SQL問合せ生成(NL2SQL)のコンテキストでは、会話により、より直感的でアクセス可能な方法でデータを操作できるため、ユーザーはSQLに関する技術的な知識を必要とせずにインサイトを抽出してタスクを簡単に実行できます。会話は、Select AIのチャットおよびRAG機能でも使用できます。

たとえば、会話はデータを分析する直感的な方法を提供します。
  • 「顧客総数」などの質問をします。
  • 次のようなコンテキスト対応の質問に従ってください。
    • 「国別の顧客数の突破」
    • 「どの年齢層が最も一般的か」
    • 「上位5社の顧客とその国を購入し、その結果にランクを含める」

会話を有効にするには、完全な例について例: Select AIでの会話の有効化を参照してください。

セッションベースの会話とカスタマイズ可能な会話

次の表に、Select AIでのセッション・ベースの会話とカスタマイズ可能な会話を比較します。

質問 セッション・ベースの短期会話 カスタマイズ可能な長期会話

使用するのはいつですか。

1回のセッションでモデルが最近の質問と回答を記憶する、迅速で一時的なチャットに最適です。後で会話を保存または再利用する必要がない場合に役立ちます。

複数のセッションにまたがる可能性がある、長期または継続的な会話向けに設計されています。これは、会話履歴を追跡、レビューまたは管理する場合、またはアプリケーションの様々な部分が同じ会話コンテキストに時間の経過とともにアクセスする必要がある場合に役立ちます。

有効にするにはどうすればよいですか。

AIプロファイルで{"conversation": true or false}を設定します。

DBMS_CLOUD_AI.SET_CONVERSATION_IDプロシージャまたはDBMS_CLOUD_AI.GENERATEファンクションを使用します。

許可される会話の数はいくつですか。

1つ。

複数の会話を作成できます。

会話IDを明示的に指定した場合、必要に応じてプロンプトを適切な会話に関連付けるために、会話IDを交互に選択できます。

プロンプトはどこに格納され、どのくらいの期間保存されますか。

プロンプトは一時表に格納され、セッションが終了すると削除されます。

プロンプトは永続テーブルに保存されます。

プロンプトは、DBMS_CLOUD_AI.CREATE_CONVERSATIONプロシージャのretention_daysパラメータで指定された日数だけデータベースに保持されます。保存期間の後、会話とそのプロンプトは自動的に削除されます。DBMS_CLOUD_AI.DELETE_CONVERSATION_PROMPTプロシージャを使用して、プロンプトを手動で削除することもできます。

格納されるプロンプトの数と、LLMに送信されるプロンプトの数

最大10のプロンプトが格納され、LLMに送信されます。この制限はカスタマイズできません。

すべてのプロンプトが保存されます。

デフォルトでは、10個の最新のプロンプトがLLMに送信されます。これは、conversation_lengthパラメータを使用してカスタマイズできます。CREATE_CONVERSATION属性を参照してください。

個々のプロンプトを削除できますか。

いいえ、個々のプロンプトを手動で削除することはできません。

USER_CLOUD_AI_CONVERSATION_PROMPTSビューで指定されているプロンプトIDを使用し、DBMS_CLOUD_AI.DELETE_CONVERSATION_PROMPTプロシージャを使用して、個々のプロンプトを削除できます。

AIプロファイルは会話の取得に使用されますか?

はい、Select AIは、同じAIプロファイルを使用して以前に生成されたプロンプトおよびレスポンスを取得します。

いいえ。Select AIは、プロンプトおよびレスポンスの格納時に使用されるAIプロファイルを追跡しますが、そのプロファイルに基づいて取得を制限しません。レスポンスの生成に使用されるプロファイルに関係なく、すべての会話履歴をLLMに送信してレスポンスの生成をガイドします。

プロンプトの履歴はどこで確認できますか。

プロンプトは、CLOUD USERの下の一時表に保存されますが、問合せにはアクセスできません。

会話およびプロンプトは、DBMS_CLOUD_AI会話ビューを介して問い合せて確認できます。詳細は、DBMS_CLOUD_AIビューを参照してください。