DBMS_CLOUD_AI_AGENTパッケージ

このパッケージは、Select AIエージェント、タスク、ツールおよびオーケストレーションを定義および管理します。

ノート:

DBMS_CLOUD_AI_AGENTパッケージのサポートは、Oracle Database 19c (バージョン19.29以降)およびOracle Database 26ai (バージョン23.26以降)で使用できます。

DBMS_CLOUD_AI_AGENTサブプログラムの要約

この項では、Autonomous AI Databaseで提供されるSelect AI AgentのDBMS_CLOUD_AI_AGENTサブプログラムについて説明します。

サブプログラム 説明

CREATE_AGENTプロシージャ

このプロシージャは、エージェントを作成します。

CREATE_AGENT属性

エージェントを作成するための属性を指定します。

ENABLE_AGENTプロシージャ

このプロシージャは、エージェントを有効にします。

DISABLE_AGENTプロシージャ

このプロシージャは、エージェントを無効にします。

DROP_AGENTプロシージャ

このプロシージャは、既存のエージェントを削除します。

CREATE_TASKプロシージャ

このプロシージャは、エージェントおよびエージェント・チームに含めることができるタスクを作成します。

CREATE_TASK属性

エージェント・タスクを作成するための属性を提供します。

ENABLE_TASKプロシージャ

このプロシージャは、エージェント・タスクを有効にします。

DISABLE_TASKプロシージャ

このプロシージャは、エージェント・タスクを無効にします。

DROP_TASKプロシージャ

このプロシージャは、既存のエージェント・タスクを削除します。

CREATE_TOOLプロシージャ

このプロシージャは、エージェントに含めることができるカスタム・ツールを作成します。

CREATE_TOOL属性

ツールを作成するための属性を提供します。

ENABLE_TOOLプロシージャ

このプロシージャは、登録されたツールを有効にします。

DISABLE_TOOLプロシージャ

このプロシージャは、登録済ツールを無効にします。

DROP_TOOLプロシージャ

このプロシージャは、既存のツールを削除します。

CREATE_TEAMプロシージャ

このプロシージャは、エージェント・チームを作成し、エージェントおよびタスクを含めます。

CREATE_TEAM属性

エージェント・チームを作成するための属性を提供します。

SET_TEAMファンクション

このプロシージャは、現在のセッションのエージェント・チームを設定します。

GET_TEAMファンクション

このプロシージャは、現在のセッションで設定されたエージェント・チームを返します。

CLEAR_TEAMファンクション

このプロシージャは、現在のセッションで設定されたエージェント・チームをクリアします。

RUN_TEAMファンクション

このプロシージャは、新しいエージェントを作成するか、一時停止したエージェントを実行します。

ENABLE_TEAMプロシージャ

このプロシージャは、エージェント・チームを有効にします。

DISABLE_TEAMプロシージャ

このプロシージャは、エージェント・チームを無効にします。

DROP_TEAMプロシージャ

このプロシージャは、既存のエージェント・チームを削除します。

CREATE_AGENTプロシージャ

DBMS_CLOUD_AI_AGENT.CREATE_AGENTプロシージャを使用して、Select AI Agentフレームワークに新しいAIエージェントを登録します。agent_nameを使用してエージェントのアイデンティティを定義し、attributesパラメータを使用してその動作を構成し、オプションで説明を指定します。

構文

DBMS_CLOUD_AI_AGENT.CREATE_AGENT(
     agent_name          IN  VARCHAR2,
     attributes          IN  CLOB,
     status              IN  VARCHAR2  DEFAULT NULL,
     description         IN  CLOB      DEFAULT NULL
  );

Parameters

パラメータ 説明

agent_name

AIエージェントの名前。エージェント名は、Oracle SQL識別子のネーミング・ルールに従う必要があります。名前の長さは125文字までです。

これは必須パラメータです。

attributes

AIエージェントのカスタム属性。詳細は、CREATE_AGENT属性を参照してください。

status

エージェントのステータス。

デフォルト値はenabledです。

description

AIエージェントのユーザー指定の説明。

デフォルト値はNULLです。

次の例では、顧客製品返品を処理するエージェントを作成します。完全な例は、例: Product Return Agentの作成を参照してください。

