DBMS_CLOUD_AI_AGENT-Package

Dieses Package definiert und verwaltet Select AI-Agents, -Aufgaben, -Tools und -Orchestrierung.

Zusammenfassung der DBMS_CLOUD_AI_AGENT-Unterprogramme

In diesem Abschnitt werden die DBMS_CLOUD_AI_AGENT-Unterprogramme des Select AI Agent beschrieben, die mit der autonomen KI-Datenbank bereitgestellt werden.

Unterprogramm Beschreibung

Prozedur CREATE_AGENT

Mit dieser Prozedur wird ein Agent erstellt.

CREATE_AGENT-Attribute

Stellt Attribute für die Erstellung eines Agent bereit.

Prozedur ENABLE_AGENT

Mit dieser Prozedur wird ein Agent aktiviert.

Prozedur DISABLE_AGENT

Mit diesem Verfahren wird ein Agent deaktiviert.

Prozedur DROP_AGENT

Bei diesem Verfahren wird ein vorhandener Agent gelöscht.

Prozedur CREATE_TASK

Mit diesem Verfahren wird eine Aufgabe erstellt, die ein Agent- und ein Agent-Team enthalten kann.

CREATE_TASK-Attribute

Gibt Attribute zum Erstellen einer Agent-Aufgabe an.

Prozedur ENABLE_TASK

Diese Prozedur aktiviert eine Agent-Aufgabe.

Prozedur DISABLE_TASK

Mit diesem Verfahren wird eine Agent-Aufgabe deaktiviert.

Prozedur DROP_TASK

Mit diesem Verfahren wird eine vorhandene Agent-Aufgabe gelöscht.

Prozedur CREATE_TOOL

In diesem Verfahren werden benutzerdefinierte Tools erstellt, die ein Agent enthalten kann.

CREATE_TOOL-Attribute

Bietet Attribute für die Erstellung von Tools.

Prozedur ENABLE_TOOL

Diese Prozedur ermöglicht ein registriertes Tool.

Prozedur DISABLE_TOOL

Mit diesem Verfahren wird ein registriertes Tool deaktiviert.

Prozedur DROP_TOOL

Dieses Verfahren löscht ein vorhandenes Tool.

Prozedur CREATE_TEAM

Dieses Verfahren erstellt ein Agent-Team und umfasst Agents und Aufgaben.

CREATE_TEAM-Attribute

Gibt Attribute für die Erstellung eines Agent-Teams an.

Funktion SET_TEAM

Mit diesem Verfahren wird das Agent-Team in der aktuellen Session festgelegt.

Funktion GET_TEAM

Diese Prozedur gibt das Agent-Team zurück, das in der aktuellen Session festgelegt wurde.

Funktion CLEAR_TEAM

Mit diesem Verfahren wird das in der aktuellen Session eingestellte Agent-Team gelöscht.

Funktion RUN_TEAM

Mit dieser Prozedur wird ein neuer Agent erstellt oder ein angehaltener Agent ausgeführt.

Prozedur ENABLE_TEAM

Mit diesem Verfahren wird ein Agent-Team aktiviert.

Prozedur DISABLE_TEAM

Mit diesem Verfahren wird ein Agent-Team deaktiviert.

Prozedur DROP_TEAM

Bei diesem Verfahren wird ein vorhandenes Agent-Team gelöscht.

Prozedur CREATE_AGENT

Verwenden Sie die Prozedur DBMS_CLOUD_AI_AGENT.CREATE_AGENT, um einen neuen AI-Agent im Select AI Agent-Framework zu registrieren. Definieren Sie die Identität des Agent mit agent_name, konfigurieren Sie sein Verhalten mit dem Attributparameter, und geben Sie optional eine Beschreibung an.

Syntax

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

Parameter

Parameter Beschreibung

agent_name

Ein Name für den AI-Agent. Der Agent-Name muss den Benennungsregeln der Oracle SQL-ID entsprechen. Der Name darf maximal 125 Zeichen lang sein.

Dies ist ein obligatorischer Parameter.

attributes

Benutzerdefinierte Attribute für den AI-Agent. Weitere Informationen finden Sie unter CREATE_AGENT Attribute.

status

Status des Agent.

