DBMS_CLOUD_AI_AGENTパッケージ

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

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

パラメータ

パラメータ 摘要
agent_name

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

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

attributes AIエージェントのカスタム属性。詳細は、CREATE_AGENT Attributesを参照してください。
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
);

パラメータ

パラメータ 摘要
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;
/

使用上のノート

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

パラメータ

パラメータ 摘要
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 \

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

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

パラメータ

パラメータ 摘要
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です。

次の例では、既存のNL2SQLプロファイルからSQLを生成するSQLツールを作成します。詳細は、例: 組込みツールの作成を参照してください。

BEGIN
  DBMS_CLOUD_AI_AGENT.CREATE_TOOL(
    tool_name  => 'SQL',
    attributes => '{"tool_type": "SQL",
                    "tool_params": {"profile_name": "nl2sql_profile"}}'
  );
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プロファイルを作成します。Select AI with Retrieval Augmented Generation (RAG)を参照してください。
通知ツール

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

SLACKツール:
  1. Autonomous AI Databaseからメッセージを受信するようにSlackアプリケーションを設定します。

  2. DBMS_CLOUD_NOTIFICATIONを使用して資格証明を作成し、Autonomous AI DatabaseからSlack通知を送信します。Autonomous AI 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 AI Databaseからの電子メールの送信を参照してください。

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

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

ツールタイプ 摘要 必須パラメータ
SQL 自然言語をSQL問合せに変換します。

ノート:組込みSQLツールでは、runsqlshowsqlexplainsqlなどのSelect AIアクションを使用して、データベース関連のプロンプトを処理します。組込みツールには、これらのアクションの動作および使用方法を定義するデフォルトの指示が含まれています。CREATE_TOOLプロシージャのinstruction属性を使用して、エージェントがプロンプトを最適なアクションにマップする方法をガイドすることで、デフォルトの動作を補足できます。
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
);

パラメータ

パラメータ 摘要
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": "", "task": "" ]
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プロシージャ

ユーザー指定のAIエージェント・チームを有効にするには、DBMS_CLOUD_AI_AGENT.ENABLE_TEAMプロシージャを使用します。これにより、チームのステータスが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を使用して、チームを削除し、チームが存在しない場合はエラーを無視します。