BEGIN
  DBMS_CLOUD_AI_AGENT.CREATE_AGENT(
    agent_name => 'CustomerAgent',
    attributes => '{
       "profile_name": "GOOGLE",
                       "role": "You are an experienced customer agent who deals with customers return request."
     }'
  );
END;
/  
 
PL/SQL procedure successfully completed.

CREATE_AGENT属性

これらの属性は、エージェントのロールとAIプロファイル名を定義します。

属性

属性名 デフォルト値 説明

profile_name

-

エージェントがLLMにリクエストを送信するために使用しているAIプロファイル。

これは必須パラメータです。

role

-

エージェントの機能を定義し、エージェントにコンテキストを提供します。これはLLMに送信されます。

これは必須パラメータです。

enable_human_tool

True

エージェントがユーザーに質問して情報または説明を求めることができるようにします。

次の例は、プロシージャでエージェント属性をカスタマイズする方法を示しています。
BEGIN
  DBMS_CLOUD_AI_AGENT.CREATE_AGENT(
    agent_name => 'Customer_Return_Agent',
    attributes => '{
       "profile_name": "GOOGLE",
                       "role": "You are an experienced customer agent who deals with customers return request.",
			   "enable_human_tool": "False"
     }'
  );
END;
/  
 
PL/SQL procedure successfully completed

ENABLE_AGENTプロシージャ

このプロシージャーは、ユーザーが指定するAIエージェントを有効にします。このプロシージャは、AIエージェントのステータスをENABLEDに変更します。

構文

DBMS_CLOUD_AI_AGENT.ENABLE_AGENT(
   agent_name           IN  VARCHAR2
);

Parameters

パラメータ 説明

agent_name

有効にするAIエージェントの名前。

このパラメータは必須です。

AIプロファイルを有効にする例

BEGIN
     DBMS_CLOUD_AI_AGENT.ENABLE_AGENT(
         agent_name    => 'Customer_Return_Agent'
     );
END;
/

DISABLE_AGENTプロシージャ

このプロシージャは、現在のデータベース内のAIエージェントを無効にします。このプロシージャによって、AIエージェントのステータスがDISABLEDに変更されます。

構文

DBMS_CLOUD_AI_AGENT.DISABLE_AGENT(
   agent_name           IN  VARCHAR2
);

Parameters

パラメータ 説明

agent_name

AIエージェントの名前。

このパラメータは必須です。

BEGIN
     DBMS_CLOUD_AI_AGENT.DISABLE_AGENT(
         agent_name    => 'Customer_Return_Agent'
     );
END;
/

DROP_AGENTプロシージャ

このプロシージャーは、既存のAIエージェントを削除します。エージェントが存在しない場合、プロシージャはエラーをスローします。

構文

DBMS_CLOUD_AI_AGENT.DROP_AGENT(
    agent_name          IN  VARCHAR2,
    force               IN  BOOLEAN DEFAULT FALSE
 );

Parameters

パラメータ 説明

agent_name

AIエージェントの名前。

これは必須パラメータです。

force

TRUEの場合、AIエージェントが存在しない場合、プロシージャはエラーを無視します。

このパラメータのデフォルト値はFALSEです。