Der Standardwert ist enabled.

description

Benutzerdefinierte Beschreibung für den AI-Agent.

Der Standardwert ist NULL.

Beispiel

Im folgenden Beispiel wird ein Agent zur Verarbeitung von Kundenproduktretouren erstellt. Ein vollständiges Beispiel finden Sie unter Beispiel: Product Return Agent erstellen.

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-Attribute

Diese Attribute definieren die Rolle eines Agent und den AI-Profilnamen.

Attribute

Attributname Standardwert Beschreibung

profile_name

-

Das KI-Profil, das der Agent zum Senden einer Anforderung an LLM verwendet.

Dies ist ein obligatorischer Parameter.

role

NULL

Definieren Sie die Funktion des Agents, und geben Sie dem Agent Kontext an. Wird an LLM gesendet.

Dies ist ein obligatorischer Parameter.

enable_human_tool

True

Ermöglichen Sie dem Agent, dem Benutzer Fragen zur Information oder Klärung zu stellen.

Im folgenden Beispiel wird gezeigt, wie Sie Agent-Attribute in der Prozedur anpassen können.
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

Prozedur ENABLE_AGENT

Mit dieser Prozedur wird der vom Benutzer angegebene AI-Agent aktiviert. Die Prozedur ändert den Status des AI-Agent in ENABLED.

Syntax

DBMS_CLOUD_AI_AGENT.ENABLE_AGENT(
   agent_name           IN  VARCHAR2
);

Parameter

Parameter Beschreibung

agent_name

Name des zu aktivierenden AI-Agents.

Dieser Parameter ist obligatorisch.

Beispiel zum Aktivieren des AI-Profils

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

Prozedur DISABLE_AGENT

Mit dieser Prozedur wird der AI-Agent in der aktuellen Datenbank deaktiviert. Der Status des AI-Agents wird durch diese Prozedur in DISABLED geändert.

Syntax

DBMS_CLOUD_AI_AGENT.DISABLE_AGENT(
   agent_name           IN  VARCHAR2
);

Parameter

Parameter Beschreibung

agent_name

Name für den AI-Agent.

Dieser Parameter ist obligatorisch.

Beispiel

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

Prozedur DROP_AGENT

Die Prozedur löscht einen vorhandenen AI-Agent. Wenn der Agent nicht vorhanden ist, löst die Prozedur einen Fehler aus.

Syntax

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

Parameter

Parameter Beschreibung

agent_name

Name des AI-Agent.

Dies ist ein obligatorischer Parameter.

force

Wenn TRUE, ignoriert die Prozedur Fehler, wenn kein AI-Agent vorhanden ist.

Der Standardwert für diesen Parameter ist FALSE.

Beispiel

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

Hinweise zur Verwendung

Verwenden Sie force, um einen Agent zu löschen und Fehler zu ignorieren, wenn kein AI-Agent vorhanden ist.

Prozedur CREATE_TASK

Verwenden Sie die Prozedur DBMS_CLOUD_AI_AGENT.CREATE_TASK, um eine Aufgabe zu definieren, die ein Select AI-Agent in seinen Argumentationsprozess aufnehmen kann. Jede Aufgabe hat einen eindeutigen Namen und eine Gruppe von Attributen, die das Verhalten des Agents bei der Planung und Ausführung der Aufgabe angeben.

Sie können Abhängigkeiten zwischen Aufgaben mit dem Attribut input definieren, sodass Select AI die Ausgabe einer Aufgabe an eine andere übergeben kann. Dies unterstützt verkettetes Denken und mehrstufige Workflows.

Syntax

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

Parameter

Parameter Beschreibung

task_name

Ein eindeutiger Name für die Aufgabe.

Dies ist ein obligatorischer Parameter.

attributes

JSON-Objekt mit aufgabenspezifischen Attributen. Siehe CREATE_TASK Attribute.

status

Status der Aufgabe.

Der Standardwert ist ENABLED.

description

Benutzerdefinierte Beschreibung zur Identifizierung der Aufgabe. Dieser Wert wird in der Datenbank gespeichert, aber nicht an das LLM gesendet.

Der Standardwert ist NULL.

enable_human_tool

