10 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パラメータを使用してカスタマイズできます。unresolvable-reference.html#GUID-3073AEDF-D6F5-4620-9C54-AA40F598DB61を参照してください。

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

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

特定の個々のプロンプトを削除するには、unresolvable-reference.html#GUID-334A25FD-0BAD-472A-BAC9-189FD423CE1Cで指定されているプロンプトIDを使用し、DBMS_CLOUD_AI.DELETE_CONVERSATION_PROMPTプロシージャを使用します。

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

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

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

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

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

DBMS_CLOUD_AI会話ビューを使用して、会話およびプロンプトを問い合せて確認できます。詳細は、unresolvable-reference.html#GUID-5C826A3E-E60B-4D1C-AD0B-E385F6ECEBA5を参照してください。