BEGIN
     DBMS_CLOUD_AI_AGENT.DROP_AGENT(agent_name => 'Customer_Return_Agent);
END;
/

使用上のノート

AIエージェントが存在しない場合は、forceを使用してエージェントを削除し、エラーを無視します。

CREATE_TASKプロシージャ

DBMS_CLOUD_AI_AGENT.CREATE_TASKプロシージャを使用して、Select AIエージェントがその推論プロセスに含めることができるタスクを定義します。各タスクには、タスクを計画および実行する際のエージェントの動作を指定する一意の名前と属性のセットがあります。

input属性を使用してタスク間の依存関係を定義すると、Select AIでタスクの出力を別のタスクに渡すことができます。これにより、連鎖推論および複数ステップのワークフローがサポートされます。

構文

DBMS_CLOUD_AI_AGENT.CREATE_TASK(
     task_name           IN  VARCHAR2,
     attributes          IN  CLOB,
     status              IN  VARCHAR2  DEFAULT NULL,
     description         IN  CLOB      DEFAULT NULL
  );

Parameters

パラメータ 説明

task_name

タスクの一意の名前。

これは必須パラメータです。

attributes

タスク固有の属性を含むJSONオブジェクト。「CREATE_TASK属性」を参照してください。

status

タスクのステータス。

デフォルト値はENABLEDです。

description

タスクの識別に役立つユーザー定義の説明です。この値はデータベースに格納されますが、LLMには送信されません。

デフォルト値はNULLです。

次の例では、顧客からの製品返品を処理するタスクを作成します。

BEGIN
  DBMS_CLOUD_AI_AGENT.CREATE_TASK(
    task_name => 'Return_And_Price_Match',
    attributes => '{"instruction": "Process a product return request from a customer:{query}' ||
                    '1. Ask customer the reason for return (price match or defective)' ||
                    '2. If price match:' ||
                    '   a. Request customer to provide a price match link' ||
                    '   b. Use websearch tool to get the price for that price match link' ||
                    '   c. Ask customer if they want a refund.' ||
                    '   d. Send email notification only if customer accept the refund.' ||
                    '3. If defective:' ||
                     '   a. Process the defective return",
                    "tools": ["WebSearch", "Email"]}'
  );
END;
/

CREATE_TASK属性

これらの属性は、タスクで使用可能なエージェントの指示およびツールを定義します。

属性

属性名 デフォルト値 説明

instruction

-
タスクの実行内容を説明する、明確で簡潔な文。このテキストは、LLMに送信されるプロンプトに含まれます。自然言語入力を表す{query}プレースホルダを含めることができます。たとえば:
SELECT AI AGENT <user_prompt>

これは必須パラメータです。

tools

-

エージェントがタスクを完了するために使用できるツール名のJSON配列。例: "tools": ["RAG", "SQL", "WEBSEARCH", "NOTIFICATION"]

これは必須パラメータです。

input

-

このタスクの入力として出力を使用する必要がある他のタスクを識別します。Select AIは、これらの出力をLLMに自動的に提供します。

enable_human_tool

-

タスク中に情報または説明が必要な場合に、エージェントがユーザーに質問することを可能にします。

デフォルト値はtrueです。

ノート:

タスクenable_human_toolは、エージェントのenable_human_tool属性を上書きします。エージェントenable_human_toolfalseに設定され、タスクenable_human_tooltrueに設定されている場合、タスクの実行中にLLMが質問をすると予想されます。

ENABLE_TASKプロシージャ

以前に定義したタスクを有効にするには、DBMS_CLOUD_AI_AGENT.ENABLE_TASKプロシージャを使用します。これにより、タスクのステータスがENABLEDに変更され、エージェントが処理中にタスクを使用できるようになります。

構文

DBMS_CLOUD_AI_AGENT.ENABLE_TASK(
   task_name           IN  VARCHAR2
);

Parameters

パラメータ 説明

task_name

有効にするタスクの名前。

このパラメータは必須です。

使用上のノート

タスクはシステムにすでに存在している必要があります。このプロシージャは、タスク・ステータスを更新し、推論ワークフロー中にエージェント・プロセスで使用できるようにします。

タスクを有効にする例

BEGIN
     DBMS_CLOUD_AI_AGENT.ENABLE_TASK(
         task_name    => 'Return_And_Price_Match'
     );
END;
/

DISABLE_TASKプロシージャ

現在のデータベースのタスクを無効化するには、DBMS_CLOUD_AI_AGENT.DISABLE_TASKプロシージャを使用します。これにより、タスクのステータスがDISABLEDに変更され、エージェントが処理中にタスクを使用できなくなります。

構文

DBMS_CLOUD_AI_AGENT.DISABLE_TASK(
   task_name           IN  VARCHAR2
);

Parameters

パラメータ 説明

task_name

無効化するタスクの名前。

このパラメータは必須です。

使用上のノート

タスクを無効にしても削除されず、後でDBMS_CLOUD_AI_AGENT.ENABLE_TASKを使用して再度有効にできます。無効にすると、タスクは非アクティブになり、エージェントはタスクの選択時にタスクを考慮しなくなります。

次の例では、既存のタスクを無効にします。

BEGIN
     DBMS_CLOUD_AI_AGENT.DISABLE_TASK(
         task_name    => 'Return_And_Price_Match'
     );