Ermöglichen Sie dem Agent, dem Benutzer Fragen zu stellen, wenn während einer Aufgabe Informationen oder Klärungen erforderlich sind.

Der Standardwert ist "true".

Hinweis

Aufgabe enable_human_tool überschreibt das Agent-Attribut enable_human_tool. Wenn Agent enable_human_tool auf false und Aufgabe enable_human_tool auf true gesetzt ist, wird erwartet, dass das LLM während der Aufgabenausführung Fragen stellt.

Beispiel

Im folgenden Beispiel wird eine Aufgabe zur Verarbeitung einer Produktretoure von einem Kunden erstellt.

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-Attribute

Diese Attribute definieren die Anweisungen und Tools des Agents, die für die Aufgabe verfügbar sind.

Attribute

Attributname Standardwert Beschreibung

instruction

-
Eine klare, prägnante Aussage, die beschreibt, was die Aufgabe erfüllen sollte. Dieser Text ist in der Eingabeaufforderung enthalten, die an das LLM gesendet wird. Sie können einen Platzhalter {query} einfügen, um die Eingabe in natürlicher Sprache darzustellen. Beispiel:
SELECT AI AGENT <user_prompt>

Dies ist ein obligatorischer Parameter.

tools

-

Ein JSON-Array mit Toolnamen, mit denen der Agent die Aufgabe abschließen kann. Beispiel: "tools": ["RAG", "SQL", "WEBSEARCH", "NOTIFICATION"].

Dies ist ein obligatorischer Parameter.

input

-

Gibt andere Aufgaben an, deren Ausgaben als Eingabe für diese Aufgabe verwendet werden sollen. Select AI stellt dem LLM diese Ausgaben automatisch zur Verfügung.

Prozedur ENABLE_TASK

Verwenden Sie die Prozedur DBMS_CLOUD_AI_AGENT.ENABLE_TASK, um eine zuvor definierte Aufgabe zu aktivieren. Dadurch wird der Status der Aufgabe in ENABLED geändert, sodass der Agent sie während der Verarbeitung verwenden kann.

Syntax

DBMS_CLOUD_AI_AGENT.ENABLE_TASK(
   task_name           IN  VARCHAR2
);

Parameter

Parameter Beschreibung

task_name

Name der zu aktivierenden Aufgabe.

Dieser Parameter ist obligatorisch.

Hinweise zur Verwendung

Die Aufgabe muss bereits im System vorhanden sein. Diese Prozedur aktualisiert den Aufgabenstatus und stellt ihn während der Logikworkflows für den Agent-Prozess zur Verfügung.

Beispiel für die Aktivierung einer Aufgabe

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

Prozedur DISABLE_TASK

Verwenden Sie die Prozedur DBMS_CLOUD_AI_AGENT.DISABLE_TASK, um eine Aufgabe in der aktuellen Datenbank zu deaktivieren. Dadurch wird der Status der Aufgabe in DISABLED geändert, sodass der Agent sie während der Verarbeitung nicht verwendet.

Syntax

DBMS_CLOUD_AI_AGENT.DISABLE_TASK(
   task_name           IN  VARCHAR2
);

Parameter

Parameter Beschreibung

task_name

Name der zu deaktivierenden Aufgabe.

Dieser Parameter ist obligatorisch.

Hinweise zur Verwendung

Wenn Sie eine Aufgabe deaktivieren, wird sie nicht gelöscht. Sie können sie später mit DBMS_CLOUD_AI_AGENT.ENABLE_TASK erneut aktivieren. Nach der Deaktivierung wird die Aufgabe inaktiv, und der Agent berücksichtigt sie bei der Aufgabenauswahl nicht mehr.

Beispiel

Im folgenden Beispiel wird eine vorhandene Aufgabe deaktiviert.

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

Prozedur DROP_TASK

Verwenden Sie die Prozedur DBMS_CLOUD_AI_AGENT.DROP_TASK, um eine zuvor definierte Aufgabe aus der Datenbank zu entfernen. Wenn die Aufgabe nicht vorhanden ist, können Sie den Fehler unterdrücken, indem Sie den Parameter force auf TRUE setzen.

Syntax

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

Parameter

Parameter Beschreibung

task_name

Name der zu löschenden Aufgabe.

