DBMS_CLOUD_AI_AGENTパッケージ

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

DBMS_CLOUD_AI_AGENTサブプログラムの要約

この項では、Autonomous Databaseで提供されるSelect AIエージェントの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
  );

パラメータ

パラメータ 摘要

agent_name

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

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

attributes

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

status

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

デフォルト値はenabledです。

description

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

デフォルト値はNULLです。

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

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

NULL

エージェントの機能を定義し、エージェントにコンテキストを提供します。これは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
);

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

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
 );

パラメータ

パラメータ 摘要

agent_name

AIエージェントの名前。

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

force

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

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

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

使用上のノート

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

CREATE_TASKプロシージャ

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

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

構文

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

パラメータ

パラメータ 摘要

task_name

タスクの一意の名前。

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

attributes

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

status

タスクのステータス。

デフォルト値はENABLEDです。

description

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

デフォルト値はNULLです。

enable_human_tool

タスク中に情報や説明が必要な場合に、エージェントがユーザーに質問できるようにします。

デフォルト値はtrueです。

ノート

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

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

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_TASKプロシージャ

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

構文

DBMS_CLOUD_AI_AGENT.ENABLE_TASK(
   task_name           IN  VARCHAR2
);

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

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
  );

パラメータ

パラメータ 摘要

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)を使用したSelect AI」を参照してください。

通知ツール

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

SLACKツール:

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

EMAILツール:

ノート

電子メール・ツールは、OCIから電子メール通知を送信します。
  1. SMTPエンドポイントを識別します。たとえば、SMTPエンドポイントの1つを選択します。
    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アクセスをユーザーに付与します。詳細は、DBMS_CLOUD_NOTIFICATIONを使用したAutonomous Databaseからの電子メールの送信を参照してください。

HTTPツール:

ACLを使用してネットワーク・アクセスをユーザー指定のエンドポイントに付与し、HTTPリクエストを有効にします:

BEGIN
  DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
    host => 'www.example.com',
    ace  => xs$ace_type(
             privilege_list => xs$name_list('http'),
             principal_name => 'ADB_USER',
             principal_type => xs_acl.ptype_db
           )
  );
END;
/

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およびslack_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
);

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

tool_name

削除するツールの名前。

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

force

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

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

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

使用上のノート

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

CREATE_TEAMプロシージャ

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

構文

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

パラメータ

パラメータ 摘要

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,
);

パラメータ

パラメータ 摘要

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,
  );

パラメータ

パラメータ 摘要

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プロシージャ

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

構文

DBMS_CLOUD_AI_AGENT.ENABLE_TEAM(
   team_name           IN  VARCHAR2
);

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

team_name

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

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

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

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

DROP_TEAMプロシージャ

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

構文

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

パラメータ

パラメータ 摘要

team_name

削除するチームの名前。

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

force

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

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

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

使用上のノート

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