END;
/

DROP_TASKプロシージャ

DBMS_CLOUD_AI_AGENT.DROP_TASKプロシージャを使用して、以前に定義したタスクをデータベースから削除します。タスクが存在しない場合は、forceパラメータをTRUEに設定することでエラーを抑制できます。

構文

DBMS_CLOUD_AI_AGENT.DROP_TASK(
   task_name IN  VARCHAR2,
   force     IN  BOOLEAN DEFAULT FALSE
);

Parameters

パラメータ 説明

task_name

削除するタスクの名前。

これは必須パラメータです。

force

TRUEの場合、タスクが存在しない場合、プロシージャはエラーを無視します。

このパラメータのデフォルト値はFALSEです。

BEGIN
     DBMS_CLOUD_AI_AGENT.DROP_TASK(task_name => 'Return_And_Price_Match');
END;
/

使用上のノート

forceを使用して、タスクを削除し、そのタスクが存在しない場合はエラーを無視します。

CREATE_TOOLプロシージャ

タスク処理中にエージェントが使用できるカスタム・ツールを登録するには、DBMS_CLOUD_AI_AGENT.CREATE_TOOLプロシージャを使用します。各ツールは、一意のtool_nameによって識別され、その目的、実装ロジックおよびメタデータを定義する属性を含みます。

ツールは、カスタムPL/SQLプロシージャまたはファンクション、またはRAG、SQL、WEBSEARCH、NOTIFICATIONなどの組込みツール・タイプです。

構文

DBMS_CLOUD_AI_AGENT.CREATE_TOOL(
     tool_name          IN  VARCHAR2,
     attributes          IN  CLOB,
     status              IN  VARCHAR2  DEFAULT NULL,
     description         IN  CLOB      DEFAULT NULL
  );

Parameters

パラメータ 説明

tool_name

ツールを識別する一意の名前。

これは必須パラメータです。

attributes

JSON形式のツール属性。「CREATE_TOOL属性」を参照してください。

これは必須パラメータです。

status

ツールのステータス。

デフォルト値はENABLEDです。

description

ツールの識別に役立つユーザー定義の説明。この値はデータベースに格納されますが、LLMには送信されません。

デフォルト値はNULLです。

次の例では、受信者への電子メールを生成するためのツールを作成します。

BEGIN
  DBMS_CLOUD_AI_AGENT.CREATE_TOOL(
    tool_name  => 'NOTIFICATION',
    attributes => '{"tool_type": "EMAIL"}'
  );
END;
/

CREATE_TOOL属性

これらの属性は、attributesパラメータのJSONオブジェクトを使用してツール構成を提供します。各属性は、推論時にエージェントがツールを使用する方法を構成します。

属性

属性名 デフォルト値 説明

instruction

-

ツールが何を達成すべきか、その方法を説明する、明確で簡潔な記述。このテキストは、LLMに送信されるプロンプトに含まれます。

これは必須パラメータです。

function

-

ツールの使用時にコールするPL/SQLプロシージャまたはファンクションを指定します。

これはカスタム・ツールの必須パラメータです。

tool_type

-

組込みツール・タイプを指定します。設定すると、instructionおよびfunctionは必要ありません。

可能な値は次のとおりです:
  • SQL
  • RAG
  • WEBSEARCH
  • NOTIFICATION

カスタマイズされた名前およびパラメータを含む組込みツールを作成できます。また、同じtool_typeで異なるtool_paramsを使用して複数の組込みツールを作成することもできます。

tool_params

-

組込みツールを登録するためのパラメータを指定します。

tool_inputs

-

入力引数について説明します。表の列のコメントと同様です。たとえば:

"tool_inputs": [
  {
    "name": "data_guard",
    "description": "Only supported values are "Enabled" and "Disabled""
  }
]

組込みツールの前提条件

組込みツールを使用する前に、次のステップを実行します。

RAGツール

  1. ベクトル索引を参照するAIプロファイルを作成します。「検索拡張生成(RAG)を使用した自然言語プロンプトの拡張」を参照してください。

通知ツール

SLACKおよびEMAILがサポートされています。