Dies ist ein obligatorischer Parameter.

force

Wenn TRUE, ignoriert die Prozedur Fehler, wenn die Aufgabe nicht vorhanden ist.

Der Standardwert für diesen Parameter ist FALSE.

Beispiel

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

Hinweise zur Verwendung

Verwenden Sie force, um eine Aufgabe zu löschen und Fehler zu ignorieren, wenn die Aufgabe nicht vorhanden ist.

Prozedur CREATE_TOOL

Verwenden Sie die Prozedur DBMS_CLOUD_AI_AGENT.CREATE_TOOL, um ein benutzerdefiniertes Tool zu registrieren, das ein Agent während der Aufgabenverarbeitung verwenden kann. Jedes Tool wird durch eine eindeutige tool_name identifiziert und enthält Attribute, die den Zweck, die Implementierungslogik und die Metadaten definieren.

Die Tools können benutzerdefinierte PL/SQL-Prozeduren oder -Funktionen oder integrierte Tooltypen wie RAG, SQL, WEBSEARCH oder NOTIFICATION sein.

Syntax

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

Parameter

Parameter Beschreibung

tool_name

Ein eindeutiger Name zur Identifizierung des Tools.

Dies ist ein obligatorischer Parameter.

attributes

Toolattribute im JSON-Format. Siehe CREATE_TOOL Attribute.

Dies ist ein obligatorischer Parameter.

status

Status des Tools.

Der Standardwert ist ENABLED.

description

Benutzerdefinierte Beschreibung zur Identifizierung des Tools. Dieser Wert wird in der Datenbank gespeichert, aber nicht an das LLM gesendet.

Der Standardwert ist NULL.

Beispiel

Im folgenden Beispiel wird ein Tool zum Generieren einer E-Mail an den Empfänger erstellt.

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

CREATE_TOOL-Attribute

Diese Attribute stellen die Toolkonfiguration mit einem JSON-Objekt im Attributparameter bereit. Jedes Attribut konfiguriert, wie der Agent das Tool während der Argumentation verwendet.

Attribute

Attributname Standardwert Beschreibung

instruction

-

Eine klare, prägnante Aussage, die beschreibt, was das Tool erreichen sollte und wie es zu tun ist. Dieser Text ist in der Eingabeaufforderung enthalten, die an das LLM gesendet wird.

Dies ist ein obligatorischer Parameter.

function

-

Gibt die PL/SQL-Prozedur oder -Funktion an, die aufgerufen wird, wenn das Tool verwendet wird.

Dies ist ein obligatorischer Parameter für benutzerdefinierte Tools.

tool_type

-

Gibt einen integrierten Tooltyp an. Wenn diese Option festgelegt ist, sind instruction und function nicht erforderlich.

Mögliche Werte sind:
  • SQL
  • RAG
  • WEBSEARCH
  • NOTIFICATION

Sie können integrierte Tools mit benutzerdefinierten Namen und Parametern erstellen. Sie können auch mehrere integrierte Tools mit demselben tool_type, aber einem anderen tool_params erstellen.

tool_params

-

Gibt Parameter für die Registrierung von integrierten Tools an.

tool_inputs

-

Beschreibt Eingabeargumente. Ähnlich wie Spaltenkommentare in einer Tabelle. Beispiel:

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

Voraussetzungen für das integrierte Tool

Führen Sie die folgenden Schritte aus, bevor Sie integrierte Tools verwenden:

RAG-Tool

  1. Erstellen Sie ein AI-Profil, das einen Vektorindex referenziert. Siehe AI mit Retrieval Augmented Generation (RAG) auswählen.

Benachrichtigungstool

Die folgenden Elemente werden unterstützt: SLACK und EMAIL.

SLACK-Tool:

  1. Richten Sie eine Slack-Anwendung ein, um Nachrichten von Autonomous Database zu empfangen.
  2. Erstellen Sie Zugangsdaten mit DBMS_CLOUD_NOTIFICATION, um Slack-Benachrichtigungen von Autonomous Database zu senden. Siehe Slack-Benachrichtigungen aus Autonomous AI Database senden.

EMAIL-Tool:

Hinweis

