Package DBMS_CLOUD_AI_AGENT
Ce package définit et gère les agents, les tâches, les outils et l'orchestration Select AI.
Voir aussi :
Récapitulatif des sous-programmes DBMS_CLOUD_AI_AGENT
Cette section couvre les sous-programmes DBMS_CLOUD_AI_AGENT de l'agent Select AI fournis avec la base de données Autonomous AI.
| Sous-programme | Description |
|---|---|
| Procédure CREATE_AGENT | Cette procédure crée un agent. |
| Attributs CREATE_AGENT | Fournit les attributs de création d'un agent. |
| Procédure ENABLE_AGENT | Cette procédure active un agent. |
| Procédure DISABLE_AGENT | Cette procédure désactive un agent. |
| Procédure DROP_AGENT | Cette procédure supprime un agent existant. |
| Procédure CREATE_TASK | Cette procédure crée une tâche qu'un agent et une équipe d'agents peuvent inclure. |
| Attributs CREATE_TASK | Fournit des attributs pour créer une tâche d'agent. |
| Procédure ENABLE_TASK | Cette procédure active une tâche d'agent. |
| Procédure DISABLE_TASK | Cette procédure désactive une tâche d'agent. |
| Procédure DROP_TASK | Cette procédure supprime une tâche d'agent existante. |
| Procédure CREATE_TOOL | Cette procédure crée des outils personnalisés qu'un agent peut inclure. |
| Attributs CREATE_TOOL | Fournit des attributs pour créer des outils. |
| Procédure ENABLE_TOOL | Cette procédure active un outil. |
| Procédure DISABLE_TOOL | Cette procédure désactive un outil. |
| Procédure DROP_TOOL | Cette procédure supprime un outil existant. |
| Procédure CREATE_TEAM | Cette procédure crée une équipe d'agents et inclut des agents et des tâches. |
| Attributs CREATE_TEAM | Fournit les attributs de création d'une équipe d'agent. |
| Fonction SET_TEAM | Cette procédure définit l'équipe de l'agent dans la session en cours. |
| Fonction GET_TEAM | Cette procédure renvoie l'équipe d'agent définie dans la session en cours. |
| Fonction CLEAR_TEAM | Cette procédure efface l'équipe d'agent définie dans la session en cours. |
| Fonction RUN_TEAM | Cette procédure crée un agent ou en exécute un suspendu. |
| Procédure ENABLE_TEAM | Cette procédure active une équipe d'agents. |
| Procédure DISABLE_TEAM | Cette procédure désactive une équipe d'agents. |
| Procédure DROP_TEAM | Cette procédure supprime une équipe d'agents existante. |
| Fonction DESCRIBE_TOOL | Renvoie les métadonnées et les informations de schéma d'entrée pour un outil Sélectionner un agent AI. |
| Fonction RUN_TOOL | Appelle un outil Sélectionner un agent AI par nom à l'aide d'une charge utile d'entrée JSON. |
| Fonction LIST_TEAMS | Répertorie les équipes d'agents disponibles pour l'utilisateur appelant. |
| Fonction DESCRIBE_TEAM | Renvoie les métadonnées et les fonctionnalités agrégées d'une équipe d'agents sélectionnée. |
| Fonction GET_TEAM_STATE | Renvoie le dernier état d'exécution d'une conversation d'équipe d'agent. |
| Procédure SET_EXECUTION_STATE | Met à jour l'état d'exécution d'une équipe en attente, par exemple en marquant une session interactive comme réussie. |
Procédure CREATE_AGENT
Utilisez la procédure DBMS_CLOUD_AI_AGENT.CREATE_AGENT pour inscrire un nouvel agent AI dans la structure Sélectionner un agent AI. Définissez l'identité de l'agent à l'aide de agent_name, configurez son comportement avec le paramètre d'attributs et fournissez éventuellement une description.
Syntaxe
DBMS_CLOUD_AI_AGENT.CREATE_AGENT(
agent_name IN VARCHAR2,
attributes IN CLOB,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);Paramètres
| Paramètre | Description |
|---|---|
agent_name |
Nom de l'agent AI. Le nom de l'agent doit respecter les règles de dénomination de l'identificateur SQL Oracle. La longueur maximum du nom est de 125 caractères. Ce paramètre est obligatoire. |
attributes |
Attributs personnalisés pour l'agent AI. Pour plus d'informations, reportez-vous à Attributs CREATE_AGENT. |
status |
Statut de l'agent. Par défaut, cette valeur est |
description |
Description spécifiée par l'utilisateur pour l'agent AI. Valeur par défaut : NULL. |
Exemple
L'exemple suivant crée un agent pour traiter les retours de produits client. Pour obtenir un exemple complet, reportez-vous à Exemple : création d'un agent de retour de produit.
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 Attributs
Ces attributs définissent le rôle d'un agent et le nom du profil AI.
Attributs
| Nom d'attribut | Valeur par défaut | Description |
|---|---|---|
profile_name |
- | Profil AI que l'agent utilise pour envoyer une demande au LLM. Ce paramètre est obligatoire. |
role |
- | Définissez la fonction de l'agent et fournissez un contexte à l'agent. Ceci est envoyé au LLM. Ce paramètre est obligatoire. |
enable_human_tool |
True |
Permettre à l'agent de poser des questions à l'utilisateur pour information ou clarification. |
tools |
Aucun | Spécifie les outils auxquels un agent peut accéder lorsqu'il exécute les outils directement. |
short_term_memory_length |
30 | Indique le nombre maximal de tours de conversation inclus dans chaque appel LLM pour une exécution de tâche. |
L'exemple suivant montre comment personnaliser les attributs d'agent dans la procédure.
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 completedProcédure ENABLE_AGENT
Cette procédure active l'agent AI spécifié par l'utilisateur. La procédure modifie le statut de l'agent AI en ENABLED.
Syntaxe
DBMS_CLOUD_AI_AGENT.ENABLE_AGENT(
agent_name IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
agent_name |
Nom de l'agent AI à activer. Ce paramètre est obligatoire. |
Exemple d'activation du profil AI
BEGIN
DBMS_CLOUD_AI_AGENT.ENABLE_AGENT(
agent_name => 'Customer_Return_Agent'
);
END;
/Procédure DISABLE_AGENT
Cette procédure désactive l'agent AI dans la base de données en cours. Le statut de l'agent AI est remplacé par DISABLED par cette procédure.
Syntaxe
DBMS_CLOUD_AI_AGENT.DISABLE_AGENT(
agent_name IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
agent_name |
Nom de l'agent AI. Ce paramètre est obligatoire. |
Exemple
BEGIN
DBMS_CLOUD_AI_AGENT.DISABLE_AGENT(
agent_name => 'Customer_Return_Agent'
);
END;
/Procédure DROP_AGENT
La procédure supprime un agent AI existant. Si l'agent n'existe pas, la procédure génère une erreur.
Syntaxe
DBMS_CLOUD_AI_AGENT.DROP_AGENT(
agent_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);Paramètres
| Paramètre | Description |
|---|---|
agent_name |
Nom de l'agent AI. Ce paramètre est obligatoire. |
force |
Si La valeur par défaut de ce paramètre est |
Exemple
BEGIN
DBMS_CLOUD_AI_AGENT.DROP_AGENT(agent_name => 'Customer_Return_Agent);
END;
/Notes d'utilisation
Utilisez force pour supprimer un agent et ignorer les erreurs si cet agent n'existe pas.
Procédure CREATE_TASK
Utilisez la procédure DBMS_CLOUD_AI_AGENT.CREATE_TASK pour définir une tâche qu'un agent Select AI peut inclure dans son processus de raisonnement. Chaque tâche a un nom unique et un ensemble d'attributs qui indiquent le comportement de l'agent lors de la planification et de l'exécution de la tâche.
Vous pouvez définir des dépendances entre des tâches à l'aide de l'attribut input, ce qui permet à Select AI de transmettre la sortie d'une tâche à une autre. Cela prend en charge le raisonnement en chaîne et les workflows en plusieurs étapes.
Syntaxe
DBMS_CLOUD_AI_AGENT.CREATE_TASK(
task_name IN VARCHAR2,
attributes IN CLOB,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);Paramètres
| Paramètre | Description |
|---|---|
task_name |
Nom unique de la tâche. Ce paramètre est obligatoire. |
attributes |
Objet JSON contenant des attributs propres à une tâche. Reportez-vous à Attributs CREATE_TASK. |
status |
Statut de la tâche. La valeur par défaut est |
description |
Description définie par l'utilisateur qui permet d'identifier la tâche. Cette valeur est stockée dans la base de données mais n'est pas envoyée au LLM. Valeur par défaut : NULL. |
Exemple
L'exemple suivant crée une tâche pour traiter un retour de produit d'un client.
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 Attributs
Ces attributs définissent les instructions et les outils de l'agent disponibles pour la tâche.
Attributs
| Nom d'attribut | Valeur par défaut | Description |
|---|---|---|
instruction |
- | Une déclaration claire et concise qui décrit ce que la tâche doit accomplir. Ce texte est inclus dans l'invite envoyée au LLM. Vous pouvez inclure un espace réservé Ce paramètre est obligatoire. |
tools |
- | Tableau JSON de noms d'outil que l'agent peut utiliser pour terminer la tâche. Par exemple : "tools": ["RAG", "SQL", "WEBSEARCH", "NOTIFICATION"]. |
input |
- | Identifie les autres tâches dont les sorties doivent être utilisées comme entrée pour cette tâche. Sélectionnez AI pour fournir automatiquement ces sorties au LLM. |
enable_human_tool |
- | Permet à l'agent de poser des questions à l'utilisateur lorsqu'il a besoin d'informations ou de précisions au cours d'une tâche. La valeur par défaut est True. Remarque : la tâche |
Procédure ENABLE_TASK
Utilisez la procédure DBMS_CLOUD_AI_AGENT.ENABLE_TASK pour activer une tâche précédemment définie. Le statut de la tâche devient ENABLED, ce qui permet à l'agent de l'utiliser pendant le traitement.
Syntaxe
DBMS_CLOUD_AI_AGENT.ENABLE_TASK(
task_name IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
task_name |
Nom de la tâche à activer. Ce paramètre est obligatoire. |
Notes d'utilisation
La tâche doit déjà exister dans le système. Cette procédure met à jour le statut de la tâche, ce qui la rend disponible pour le processus d'agent lors des workflows de raisonnement.
Exemple d'activation d'une tâche
BEGIN
DBMS_CLOUD_AI_AGENT.ENABLE_TASK(
task_name => 'Return_And_Price_Match'
);
END;
/Procédure DISABLE_TASK
Utilisez la procédure DBMS_CLOUD_AI_AGENT.DISABLE_TASK pour désactiver une tâche dans la base de données en cours. Le statut de la tâche devient DISABLED, ce qui empêche l'agent de l'utiliser pendant le traitement.
Syntaxe
DBMS_CLOUD_AI_AGENT.DISABLE_TASK(
task_name IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
task_name |
Nom de la tâche à désactiver. Ce paramètre est obligatoire. |
Notes d'utilisation
La désactivation d'une tâche ne la supprime pas ; vous pouvez la réactiver ultérieurement à l'aide de DBMS_CLOUD_AI_AGENT.ENABLE_TASK. Une fois désactivée, la tâche devient inactive et l'agent ne la prend plus en compte lors de la sélection de la tâche.
Exemple
L'exemple suivant désactive une tâche existante.
BEGIN
DBMS_CLOUD_AI_AGENT.DISABLE_TASK(
task_name => 'Return_And_Price_Match'
);
END;
/Procédure DROP_TASK
Utilisez la procédure DBMS_CLOUD_AI_AGENT.DROP_TASK pour enlever une tâche précédemment définie de la base de données. Si la tâche n'existe pas, vous pouvez supprimer l'erreur en définissant le paramètre force sur TRUE.
Syntaxe
DBMS_CLOUD_AI_AGENT.DROP_TASK(
task_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);Paramètres
| Paramètre | Description |
|---|---|
task_name |
Nom de la tâche à supprimer. Ce paramètre est obligatoire. |
force |
Si la valeur est La valeur par défaut de ce paramètre est |
Exemple
BEGIN
DBMS_CLOUD_AI_AGENT.DROP_TASK(task_name => 'Return_And_Price_Match');
END;
/Notes d'utilisation
Utilisez force pour supprimer une tâche et ignorer les erreurs si la tâche n'existe pas.
Procédure CREATE_TOOL
Utilisez la procédure DBMS_CLOUD_AI_AGENT.CREATE_TOOL pour inscrire un outil personnalisé qu'un agent peut utiliser lors du traitement des tâches. Chaque outil est identifié par un élément tool_name unique et inclut des attributs qui définissent son objectif, sa logique d'implémentation et ses métadonnées.
Les outils peuvent être des fonctions PL/SQL personnalisées ou des types d'outil intégrés tels que RAG, SQL, WEBSEARCH ou NOTIFICATION.
Syntaxe
DBMS_CLOUD_AI_AGENT.CREATE_TOOL(
tool_name IN VARCHAR2,
attributes IN CLOB,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);Paramètres
| Paramètre | Description |
|---|---|
tool_name |
Nom unique permettant d'identifier l'outil. Ce paramètre est obligatoire. |
attributes |
Attributs d'outil au format JSON. Reportez-vous à Attributs CREATE_TOOL. Ce paramètre est obligatoire. |
status |
Statut de l'outil. La valeur par défaut est |
description |
Description définie par l'utilisateur qui permet d'identifier l'outil. Cette valeur est stockée dans la base de données mais n'est pas envoyée au LLM. Valeur par défaut : NULL. |
Exemple
L'exemple suivant crée un outil SQL pour générer du code SQL à partir d'un profil NL2SQL existant. Pour plus d'informations, voir Exemple : Créer des outils intégrés.
BEGIN
DBMS_CLOUD_AI_AGENT.CREATE_TOOL(
tool_name => 'SQL',
attributes => '{"tool_type": "SQL",
"tool_params": {"profile_name": "nl2sql_profile"}}'
);
END;
/CREATE_TOOL Attributs
Ces attributs fournissent une configuration d'outil à l'aide d'un objet JSON dans le paramètre d'attributs. Chaque attribut configure la façon dont l'agent utilise l'outil pendant le raisonnement.
Attributs
| Nom d'attribut | Valeur par défaut | Description |
|---|---|---|
instruction |
- | Une déclaration claire et concise qui décrit ce que l'outil doit accomplir et comment le faire. Ce texte est inclus dans l'invite envoyée au LLM. Ce paramètre est obligatoire. |
function |
- | Indique la procédure ou la fonction PL/SQL à appeler lorsque l'outil est utilisé. Ce paramètre est obligatoire pour les outils personnalisés. |
tool_type |
- | Spécifie un type d'outil intégré. Si cette propriété est définie, Les valeurs possibles sont les suivantes :
Vous pouvez créer des outils intégrés avec des noms et des paramètres personnalisés. Vous pouvez également créer plusieurs outils intégrés avec la même valeur |
tool_params |
- | Spécifie les paramètres d'enregistrement des outils intégrés. |
tool_inputs |
- | Décrit les arguments d'entrée. Similaire aux commentaires sur les colonnes d'une table. Par exemple : |
Prérequis pour l'outil intégré
Effectuez les étapes suivantes avant d'utiliser les outils intégrés :
Outil RAG
- Créez un profil AI qui référence un index vectoriel. Reportez-vous à Sélection de l'IA avec la génération augmentée de récupération (RAG).
Outil de NOTIFICATION
Les éléments suivants sont pris en charge : SLACK et EMAIL.
Outil SLACK :
-
Configurez une application Slack pour recevoir les messages de la base de données Autonomous AI.
-
Créez des informations d'identification à l'aide de
DBMS_CLOUD_NOTIFICATIONpour envoyer des notifications Slack à partir de la base de données Autonomous AI. Reportez-vous à Envoi de notifications Slack à partir d'une base de données Autonomous AI.
Outil de messagerie électronique :
Remarque
Remarque : l'outil de messagerie électronique envoie une notification par courriel à partir d'OCI.
- Identifiez votre adresse SMTP. Par exemple, sélectionnez l'une des adresses 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 -
Accordez l'accès SMTP à l'aide d'une ACL. Reportez-vous à la section Configuring SMTP Connection.
-
Générez des informations d'identification SMTP pour la remise des courriels. Le package
UTL_SMTPutilise les informations d'identification pour l'authentification auprès des serveurs de distribution de courriels lorsque vous envoyez un courriel. Pour plus d'informations, reportez-vous à Génération d'informations d'identification SMTP pour un utilisateur. -
Créer des expéditeurs approuvés Effectuez cette étape pour toutes les adresses électroniques que vous utilisez comme adresse
Fromavec le sous-programmeUTL_SMTP.MAIL. Pour plus d'informations, reportez-vous à la rubrique Gestion des expédititeurs approuvés. - Accordez l'accès SMTP à l'utilisateur en ajoutant une entrée de contrôle d'accès (ACE). Pour plus d'informations, reportez-vous à Envoi de courriels à partir d'une base de données Autonomous AI à l'aide de DBMS_CLOUD_NOTIFICATION.
Types d'outil intégrés dans le package DBMS_CLOUD_AI_AGENT
Vous pouvez inscrire des outils intégrés à l'aide des attributs tool_type et tool_params.
| Type d'outil | Description | Paramètres obligatoires |
|---|---|---|
SQL |
Convertit le langage naturel en requêtes SQL. Remarque : L'outil SQL intégré utilise les actions Select AI, telles que runsql, showsql et explainsql, pour traiter les invites liées à la base de données. L'outil intégré inclut des instructions par défaut qui définissent le comportement et l'utilisation de ces actions. Vous pouvez compléter le comportement par défaut en utilisant l'attribut instruction dans la procédure CREATE_TOOL pour indiquer comment l'agent met en correspondance une invite avec l'action la plus appropriée. |
profile_name |
RAG |
Effectue la génération augmentée par récupération via la recherche vectorielle. | profile_name |
NOTIFICATION |
Envoie des messages à un canal Slack ou envoie des courriels à l'aide de SMTP. Options disponibles :
|
Lorsque Lorsque |
WEBSEARCH |
Recherche des informations sur le Web. | credential_name |
Procédure ENABLE_TOOL
Utilisez la procédure DBMS_CLOUD_AI_AGENT.ENABLE_TOOL pour activer un outil créé précédemment. Le statut de l'outil devient ENABLED, ce qui permet à l'agent de l'utiliser.
Syntaxe
DBMS_CLOUD_AI_AGENT.ENABLE_TOOL(
tool_name IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
tool_name |
Nom de l'outil à activer. Ce paramètre est obligatoire. |
Exemple
BEGIN
DBMS_CLOUD_AI_AGENT.ENABLE_TOOL(
tool_name => 'SQL'
);
END;
/Procédure DISABLE_TOOL
Utilisez la procédure DBMS_CLOUD_AI_AGENT.DISABLE_TOOL pour désactiver un outil. Le statut de l'outil devient DISABLED, ce qui empêche l'agent de l'utiliser dans les tâches.
Syntaxe
DBMS_CLOUD_AI_AGENT.DISABLE_TOOL(
tool_name IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
tool_name |
Nom de l'outil à désactiver. Ce paramètre est obligatoire. |
Exemple
L'exemple suivant désactive un outil existant.
BEGIN
DBMS_CLOUD_AI_AGENT.DISABLE_TOOL(
tool_name => 'SQL'
);
END;
/Procédure DROP_TOOL
Utilisez la procédure DBMS_CLOUD_AI_AGENT.DROP_TOOL pour enlever un outil précédemment créé avec l'agent. Si la tâche n'existe pas, vous pouvez supprimer l'erreur en définissant le paramètre force sur TRUE.
Syntaxe
DBMS_CLOUD_AI_AGENT.DROP_TOOL(
tool_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);Paramètres
| Paramètre | Description |
|---|---|
tool_name |
Nom de l'outil à supprimer. Ce paramètre est obligatoire. |
force |
Si La valeur par défaut de ce paramètre est |
Exemple
BEGIN
DBMS_CLOUD_AI_AGENT.DROP_TOOL(tool_name => 'SQL');
END;
/Notes d'utilisation
Utilisez force pour supprimer un outil et ignorer les erreurs si l'outil n'existe pas.
Procédure CREATE_TEAM
Utilisez la procédure DBMS_CLOUD_AI_AGENT.CREATE_TEAM pour définir une équipe d'agents d'IA qui travaillent ensemble pour accomplir des tâches. Vous indiquez les agents et les tâches qui leur sont associées, ainsi que la façon dont les tâches doivent être traitées.
Syntaxe
DBMS_CLOUD_AI_AGENT.CREATE_TEAM(
team_name IN VARCHAR2,
attributes IN CLOB,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);Paramètres
| Paramètre | Description |
|---|---|
team_name |
Nom unique permettant d'identifier l'équipe d'agent AI. Ce paramètre est obligatoire. |
attributes |
Chaîne au format JSON définissant des attributs d'équipe tels que des agents et des processus. Reportez-vous à Attributs CREATE_TEAM. Ce paramètre est obligatoire. |
status |
Statut de l'équipe. La valeur par défaut est |
description |
Description définie par l'utilisateur pour identifier l'objectif de l'équipe. Cette valeur est stockée dans la base de données mais n'est pas envoyée au LLM. Valeur par défaut : NULL. |
Exemple
L'exemple suivant crée une équipe d'agents pour traiter le retour produit d'un client.
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 Attributs
Ces attributs fournissent la configuration de l'équipe d'agent AI. Chaque équipe dispose d'un team_name unique et utilise un ensemble d'attributs pour définir sa structure et sa stratégie d'exécution.
Attributs
| Nom d'attribut | Valeur par défaut | Description |
|---|---|---|
agents |
- | Indique le tableau JSON répertoriant les agents et leurs tâches correspondantes. Un agent peut être affecté à plusieurs tâches sous le même nom. Ce paramètre est obligatoire. Exemple : |
process |
- | Indique comment les tâches sont exécutées. Utilisez "sequential" pour les tâches à exécuter les unes après les autres dans l'ordre. |
long_term_memory_length |
30 | Indique le nombre maximum de récapitulatifs de niveau tâche précédents inclus dans l'invite système en tant que contexte de mémoire au début de chaque nouvelle exécution. |
Fonction SET_TEAM
Utilisez DBMS_CLOUD_AI_AGENT.SET_TEAM pour indiquer l'équipe d'agent AI pour la session en cours.
Une fois qu'une équipe est définie, seule l'action select ai agent est activée, le système ne prend pas en charge les autres actions Select AI.
Syntaxe
DBMS_CLOUD_AI_AGENT.SET_TEAM(
team_name IN VARCHAR2,
);Paramètres
| Paramètre | Description |
|---|---|
team_name |
Spécifie le nom de l'équipe d'agent AI à utiliser dans la session en cours. L'équipe doit déjà exister dans le système. Ce paramètre est obligatoire. |
Exemple
L'exemple suivant définit l'équipe d'agent AI spécifiée par l'utilisateur dans la session en cours.
EXEC DBMS_CLOUD_AI_AGENT.SET_TEAM('ReturnAgency');Fonction GET_TEAM
Utilisez DBMS_CLOUD_AI_AGENT.GET_TEAM pour renvoyer l'équipe d'agent AI pour la session en cours.
Syntaxe
DBMS_CLOUD_AI_AGENT.GET_TEAM RETURN VARCHAR2;Exemple
L'exemple suivant renvoie l'équipe d'agent AI dans la session en cours.
SELECT DBMS_CLOUD_AI_AGENT.GET_TEAM from DUAL;Fonction CLEAR_TEAM
Utilisez DBMS_CLOUD_AI_AGENT.CLEAR_TEAM pour effacer l'équipe d'agent AI définie dans la session en cours. Cette procédure ne supprime pas l'équipe.
Syntaxe
DBMS_CLOUD_AI_AGENT.CLEAR_TEAM;Exemple
L'exemple suivant efface l'équipe d'agent AI dans la session en cours.
BEGIN
DBMS_CLOUD_AI_AGENT.CLEAR_TEAM;
END;
/Fonction RUN_TEAM
Utilisez DBMS_CLOUD_AI_AGENT.RUN_TEAM pour démarrer une nouvelle équipe d'agent AI ou reprendre une équipe en pause en attente d'entrée humaine. Si vous indiquez un ID de processus existant et que le processus d'équipe associé est à l'état WAITING_FOR_HUMAN, la fonction reprend le workflow en utilisant l'entrée que vous fournissez comme réponse humaine.
Syntaxe
DBMS_CLOUD_AI_AGENT.RUN_TEAM(
team_name IN VARCHAR2,
user_prompt IN CLOB DEFAULT NULL,
params IN CLOB DEFAULT NULL,
);Paramètres
| Paramètre | Description |
|---|---|
team_name |
Spécifie le nom de l'équipe d'agent AI à utiliser dans la session en cours. L'équipe doit déjà exister dans le système. Ce paramètre est obligatoire. |
user_prompt |
Indique la requête ou la réponse utilisateur fournie à la tâche. Si la tâche présente l'état Si la tâche a l'état |
params |
Spécifie les paramètres personnalisés utilisés lors du processus d'équipe de l'agent AI. Les paramètres pris en charge incluent :
|
Exemple
L'exemple suivant exécute l'équipe d'agent AI spécifiée par l'utilisateur dans la session en cours.
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 \|\| '"}'
);Procédure ENABLE_TEAM
Utilisez la procédure DBMS_CLOUD_AI_AGENT.ENABLE_TEAM pour activer une équipe d'agents AI spécifiée par l'utilisateur. Le statut de l'équipe devient ENABLED.
Syntaxe
DBMS_CLOUD_AI_AGENT.ENABLE_TEAM(
team_name IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
team_name |
Nom de l'équipe d'agent AI à activer. Ce paramètre est obligatoire. |
Exemple
L'exemple suivant active une équipe d'agents AI spécifiée par l'utilisateur.
BEGIN
DBMS_CLOUD_AI_AGENT.ENABLE_TEAM(
team_name => 'ReturnAgency'
);
END;
/Procédure DISABLE_TEAM
Utilisez la procédure DBMS_CLOUD_AI_AGENT.DISABLE_TEAM pour désactiver une équipe d'agent AI existante. Le statut de l'équipe devient DISABLED.
Syntaxe
DBMS_CLOUD_AI_AGENT.DISABLE_TEAM(
team_name IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
team_name |
Nom de l'équipe d'agent AI à désactiver. Ce paramètre est obligatoire. |
Exemple
L'exemple suivant désactive une équipe d'agents AI existante.
BEGIN
DBMS_CLOUD_AI_AGENT.DISABLE_TEAM(
team_name => 'ReturnAgency'
);
END;
/Procédure DROP_TEAM
Utilisez la procédure DBMS_CLOUD_AI_AGENT.DROP_TEAM pour enlever une équipe d'agent AI créée précédemment.
Syntaxe
DBMS_CLOUD_AI_AGENT.DROP_TEAM(
team_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);Paramètres
| Paramètre | Description |
|---|---|
team_name |
Nom de l'équipe à déposer. Ce paramètre est obligatoire. |
force |
Si La valeur par défaut de ce paramètre est |
Exemple
BEGIN
DBMS_CLOUD_AI_AGENT.DROP_TEAM(team_name => 'ReturnAgency');
END;
/Notes d'utilisation
Utilisez force pour supprimer une équipe et ignorer les erreurs si l'équipe n'existe pas.
Fonction DESCRIBE_TOOL
Utilisez la fonction DBMS_CLOUD_AI_AGENT.DESCRIBE_TOOL pour renvoyer des métadonnées JSON pour un outil. Le résultat inclut le nom de l'outil, la description, les attributs et les informations de schéma d'entrée qu'un client compatible MCP peut utiliser pour la découverte d'outils.
Syntaxe
DBMS_CLOUD_AI_AGENT.DESCRIBE_TOOL(
tool_name IN VARCHAR2
) RETURN CLOB;Paramètres
| Paramètre | Description |
|---|---|
tool_name |
Nom de l'outil Sélectionner un agent AI dont les métadonnées sont renvoyées. |
Retours
Renvoie une valeur CLOB qui contient des métadonnées d'outil et des informations d'argument au format JSON.
Exemple
DECLARE
l_result CLOB;
BEGIN
l_result := DBMS_CLOUD_AI_AGENT.DESCRIBE_TOOL(
tool_name => 'FETCH_LOG_TOOL'
);
DBMS_OUTPUT.PUT_LINE(l_result);
END;
/Fonction RUN_TOOL
Utilisez la fonction DBMS_CLOUD_AI_AGENT.RUN_TOOL pour appeler un outil créé par son nom. Le paramètre d'entrée transmet les arguments d'outil en tant que charge utile JSON.
Syntaxe
DBMS_CLOUD_AI_AGENT.RUN_TOOL(
tool_name IN VARCHAR2,
input IN CLOB
) RETURN CLOB;Paramètres
| Paramètre | Description |
|---|---|
tool_name |
Nom de l'outil Sélectionner l'agent AI à appeler. |
input |
Charge utile d'entrée JSON transmise à l'outil. |
Retours
Renvoie une valeur CLOB qui contient le résultat de l'exécution de l'outil.
Exemple
SELECT DBMS_CLOUD_AI_AGENT.RUN_TOOL(
tool_name => 'FETCH_LOG_TOOL',
input => '{"P_SINCE":"2026-01-01"}'
) AS tool_result
FROM dual;Fonction LIST_TEAMS
Utilisez la fonction DBMS_CLOUD_AI_AGENT.LIST_TEAMS pour énumérer les équipes d'agent disponibles pour l'utilisateur appelant. Le résultat peut être utilisé par les couches d'intégration compatibles A2A pour la découverte d'équipe.
Syntaxe
DBMS_CLOUD_AI_AGENT.LIST_TEAMS
RETURN CLOB;Paramètres
| Paramètre | Description |
|---|---|
| Aucun | Cette fonction n'a aucun paramètre. |
Retours
Renvoie une valeur CLOB qui contient un tableau JSON. Chaque entrée inclut le nom et la description de l'équipe.
Exemple
SELECT DBMS_CLOUD_AI_AGENT.LIST_TEAMS()
FROM dual;Fonction DESCRIBE_TEAM
Utilisez la fonction DBMS_CLOUD_AI_AGENT.DESCRIBE_TEAM pour renvoyer les métadonnées d'une équipe d'agents. Sélectionnez les outils d'agent AI disponibles pour l'équipe dans la représentation des compétences compatible A2A.
Syntaxe
DBMS_CLOUD_AI_AGENT.DESCRIBE_TEAM(
team_name IN VARCHAR2
) RETURN CLOB;Paramètres
| Paramètre | Description |
|---|---|
team_name |
Nom de l'équipe d'agent dont les métadonnées et les fonctionnalités sont renvoyées. |
Retours
Renvoie une valeur CLOB qui contient un objet JSON avec le nom de l'équipe, la description, la version facultative et la liste des briques.
Notes d'utilisation
- Les compétences sont une représentation de protocole d'outils pour les clients compatibles A2A. Ils n'introduisent pas de nouveau type d'objet de base de données Sélectionner un agent AI.
Exemple
SELECT DBMS_CLOUD_AI_AGENT.DESCRIBE_TEAM('SUPPORT_TEAM')
FROM dual;Fonction GET_TEAM_STATE
Utilisez la fonction DBMS_CLOUD_AI_AGENT.GET_TEAM_STATE pour renvoyer le dernier état d'exécution d'une conversation d'équipe d'agent.
Syntaxe
DBMS_CLOUD_AI_AGENT.GET_TEAM_STATE(
team_name IN VARCHAR2,
params IN CLOB DEFAULT NULL
) RETURN VARCHAR2;Paramètres
| Paramètre | Description |
|---|---|
team_name |
Nom de l'équipe d'agent dont le dernier état d'exécution est renvoyé. |
params |
Objet JSON facultatif. Utilisez conversation_id pour extraire le dernier état d'exécution d'une conversation spécifique. Si elle est omise, la conversation de session en cours est utilisée. |
Retours
Renvoie un état d'exécution VARCHAR2, tel que RUNNING, WAITING_FOR_HUMAN, SUCCEEDED ou FAILED.
Exemple
SELECT DBMS_CLOUD_AI_AGENT.GET_TEAM_STATE(
team_name => 'SUPPORT_TEAM',
params => '{"conversation_id":"<CONVERSATION_ID>"}'
)
FROM dual;Procédure SET_EXECUTION_STATE
Utilisez la procédure DBMS_CLOUD_AI_AGENT.SET_EXECUTION_STATE pour mettre à jour une exécution d'équipe en attente vers un état spécifié. Cela est utile pour les workflows d'appel de l'outil agent-direct dans lesquels l'application contrôle une fois la session interactive terminée.
Syntaxe
DBMS_CLOUD_AI_AGENT.SET_EXECUTION_STATE(
team_name IN VARCHAR2,
state IN CLOB DEFAULT 'SUCCEEDED',
params IN CLOB DEFAULT NULL
);Paramètres
| Paramètre | Description |
|---|---|
team_name |
Nom de l'équipe d'agent dont l'état d'exécution est mis à jour. |
state |
Etat d'exécution à définir. La valeur par défaut est SUCCEEDED. |
params |
Objet JSON facultatif. Utilisez conversation_id pour identifier la conversation dont l'état d'exécution est mis à jour. |
Exemple
BEGIN
DBMS_CLOUD_AI_AGENT.SET_EXECUTION_STATE(
team_name => 'CUSTOMER_AGENT_ONLY_TEAM',
state => 'SUCCEEDED',
params => '{"conversation_id":"<CONVERSATION_ID>"}'
);
END;
/