SLACKツール:

  1. Autonomous Databaseからメッセージを受信するようにSlackアプリケーションを設定します。
  2. DBMS_CLOUD_NOTIFICATIONを使用して資格証明を作成し、Autonomous DatabaseからSlack通知を送信します。Autonomous AI DatabaseからのSlack通知の送信を参照してください。

EMAILツール:

ノート:

電子メール・ツールは、OCIから電子メール通知を送信します。
  1. SMTPエンドポイントを識別します。たとえば、SMTPエンドポイントのいずれかを選択します。
    smtp.us-phoenix-1.oraclecloud.com
    smtp.us-ashburn-1.oraclecloud.com
    smtp.email.uk-london-1.oci.oraclecloud.com
    smtp.email.eu-frankfurt-1.oci.oraclecloud.com
  2. ACLを使用してSMTPアクセス権を付与します。SMTP接続の構成を参照してください。
  3. Eメール配信用のSMTP資格証明を生成します。UTL_SMTPパッケージは、Eメールの送信時に資格証明を使用してEメール配信サーバーでの認証を行います。詳細は、ユーザーに対するSMTP資格証明の生成を参照してください。
  4. 承認送信者を作成します。UTL_SMTP.MAILサブプログラムでFromアドレスとして使用するすべての電子メール・アドレスに対して、このステップを実行します。詳細は、承認済送信者の管理を参照してください。
  5. アクセス制御エントリ(ACE)を追加して、ユーザーにSMTPアクセス権を付与します。詳細は、Autonomous AI Databaseでの電子メールの送信を参照してください。

DBMS_CLOUD_AI_AGENTパッケージの組込みツール・タイプ

組込みツールは、tool_typeおよびtool_params属性を使用して登録できます。

ツールの種類 説明 必須パラメータ

SQL

自然言語をSQL問合せに変換します。

profile_name

RAG

ベクトル検索により検索拡張生成を実行します。

profile_name

NOTIFICATION

Slackチャネルにメッセージを送信するか、SMTPを使用して電子メールを送信します。使用可能なオプションは次のとおりです。
  • slack
  • email

notification_type.

notification_typeslackの場合、credential_nameおよびchannelは必須です。

notification_typeemailの場合、credential_namerecipientsenderおよびsmtp_hostは必須です。

WEBSEARCH

Webから情報を検索します。

credential_name

ENABLE_TOOLプロシージャ

以前に登録したツールを有効にするには、DBMS_CLOUD_AI_AGENT.ENABLE_TOOLプロシージャを使用します。これにより、ツールのステータスがENABLEDに変更され、エージェントがタスクを使用できるようになります。

構文

DBMS_CLOUD_AI_AGENT.ENABLE_TOOL(
   tool_name           IN  VARCHAR2
);

Parameters

パラメータ 説明

tool_name

有効にするツールの名前。

このパラメータは必須です。

BEGIN
     DBMS_CLOUD_AI_AGENT.ENABLE_TOOL(
         tool_name    => 'SQL'
     );
END;
/

DISABLE_TOOLプロシージャ

登録されたツールを無効にするには、DBMS_CLOUD_AI_AGENT.DISABLE_TOOLプロシージャを使用します。これにより、ツールのステータスがDISABLEDに変更され、エージェントがタスクで使用できなくなります。

構文

DBMS_CLOUD_AI_AGENT.DISABLE_TOOL(
   tool_name           IN  VARCHAR2
);

Parameters

パラメータ 説明

tool_name

無効化するツールの名前。

このパラメータは必須です。

次の例では、既存のツールを無効にします。

BEGIN
     DBMS_CLOUD_AI_AGENT.DISABLE_TOOL(
         tool_name    => 'SQL'
     );
END;
/

DROP_TOOLプロシージャ

DBMS_CLOUD_AI_AGENT.DROP_TOOLプロシージャを使用して、エージェントに登録済のツールを削除します。タスクが存在しない場合は、forceパラメータをTRUEに設定することでエラーを抑制できます。

構文

DBMS_CLOUD_AI_AGENT.DROP_TOOL(
   tool_name IN  VARCHAR2,
   force     IN  BOOLEAN DEFAULT FALSE
);

Parameters

パラメータ 説明

tool_name

削除するツールの名前。

これは必須パラメータです。

force