Das E-Mail-Tool sendet E-Mail-Benachrichtigungen von OCI.
  1. Geben Sie den SMTP-Endpunkt an. Beispiel: Wählen Sie einen der SMTP-Endpunkte aus:
    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. SMTP-Zugriff mit einer ACL erteilen Siehe SMTP-Verbindung konfigurieren.
  3. Generieren Sie SMTP-Zugangsdaten für E-Mail-Zustellung. Das Package UTL_SMTP verwendet Zugangsdaten zur Authentifizierung bei E-Mail-Zustellungsservern, wenn Sie eine E-Mail versenden. Weitere Informationen finden Sie unter SMTP-Zugangsdaten für einen Benutzer generieren.
  4. Genehmigte Absender erstellen Führen Sie diesen Schritt für alle E-Mail-Adressen aus, die Sie als From-Adresse mit dem Unterprogramm UTL_SMTP.MAIL verwenden. Weitere Informationen finden Sie unter Genehmigte Absender verwalten.
  5. Erteilen Sie dem Benutzer SMTP-Zugriff, indem Sie Access Control Entry (ACE) hinzufügen. Weitere Informationen finden Sie unter E-Mails aus Autonomous Database mit DBMS_CLOUD_NOTIFICATION senden.

HTTP-Tool:

Erteilen Sie dem benutzerdefinierten Endpunkt mithilfe von ACL Netzwerkzugriff, um eine HTTP-Anforderung zu aktivieren:

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

Integrierte Tooltypen im DBMS_CLOUD_AI_AGENT-Package

Sie können integrierte Tools mit den Attributen tool_type und tool_params registrieren.

Tooltyp Beschreibung Obligatorische Parameter

SQL

Übersetzt natürliche Sprache in SQL-Abfragen.

profile_name

RAG

Führt Retrieval-Augmented Generation durch Vektorsuche durch.

profile_name

NOTIFICATION

Sendet Nachrichten an einen Slack-Kanal oder sendet E-Mails mit SMTP. Verfügbare Optionen:
  • slack
  • email

notification_type.

Wenn notification_type slack ist, sind credential_name und slack_channel obligatorisch.

Wenn notification_type email ist, sind credential_name, recipient, sender und smtp_host obligatorisch.

WEBSEARCH

Sucht Informationen aus dem Web.

credential_name

Prozedur ENABLE_TOOL

Verwenden Sie die Prozedur DBMS_CLOUD_AI_AGENT.ENABLE_TOOL, um ein zuvor registriertes Tool zu aktivieren. Dadurch wird der Status des Tools in ENABLED geändert, sodass der Agent seine Aufgaben verwenden kann.

Syntax

DBMS_CLOUD_AI_AGENT.ENABLE_TOOL(
   tool_name           IN  VARCHAR2
);

Parameter

Parameter Beschreibung

tool_name

Name des zu aktivierenden Tools.

Dieser Parameter ist obligatorisch.

Beispiel

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

Prozedur DISABLE_TOOL

Verwenden Sie die Prozedur DBMS_CLOUD_AI_AGENT.DISABLE_TOOL, um ein registriertes Tool zu deaktivieren. Dadurch wird der Status des Tools in DISABLED geändert, sodass der Agent ihn nicht in Aufgaben verwenden kann.

Syntax

DBMS_CLOUD_AI_AGENT.DISABLE_TOOL(
   tool_name           IN  VARCHAR2
);

Parameter

Parameter Beschreibung

tool_name

Name des zu deaktivierenden Werkzeugs.

Dieser Parameter ist obligatorisch.

Beispiel

Im folgenden Beispiel wird ein vorhandenes Tool deaktiviert.

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

Prozedur DROP_TOOL

Verwenden Sie die Prozedur DBMS_CLOUD_AI_AGENT.DROP_TOOL, um ein zuvor registriertes Tool beim Agent zu entfernen. Wenn die Aufgabe nicht vorhanden ist, können Sie den Fehler unterdrücken, indem Sie den Parameter force auf TRUE setzen.

Syntax

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

Parameter

Parameter Beschreibung

tool_name

Name des zu löschenden Werkzeugs.

Dies ist ein obligatorischer Parameter.

force

Wenn TRUE, ignoriert die Prozedur Fehler, wenn das Tool nicht vorhanden ist.

Der Standardwert für diesen Parameter ist FALSE.

Beispiel

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

Hinweise zur Verwendung

Verwenden Sie force, um ein Tool zu löschen und Fehler zu ignorieren, wenn das Tool nicht vorhanden ist.

Prozedur CREATE_TEAM

Verwenden Sie die Prozedur DBMS_CLOUD_AI_AGENT.CREATE_TEAM, um ein Team von KI-Agents zu definieren, die zusammenarbeiten, um Aufgaben zu erledigen. Sie geben Agents und die zugehörigen Aufgaben sowie die Verarbeitung der Aufgaben an.

Syntax

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

Parameter

Parameter Beschreibung

team_name

Ein eindeutiger Name zur Identifizierung des KI-Agent-Teams.

Dies ist ein obligatorischer Parameter.

attributes

JSON-formatierte Zeichenfolge, die Teamattribute wie Agents und Prozesse definiert. Siehe CREATE_TEAM Attribute.

Dies ist ein obligatorischer Parameter.

status

Status des Teams.

Der Standardwert ist ENABLED.

description

Benutzerdefinierte Beschreibung zur Angabe des Zwecks des Teams. Dieser Wert wird in der Datenbank gespeichert, aber nicht an das LLM gesendet.

Der Standardwert ist NULL.

Beispiel

Im folgenden Beispiel wird ein Agent-Team erstellt, um die Produktretoure eines Kunden zu verarbeiten.

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-Attribute

Diese Attribute stellen die Konfiguration des AI-Agent-Teams bereit. Jedes Team hat eine eindeutige team_name und verwendet eine Gruppe von Attributen, um seine Struktur und Ausführungsstrategie zu definieren.

Attribute

Attributname Standardwert Beschreibung

agents

-

Gibt JSON-Array mit Agents und den zugehörigen Aufgaben an. Ein Agent kann mehreren Aufgaben unter demselben Namen zugewiesen werden.

Dies ist ein obligatorischer Parameter.

Beispiel:

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

process

-

Gibt an, wie Aufgaben ausgeführt werden. Verwenden Sie "sequential", um Aufgaben nacheinander auszuführen.

Funktion SET_TEAM

Verwenden Sie DBMS_CLOUD_AI_AGENT.SET_TEAM, um das AI-Agent-Team für die aktuelle Session anzugeben.

Nachdem ein Team festgelegt wurde, wird nur die Aktion select ai agent aktiviert. Andere Select AI-Aktionen werden vom System nicht unterstützt.

Syntax

DBMS_CLOUD_AI_AGENT.SET_TEAM(
    team_name      IN  VARCHAR2,
);

Parameter

Parameter Beschreibung

team_name

Gibt den Namen des AI-Agent-Teams an, das in der aktuellen Session verwendet werden soll. Das Team muss bereits im System vorhanden sein.

Dieser Parameter ist obligatorisch.

Beispiel

Im folgenden Beispiel wird das benutzerdefinierte AI-Agent-Team in der aktuellen Session festgelegt.

EXEC DBMS_CLOUD_AI_AGENT.SET_TEAM('ReturnAgency');
  

Funktion GET_TEAM

Verwenden Sie DBMS_CLOUD_AI_AGENT.GET_TEAM, um das AI-Agent-Team für die aktuelle Session zurückzugeben.

Syntax

DBMS_CLOUD_AI_AGENT.GET_TEAM RETURN VARCHAR2;

Beispiel

Im folgenden Beispiel wird das AI-Agent-Team in der aktuellen Session zurückgegeben.

SELECT DBMS_CLOUD_AI_AGENT.GET_TEAM from DUAL;
  

Funktion CLEAR_TEAM

Verwenden Sie DBMS_CLOUD_AI_AGENT.CLEAR_TEAM, um das in der aktuellen Session festgelegte AI-Agent-Team zu löschen. Diese Prozedur lässt das Team nicht fallen.

Syntax

DBMS_CLOUD_AI_AGENT.CLEAR_TEAM;

Beispiel

Im folgenden Beispiel wird das AI-Agent-Team in der aktuellen Session gelöscht.