TRUEの場合、ツールが存在しない場合、プロシージャはエラーを無視します。

このパラメータのデフォルト値はFALSEです。

BEGIN
     DBMS_CLOUD_AI_AGENT.DROP_TOOL(tool_name => 'SQL');
END;
/

使用上のノート

forceを使用してツールを削除し、ツールが存在しない場合はエラーを無視します。

CREATE_TEAMプロシージャ

タスクを実行するために連携するAIエージェントのチームを定義するには、DBMS_CLOUD_AI_AGENT.CREATE_TEAMプロシージャを使用します。エージェントとその関連タスク、およびタスクの処理方法を指定します。

構文

DBMS_CLOUD_AI_AGENT.CREATE_TEAM(
   team_name    IN VARCHAR2,
   attributes   IN CLOB,
   status       IN VARCHAR2 DEFAULT NULL,
   description  IN CLOB     DEFAULT NULL
);

Parameters

パラメータ 説明

team_name

AIエージェント・チームを識別する一意の名前。

これは必須パラメータです。

attributes

エージェントやプロセスなどのチーム属性を定義するJSON形式の文字列。「CREATE_TEAM属性」を参照してください。

これは必須パラメータです。

status

チームの状況。

デフォルト値はENABLEDです。

description

チームの目的を識別するユーザー定義摘要。この値はデータベースに格納されますが、LLMには送信されません。

デフォルト値はNULLです。

次の例では、顧客の製品返品を処理するエージェント・チームを作成します。

BEGIN                                                                
  DBMS_CLOUD_AI_AGENT.CREATE_TEAM( 
    team_name  => 'ReturnAgency',                                                            
    attributes => '{"agents": [{"name":"Customer_Return_Agent","task" : "Return_And_Price_Match"}],
                    "process": "sequential"}');                                                                
END;                                                                      
/

CREATE_TEAM属性

これらの属性は、AIエージェント・チームの構成を提供します。各チームには一意のteam_nameがあり、一連の属性を使用してその構造と実行戦略を定義します。

属性

属性名 デフォルト値 説明

agents

-

エージェントおよび対応するタスクをリストするJSON配列を指定します。エージェントは、同じ名前を使用して複数のタスクに割り当てることができます。

これは必須パラメータです。

次に例を示します:

[
  {"name": "<agent_name>", "task": "<task_name>"
]

process

-

タスクの実行方法を指定します。タスクを順番に実行するには、"sequential"を使用します。

SET_TEAMファンクション

DBMS_CLOUD_AI_AGENT.SET_TEAMを使用して、現在のセッションのAIエージェント・チームを指定します。

チームが設定されると、select ai agentアクションのみが有効になり、他のSelect AIアクションはサポートされません。

構文

DBMS_CLOUD_AI_AGENT.SET_TEAM(
    team_name      IN  VARCHAR2,
);

Parameters

パラメータ 説明

team_name

現在のセッションで使用するAIエージェントチームの名前を指定します。チームはすでにシステムに存在している必要があります。

このパラメータは必須です。

次の例では、現在のセッションでユーザー指定のAIエージェントチームを設定します。

EXEC DBMS_CLOUD_AI_AGENT.SET_TEAM('ReturnAgency');
  

GET_TEAMファンクション

DBMS_CLOUD_AI_AGENT.GET_TEAMを使用して、現在のセッションのAIエージェント・チームを返します。

構文

DBMS_CLOUD_AI_AGENT.GET_TEAM RETURN VARCHAR2;

次の例では、現在のセッションのAIエージェントチームを返します。

SELECT DBMS_CLOUD_AI_AGENT.GET_TEAM from DUAL;
  

CLEAR_TEAMファンクション

DBMS_CLOUD_AI_AGENT.CLEAR_TEAMを使用して、現在のセッションで設定されたAIエージェントチームをクリアします。このプロシージャは、チームを削除しません。

構文

DBMS_CLOUD_AI_AGENT.CLEAR_TEAM;

次の例では、現在のセッションのAIエージェントチームをクリアします。

BEGIN
  DBMS_CLOUD_AI_AGENT.CLEAR_TEAM;
END;
/
  

RUN_TEAMファンクション

DBMS_CLOUD_AI_AGENT.RUN_TEAMを使用して、新しいAIエージェント・チームを開始するか、ヒューマン入力を待機している一時停止されたチームを再開します。既存のプロセスIDを指定し、関連付けられたチーム・プロセスがWAITING_FOR_HUMAN状態の場合、このファンクションは、ヒューマン・レスポンスとして指定した入力を使用してワークフローを再開します。

構文

DBMS_CLOUD_AI_AGENT.RUN_TEAM(
     team_name               IN  VARCHAR2,
     user_prompt             IN  CLOB DEFAULT NULL,
     params                  IN  CLOB DEFAULT NULL,
  );

Parameters

パラメータ 説明

team_name

現在のセッションで使用するAIエージェントチームの名前を指定します。チームはすでにシステムに存在している必要があります。

このパラメータは必須です。

user_prompt

タスクに指定されたユーザー問合せまたはレスポンスを指定します。

タスクがRUNNING状態の場合、入力はタスク指示の{query}のプレースホルダとして機能します。

タスクがWAITING_FOR_HUMAN状態の場合、入力はヒューマン・レスポンスとして機能します。

params

AIエージェント・チーム・プロセス中に使用されるカスタマイズされたパラメータを指定します。サポートされるパラメータは次のとおりです。
  • conversation_id: エージェント・チームに関連付けられた会話セッションを識別します。ステートレス・アプリケーション統合(APEXなど)では、このパラメータを使用して異なるユーザー接続を区別します。
  • variables: エージェント・チームに追加入力を提供するキーと値のペアを定義します。これらの変数は、プロセス中のチームの動作をカスタマイズするのに役立ちます。

次の例では、現在のセッションでユーザー指定のAIエージェントチームを実行します。

l_final_answer := DBMS_CLOUD_AI_AGENT.RUN_TEAM(
  team_name => 'ReturnAgency',
  user_prompt => 'I want to return computer desk chair',
  params => '{"conversation_id": "' ||l_conversation_id || '"}'
);

  

ENABLE_TEAMプロシージャ

ユーザー指定のAIエージェント・チームを有効にするには、DBMS_CLOUD_AI_AGENT.ENABLE_TEAMプロシージャを使用します。これにより、チームのステータスがENABLEDに変更されます。

構文

DBMS_CLOUD_AI_AGENT.ENABLE_TEAM(
   team_name           IN  VARCHAR2
);

Parameters

パラメータ 説明

team_name

有効にするAIエージェント・チームの名前。

このパラメータは必須です。

次の例では、ユーザー指定のAIエージェントチームを有効にします。

BEGIN
     DBMS_CLOUD_AI_AGENT.ENABLE_TEAM(
         team_name    => 'ReturnAgency'
     );
END;
/

DISABLE_TEAMプロシージャ

既存のAIエージェントチームを無効にするには、DBMS_CLOUD_AI_AGENT.DISABLE_TEAM手順を使用します。これにより、チームのステータスがDISABLEDに変更されます。

構文

DBMS_CLOUD_AI_AGENT.DISABLE_TEAM(
   team_name           IN  VARCHAR2
);

Parameters

パラメータ 説明

team_name

無効化するAIエージェント・チームの名前。

このパラメータは必須です。

次の例では、既存のAIエージェントチームを無効にします。

BEGIN
     DBMS_CLOUD_AI_AGENT.DISABLE_TEAM(
         team_name    => 'ReturnAgency'
     );
END;
/

DROP_TEAMプロシージャ

以前に作成したAIエージェント・チームを削除するには、DBMS_CLOUD_AI_AGENT.DROP_TEAMプロシージャを使用します。

構文

DBMS_CLOUD_AI_AGENT.DROP_TEAM(
   team_name IN  VARCHAR2,
   force     IN  BOOLEAN DEFAULT FALSE
);

Parameters

パラメータ 説明

team_name

削除するチームの名前。

これは必須パラメータです。

force

TRUEの場合、チームが存在しない場合、プロシージャはエラーを無視します。

このパラメータのデフォルト値はFALSEです。

BEGIN
     DBMS_CLOUD_AI_AGENT.DROP_TEAM(team_name => 'ReturnAgency');
END;
/

使用上のノート

forceを使用して、チームを削除し、チームが存在しない場合はエラーを無視します。