BEGIN
  DBMS_CLOUD_AI_AGENT.CLEAR_TEAM;
END;
/
  

Funktion RUN_TEAM

Verwenden Sie DBMS_CLOUD_AI_AGENT.RUN_TEAM, um ein neues AI-Agent-Team zu starten oder ein unterbrochenes Team fortzusetzen, das auf menschliche Eingaben wartet. Wenn Sie eine vorhandene Prozess-ID angeben und der zugehörige Teamprozess den Status WAITING_FOR_HUMAN aufweist, wird der Workflow mit der Eingabe fortgesetzt, die Sie als menschliche Antwort angeben.

Syntax

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

Parameter

Parameter Beschreibung

team_name

Gibt den Namen des AI-Agent-Teams an, das in der aktuellen Session verwendet werden soll. Das Team muss bereits im System vorhanden sein.

Dieser Parameter ist obligatorisch.

user_prompt

Gibt die Benutzerabfrage oder -antwort an, die für die Aufgabe angegeben wurde.

Wenn die Aufgabe den Status RUNNING aufweist, fungiert die Eingabe als Platzhalter für die {query} in der Aufgabenanweisung.

Wenn die Aufgabe den Status WAITING_FOR_HUMAN aufweist, dient die Eingabe als menschliche Antwort.

params

Gibt benutzerdefinierte Parameter an, die während des AI-Agent-Teamprozesses verwendet werden. Folgende Parameter werden unterstützt:
  • conversation_id: Gibt die Unterhaltungssession an, die dem Agent-Team zugeordnet ist. Verwenden Sie diesen Parameter für zustandslose Anwendungsintegrationen (z.B. APEX), um zwischen verschiedenen Benutzerverbindungen zu unterscheiden.
  • variables: Definieren Sie Schlüssel/Wert-Paare, die zusätzliche Eingaben für das Agent-Team bereitstellen. Diese Variablen helfen dabei, das Verhalten des Teams während des Prozesses anzupassen.

Beispiel

Im folgenden Beispiel wird das benutzerdefinierte AI-Agent-Team in der aktuellen Session ausgeführt.

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 || '"}'
);

  

Prozedur ENABLE_TEAM

Verwenden Sie die Prozedur DBMS_CLOUD_AI_AGENT.ENABLE_TEAM, um ein benutzerdefiniertes AI-Agent-Team zu aktivieren. Dadurch wird der Status des Teams in ENABLED geändert.

Syntax

DBMS_CLOUD_AI_AGENT.ENABLE_TEAM(
   team_name           IN  VARCHAR2
);

Parameter

Parameter Beschreibung

team_name

Name des zu aktivierenden KI-Agent-Teams.

Dieser Parameter ist obligatorisch.

Beispiel

Im folgenden Beispiel wird ein benutzerdefiniertes AI-Agent-Team aktiviert.

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

Prozedur DISABLE_TEAM

Verwenden Sie die Prozedur DBMS_CLOUD_AI_AGENT.DISABLE_TEAM, um ein vorhandenes AI-Agent-Team zu deaktivieren. Dadurch wird der Status des Teams in DISABLED geändert.

Syntax

DBMS_CLOUD_AI_AGENT.DISABLE_TEAM(
   team_name           IN  VARCHAR2
);

Parameter

Parameter Beschreibung

team_name

Name des zu deaktivierenden AI-Agent-Teams.

Dieser Parameter ist obligatorisch.

Beispiel

Im folgenden Beispiel wird ein vorhandenes AI-Agent-Team deaktiviert.

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

Prozedur DROP_TEAM

Verwenden Sie die Prozedur DBMS_CLOUD_AI_AGENT.DROP_TEAM, um ein zuvor erstelltes AI-Agent-Team zu entfernen.

Syntax

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

Parameter

Parameter Beschreibung

team_name

Name des abzugebenden Teams.

Dies ist ein obligatorischer Parameter.

force

Wenn TRUE, ignoriert die Prozedur Fehler, wenn das Team nicht vorhanden ist.

Der Standardwert für diesen Parameter ist FALSE.

Beispiel

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

Hinweise zur Verwendung

Mit force können Sie ein Team löschen und Fehler ignorieren, wenn das Team nicht vorhanden ist.