Pacote DBMS_CLOUD_AI_AGENT
Este pacote define e gerencia agentes, tarefas, ferramentas e orquestração do Select AI.
Consulte também:
Resumo dos Subprogramas DBMS_CLOUD_AI_AGENT
Esta seção abrange os subprogramas DBMS_CLOUD_AI_AGENT do Select AI Agent fornecidos com o Autonomous AI Database.
| Subprograma | Descrição |
|---|---|
| Procedimento CREATE_AGENT | Este procedimento cria um agente. |
| Atributos CREATE_AGENT | Fornece atributos para criar um agente. |
| Procedimento ENABLE_AGENT | Este procedimento ativa um agente. |
| Procedimento DISABLE_AGENT | Este procedimento desativa um agente. |
| Procedimento DROP_AGENT | Este procedimento elimina um agente existente. |
| Procedimento CREATE_TASK | Este procedimento cria uma tarefa que um agente e uma equipe de agente podem incluir. |
| Atributos CREATE_TASK | Fornece atributos para criar uma tarefa do agente. |
| Procedimento ENABLE_TASK | Este procedimento ativa uma tarefa do agente. |
| Procedimento DISABLE_TASK | Este procedimento desativa uma tarefa do agente. |
| Procedimento DROP_TASK | Este procedimento elimina uma tarefa de agente existente. |
| Procedimento CREATE_TOOL | Este procedimento cria ferramentas personalizadas que um agente pode incluir. |
| Atributos CREATE_TOOL | Fornece atributos para criar ferramentas. |
| Procedimento ENABLE_TOOL | Este procedimento permite uma ferramenta. |
| Procedimento DISABLE_TOOL | Este procedimento desativa uma ferramenta. |
| Procedimento DROP_TOOL | Este procedimento elimina uma ferramenta existente. |
| Procedimento CREATE_TEAM | Este procedimento cria uma equipe de agente e inclui agentes e tarefas. |
| Atributos CREATE_TEAM | Fornece atributos para criar uma equipe de agente. |
| Função SET_TEAM | Este procedimento define a equipe do agente na sessão atual. |
| Função GET_TEAM | Este procedimento retorna a equipe do agente definida na sessão atual. |
| Função CLEAR_TEAM | Este procedimento limpa a equipe do agente definida na sessão atual. |
| Função RUN_TEAM | Este procedimento cria um novo agente ou executa um pausado. |
| Procedimento ENABLE_TEAM | Este procedimento permite que uma equipe de agentes. |
| Procedimento DISABLE_TEAM | Este procedimento desativa uma equipe de agente. |
| Procedimento DROP_TEAM | Este procedimento elimina uma equipe de agente existente. |
| Função DESCRIBE_TOOL | Retorna informações de metadados e esquema de entrada para uma ferramenta Selecionar Agente de IA. |
| Função RUN_TOOL | Chama uma ferramenta Selecionar Agente de IA por nome usando um payload de entrada JSON. |
| Função LIST_TEAMS | Lista as equipes de agentes disponíveis para o usuário que fez a chamada. |
| Função DESCRIBE_TEAM | Retorna metadados e recursos agregados para uma equipe de agente selecionada. |
| Função GET_TEAM_STATE | Retorna o estado de execução mais recente de uma conversa da equipe do agente. |
| Procedimento SET_EXECUTION_STATE | Atualiza um estado de execução da equipe de espera, como marcar uma sessão interativa como bem-sucedida. |
| Função EXPORT_TEAM | Esta função exporta uma equipe de agente Selecionar AI para um CLOB. |
| Procedimento EXPORT_TEAM | Este procedimento grava a definição da equipe exportada em um URI do serviço Object Storage ou em um arquivo de diretório de banco de dados. |
| Procedimento IMPORT_TEAM | Este procedimento importa uma especificação de equipe de agente Selecionar AI para o banco de dados. |
| Função GET_DEFINITION | Retorna PL/SQL executável canônico para um agente, tarefa, ferramenta ou equipe. |
| Procedimento GRANT_TEAM_ACCESS | Concede a um usuário ou função acesso para executar uma equipe de agentes. |
| Procedimento REVOKE_TEAM_ACCESS | Revoga uma concessão de usuário ou função para uma equipe de agentes. |
| Função GET_VARIABLE | Lê uma variável de runtime com namespace. |
| Procedimento SET_VARIABLE | Define ou limpa uma variável de runtime com namespace. |
CREATE_AGENT Procedimento
Use o procedimento DBMS_CLOUD_AI_AGENT.CREATE_AGENT para registrar um novo agente do AI na estrutura Selecionar Agente do AI. Defina a identidade do agente usando agent_name, configure seu comportamento com o parâmetro de atributos e, opcionalmente, forneça uma descrição.
Sintaxe
DBMS_CLOUD_AI_AGENT.CREATE_AGENT(
agent_name IN VARCHAR2,
attributes IN CLOB,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
agent_name |
Um nome para o agente AI. O nome do agente deve seguir as regras de nomenclatura do identificador Oracle SQL. O tamanho máximo do nome é de 125 caracteres. Este é um parâmetro obrigatório. |
attributes |
Atributos personalizados para o agente AI. Consulte Atributos CREATE_AGENT para obter mais detalhes. |
status |
Status do agente. O valor padrão é |
description |
Descrição especificada pelo usuário para o agente AI. O valor default é NULL. |
Exemplo
O exemplo a seguir cria um agente para processar devoluções de produtos do cliente. Para obter um exemplo completo, consulte Exemplo: Criar um Agente de Devolução de Produto.
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 Atributos
Esses atributos definem a função de um agente e o nome do perfil do AI.
Atributos
| Nome do Atributo | Valor Padrão | Descrição |
|---|---|---|
profile_name |
- | O perfil de IA que o agente está usando para enviar solicitação ao LLM. Este é um parâmetro obrigatório. |
role |
- | Defina a função do agente e forneça contexto ao agente. Isso é enviado ao LLM. Este é um parâmetro obrigatório. |
enable_human_tool |
True |
Permite que o agente faça perguntas ao usuário para obter informações ou esclarecimentos. |
tools |
Nenhum | Especifica as ferramentas que um agente pode acessar quando ele executa as ferramentas diretamente. |
short_term_memory_length |
30 | Especifica o número máximo de giros de conversa incluídos em cada chamada do LLM para uma execução de tarefa. |
supervisor |
false |
Designa o agente como um supervisor que pode controlar uma equipe supervisionada. |
O exemplo a seguir mostra como você pode personalizar atributos de agente no procedimento.
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 completedObservações de Uso
profile_nameidentifica o perfil de IA usado para chamadas de LLM.supervisoré opcional e assume como padrãofalse.- Defina
supervisorcomotruesomente para agentes que controlam o roteamento da equipe. - Não é possível atualizar a opção de supervisor após a criação do agente.
- Mantenha as instruções de tarefa específicas do colaborador fora do supervisor quando possível; coloque-as nas tarefas do colaborador.
Exemplo: Criar um Agente Supervisor
Este exemplo cria um agente do supervisor que pode controlar uma equipe e delegar subtarefas a agentes do colaborador configurados.
BEGIN
DBMS_CLOUD_AI_AGENT.CREATE_AGENT(
agent_name => 'ORCHESTRATOR_AGENT',
attributes => '{
"profile_name": "<AI_PROFILE_NAME>",
"role": "Route requests to the appropriate worker agent.",
"supervisor": true
}',
description => 'Routes subtasks to worker agents'
);
END;
/ENABLE_AGENT Procedimento
Este procedimento ativa o agente do AI que o usuário especifica. O procedimento altera o status do agente do AI para ENABLED.
Sintaxe
DBMS_CLOUD_AI_AGENT.ENABLE_AGENT(
agent_name IN VARCHAR2
);Parâmetros
| Parâmetro | Descrição |
|---|---|
agent_name |
Nome do agente do AI a ser ativado. Este parâmetro é obrigatório. |
Exemplo para Ativar Perfil de IA
BEGIN
DBMS_CLOUD_AI_AGENT.ENABLE_AGENT(
agent_name => 'Customer_Return_Agent'
);
END;
/DISABLE_AGENT Procedimento
Este procedimento desativa o agente do AI no banco de dados atual. O status do agente do AI é alterado para DISABLED por este procedimento.
Sintaxe
DBMS_CLOUD_AI_AGENT.DISABLE_AGENT(
agent_name IN VARCHAR2
);Parâmetros
| Parâmetro | Descrição |
|---|---|
agent_name |
Nome do agente AI. Este parâmetro é obrigatório. |
Exemplo
BEGIN
DBMS_CLOUD_AI_AGENT.DISABLE_AGENT(
agent_name => 'Customer_Return_Agent'
);
END;
/DROP_AGENT Procedimento
O procedimento elimina um agente AI existente. Se o agente não existir, o procedimento gerará um erro.
Sintaxe
DBMS_CLOUD_AI_AGENT.DROP_AGENT(
agent_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
agent_name |
Nome do agente AI. Este é um parâmetro obrigatório. |
force |
Se O valor padrão para esse parâmetro é |
Exemplo
BEGIN
DBMS_CLOUD_AI_AGENT.DROP_AGENT(agent_name => 'Customer_Return_Agent);
END;
/Observações de Uso
Use force para eliminar um agente e ignorar erros se o agente do AI não existir.
CREATE_TASK Procedimento
Use o procedimento DBMS_CLOUD_AI_AGENT.CREATE_TASK para definir uma tarefa que um agente Selecionar AI pode incluir em seu processo de raciocínio. Cada tarefa tem um nome exclusivo e um conjunto de atributos que especificam o comportamento do agente ao planejar e executar a tarefa.
Você pode definir dependências entre tarefas usando o atributo input, permitindo que Select AI transmita a saída de uma tarefa para outra. Isso suporta raciocínio encadeado e fluxos de trabalho de várias etapas.
Sintaxe
DBMS_CLOUD_AI_AGENT.CREATE_TASK(
task_name IN VARCHAR2,
attributes IN CLOB,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
task_name |
Um nome exclusivo para a tarefa. Este é um parâmetro obrigatório. |
attributes |
Objeto JSON contendo atributos específicos da tarefa. Consulte Atributos CREATE_TASK. |
status |
Status da tarefa. O valor-padrão é |
description |
Descrição definida pelo utilizador para ajudar a identificar a tarefa. Esse valor é armazenado no banco de dados, mas não é enviado ao LLM. O valor default é NULL. |
Exemplo
O exemplo a seguir cria uma tarefa para processar uma devolução de produto de um cliente.
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 Atributos
Esses atributos definem as instruções e as ferramentas do agente disponíveis para a tarefa.
Atributos
| Nome do Atributo | Valor Padrão | Descrição |
|---|---|---|
instruction |
- | Uma declaração clara e concisa que descreve o que a tarefa deve realizar. Este texto é incluído no prompt enviado ao LLM. Você pode incluir um espaço reservado Este é um parâmetro obrigatório. |
tools |
- | Um array JSON de nomes de ferramentas que o agente pode usar para concluir a tarefa. Por exemplo: "tools": ["RAG", "SQL", "WEBSEARCH", "NOTIFICATION"]. |
input |
- | Identifica outras tarefas cujas saídas devem ser usadas como entrada para esta tarefa. Selecione AI para fornecer automaticamente essas saídas ao LLM. |
enable_human_tool |
- | Permite que o agente faça perguntas ao usuário quando ele exigir informações ou esclarecimentos durante uma tarefa. O valor padrão é verdadeiro. Observação: A tarefa |
ENABLE_TASK Procedimento
Use o procedimento DBMS_CLOUD_AI_AGENT.ENABLE_TASK para ativar uma tarefa definida anteriormente. Isso altera o status da tarefa para ENABLED, permitindo que o agente a use durante o processamento.
Sintaxe
DBMS_CLOUD_AI_AGENT.ENABLE_TASK(
task_name IN VARCHAR2
);Parâmetros
| Parâmetro | Descrição |
|---|---|
task_name |
Nome para a tarefa a ser ativada. Este parâmetro é obrigatório. |
Observações de Uso
A tarefa já deve existir no sistema. Este procedimento atualiza o status da tarefa, tornando-o disponível para o processo do agente durante workflows de argumentos.
Exemplo de Ativação de uma Tarefa
BEGIN
DBMS_CLOUD_AI_AGENT.ENABLE_TASK(
task_name => 'Return_And_Price_Match'
);
END;
/DISABLE_TASK Procedimento
Use o procedimento DBMS_CLOUD_AI_AGENT.DISABLE_TASK para desativar uma tarefa no banco de dados atual. Isso altera o status da tarefa para DISABLED, impedindo que o agente o use durante o processamento.
Sintaxe
DBMS_CLOUD_AI_AGENT.DISABLE_TASK(
task_name IN VARCHAR2
);Parâmetros
| Parâmetro | Descrição |
|---|---|
task_name |
Nome da tarefa a ser desativada. Este parâmetro é obrigatório. |
Observações de Uso
A desativação de uma tarefa não a exclui; você pode reativá-la posteriormente usando DBMS_CLOUD_AI_AGENT.ENABLE_TASK. Depois de desativada, a tarefa se torna inativa e o agente não a considera mais durante a seleção da tarefa.
Exemplo
O exemplo a seguir desativa uma tarefa existente.
BEGIN
DBMS_CLOUD_AI_AGENT.DISABLE_TASK(
task_name => 'Return_And_Price_Match'
);
END;
/DROP_TASK Procedimento
Use o procedimento DBMS_CLOUD_AI_AGENT.DROP_TASK para remover uma tarefa definida anteriormente do banco de dados. Se a tarefa não existir, você poderá suprimir o erro definindo o parâmetro force como TRUE.
Sintaxe
DBMS_CLOUD_AI_AGENT.DROP_TASK(
task_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
task_name |
Nome da tarefa a ser eliminada. Este é um parâmetro obrigatório. |
force |
Se O valor padrão para esse parâmetro é |
Exemplo
BEGIN
DBMS_CLOUD_AI_AGENT.DROP_TASK(task_name => 'Return_And_Price_Match');
END;
/Observações de Uso
Use force para eliminar uma tarefa e ignorar erros se a tarefa não existir.
CREATE_TOOL Procedimento
Use o procedimento DBMS_CLOUD_AI_AGENT.CREATE_TOOL para registrar uma ferramenta personalizada que um agente pode usar durante o processamento de tarefas. Cada ferramenta é identificada por um tool_name exclusivo e inclui atributos que definem sua finalidade, lógica de implementação e metadados.
As ferramentas podem ser funções PL/SQL personalizadas ou tipos de ferramentas incorporadas, como RAG, SQL, WEBSEARCH ou NOTIFICATION.
Sintaxe
DBMS_CLOUD_AI_AGENT.CREATE_TOOL(
tool_name IN VARCHAR2,
attributes IN CLOB,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
tool_name |
Um nome exclusivo para identificar a ferramenta. Este é um parâmetro obrigatório. |
attributes |
Atributos de ferramenta no formato JSON. Consulte Atributos CREATE_TOOL. Este é um parâmetro obrigatório. |
status |
Status da ferramenta. O valor-padrão é |
description |
Descrição definida pelo utilizador para ajudar a identificar a ferramenta. Esse valor é armazenado no banco de dados, mas não é enviado ao LLM. O valor default é NULL. |
Exemplo
O exemplo a seguir cria uma ferramenta SQL para gerar SQL a partir de um perfil NL2SQL existente. Consulte Exemplo: Criar Ferramentas Incorporadas para obter mais informações.
BEGIN
DBMS_CLOUD_AI_AGENT.CREATE_TOOL(
tool_name => 'SQL',
attributes => '{"tool_type": "SQL",
"tool_params": {"profile_name": "nl2sql_profile"}}'
);
END;
/CREATE_TOOL Atributos
Esses atributos fornecem configuração de ferramenta usando um objeto JSON no parâmetro de atributos. Cada atributo configura como o agente usa a ferramenta durante o raciocínio.
Atributos
| Nome do Atributo | Valor Padrão | Descrição |
|---|---|---|
instruction |
- | Uma declaração clara e concisa que descreve o que a ferramenta deve realizar e como fazê-lo. Este texto é incluído no prompt enviado ao LLM. Este é um parâmetro obrigatório. |
function |
- | Especifica a função ou o procedimento PL/SQL a ser chamado quando a ferramenta é usada. Este é um parâmetro obrigatório para ferramentas personalizadas. |
tool_type |
- | Especifica um tipo de ferramenta incorporado. Se definido, Os valores possíveis são:
Você pode criar ferramentas integradas com nomes e parâmetros personalizados. Você também pode criar várias ferramentas incorporadas com o mesmo |
tool_params |
- | Especifica parâmetros para registrar ferramentas incorporadas. |
tool_inputs |
- | Descreve os argumentos de entrada. Semelhante aos comentários da coluna em uma tabela. Por exemplo: |
Pré-requisitos para a Ferramenta Incorporada
Execute estas etapas antes de usar ferramentas incorporadas:
Ferramenta RAG
- Crie um perfil de IA que faça referência a um índice vetorial. Consulte Selecionar IA com Geração Aumentada de Recuperação (RAG).
Ferramenta de NOTIFICAÇÃO
Os seguintes itens são suportados: SLACK e EMAIL.
Ferramenta SLACK:
-
Configure um aplicativo Slack para receber mensagens do Autonomous AI Database.
-
Crie uma credencial usando
DBMS_CLOUD_NOTIFICATIONpara enviar notificações do Slack do Autonomous AI Database. Consulte Enviar Notificações do Slack do Autonomous AI Database.
Ferramenta EMAIL:
Observação
Observação: A ferramenta de e-mail envia uma notificação por e-mail do OCI.
- Identifique seu ponto final SMTP. Por exemplo, selecione um dos pontos finais 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 -
Conceda acesso SMTP usando uma ACL. Consulte Configurando a Conexão SMTP.
-
Gere credenciais SMTP para a entrega de e-mail. O pacote
UTL_SMTPusa credenciais para autenticação com servidores de entrega de e-mail quando você envia um e-mail. Consulte Gerar Credenciais SMTP para um Usuário para obter mais informações. -
Criar remetentes aprovados. Conclua esta etapa para todos os endereços de e-mail usados como o endereço
Fromcom o subprogramaUTL_SMTP.MAIL. Consulte Gerenciando Remetentes Aprovados para mais informações. - Conceda acesso SMTP ao usuário adicionando a Access Control Entry (ACE). Para obter mais detalhes, consulte Enviar E-mail do Autonomous AI Database Usando DBMS_CLOUD_NOTIFICATION.
Tipos de Ferramenta Incorporados no Pacote DBMS_CLOUD_AI_AGENT
Você pode registrar ferramentas incorporadas usando os atributos tool_type e tool_params.
| Tipo de Ferramenta | Descrição | Parâmetros Obrigatórios |
|---|---|---|
SQL |
Traduz linguagem natural em consultas SQL. Observação: A ferramenta SQL integrada usa ações Selecionar IA, como runsql, showsql e explainsql, para processar prompts relacionados ao banco de dados. A ferramenta integrada inclui instruções padrão que definem o comportamento e o uso dessas ações. Você pode complementar o comportamento padrão usando o atributo instruction no procedimento CREATE_TOOL para orientar como o agente mapeia um prompt para a ação mais adequada. |
profile_name |
RAG |
Executa Geração Aumentada de Recuperação por meio de pesquisa vetorial. | profile_name |
NOTIFICATION |
Envia mensagens para um canal do Slack ou envia e-mails usando SMTP. Opções disponíveis:
|
Quando Quando |
WEBSEARCH |
Pesquisa informações da web. | credential_name |
ENABLE_TOOL Procedimento
Use o procedimento DBMS_CLOUD_AI_AGENT.ENABLE_TOOL para ativar uma ferramenta criada anteriormente. Isso altera o status da ferramenta para ENABLED, permitindo que o agente use suas tarefas.
Sintaxe
DBMS_CLOUD_AI_AGENT.ENABLE_TOOL(
tool_name IN VARCHAR2
);Parâmetros
| Parâmetro | Descrição |
|---|---|
tool_name |
Nome da ferramenta a ser ativada. Este parâmetro é obrigatório. |
Exemplo
BEGIN
DBMS_CLOUD_AI_AGENT.ENABLE_TOOL(
tool_name => 'SQL'
);
END;
/DISABLE_TOOL Procedimento
Use o procedimento DBMS_CLOUD_AI_AGENT.DISABLE_TOOL para desativar uma ferramenta. Isso altera o status da ferramenta para DISABLED, impedindo que o agente o use em tarefas.
Sintaxe
DBMS_CLOUD_AI_AGENT.DISABLE_TOOL(
tool_name IN VARCHAR2
);Parâmetros
| Parâmetro | Descrição |
|---|---|
tool_name |
Nome da ferramenta a ser desativada. Este parâmetro é obrigatório. |
Exemplo
O exemplo a seguir desativa uma ferramenta existente.
BEGIN
DBMS_CLOUD_AI_AGENT.DISABLE_TOOL(
tool_name => 'SQL'
);
END;
/DROP_TOOL Procedimento
Use o procedimento DBMS_CLOUD_AI_AGENT.DROP_TOOL para remover uma ferramenta criada anteriormente com o agente. Se a tarefa não existir, você poderá suprimir o erro definindo o parâmetro force como TRUE.
Sintaxe
DBMS_CLOUD_AI_AGENT.DROP_TOOL(
tool_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
tool_name |
Nome da ferramenta a ser eliminada. Este é um parâmetro obrigatório. |
force |
Se O valor padrão para esse parâmetro é |
Exemplo
BEGIN
DBMS_CLOUD_AI_AGENT.DROP_TOOL(tool_name => 'SQL');
END;
/Observações de Uso
Use force para eliminar uma ferramenta e ignorar erros se a ferramenta não existir.
CREATE_TEAM Procedimento
Use o procedimento DBMS_CLOUD_AI_AGENT.CREATE_TEAM para definir uma equipe de agentes de IA que trabalham juntos para realizar tarefas. Você especifica agentes e suas tarefas associadas, além de como as tarefas devem ser processadas.
Sintaxe
DBMS_CLOUD_AI_AGENT.CREATE_TEAM(
team_name IN VARCHAR2,
attributes IN CLOB,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Um nome exclusivo para identificar a equipe do agente de IA. Este é um parâmetro obrigatório. |
attributes |
String formatada em JSON que define atributos de equipe, como agentes e processo. Consulte Atributos CREATE_TEAM. Este é um parâmetro obrigatório. |
status |
Status da equipe. O valor-padrão é |
description |
Descrição definida pelo usuário para identificar a finalidade da equipe. Esse valor é armazenado no banco de dados, mas não é enviado ao LLM. O valor default é NULL. |
Exemplo
O exemplo a seguir cria uma equipe de agente para processar a devolução do produto de um cliente.
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 Atributos
Esses atributos fornecem a configuração da equipe do agente de IA. Cada equipe tem um team_name exclusivo e usa um conjunto de atributos para definir sua estrutura e estratégia de execução.
Atributos
| Nome do Atributo | Valor Padrão | Descrição |
|---|---|---|
agents |
- | Especifica agentes de listagem de array JSON e suas tarefas correspondentes. Um agente pode ser atribuído a várias tarefas usando o mesmo nome. Este é um parâmetro obrigatório. Exemplo: |
process |
- | Especifica como as tarefas são executadas. Use "sequential" para que as tarefas sejam executadas uma após a outra em ordem. |
long_term_memory_length |
30 | Especifica o número máximo de resumos no nível da tarefa anterior incluídos no prompt do sistema como contexto de memória no início de cada nova execução. |
supervisor_agent |
- | Nome do agente do supervisor. Este atributo é obrigatório para uma equipe liderada pelo supervisor. |
Observações de Uso
Revise as regras de atributo da equipe antes de criar uma equipe supervisionada para que os mapeamentos de supervisor e colaborador permaneçam separados.
No design do supervisor, o processamento da subtarefa é sequencial: o objeto do agente do supervisor delega uma subtarefa de colaborador por vez e é retomado depois que o colaborador retorna um resultado, incluindo um resultado com falha.
supervisor_agentnomeia o objeto do agente do supervisor que controla a equipe.agentslista os pares agente/tarefa do colaborador disponíveis para delegação.- Não liste o supervisor selecionado como um colaborador no array
agents. - Use
processcom a definição da equipe. O design do supervisor inicial requersequential; uma subtarefa de colaborador deve ser concluída antes que o supervisor delegue a próxima subtarefa.
Exemplo: Criar uma Equipe Conduzida pelo Supervisor
Este exemplo cria uma equipe supervisionada com pares de agente-tarefa do colaborador da conta e do pagamento disponíveis para o objeto do agente do supervisor.
BEGIN
DBMS_CLOUD_AI_AGENT.CREATE_TEAM(
team_name => 'CUSTOMER_SUPPORT',
attributes => '{
"process": "sequential",
"supervisor_agent": "ORCHESTRATOR_AGENT",
"agents": [
{"name":"ACCOUNT_AGENT", "task":"ACCOUNT_MANAGEMENT_TASK"},
{"name":"PAYMENT_AGENT", "task":"PAYMENT_MANAGEMENT_TASK"}
]
}'
);
END;
/Função SET_TEAM
Use DBMS_CLOUD_AI_AGENT.SET_TEAM para especificar a equipe do agente do AI para a sessão atual e fornecer configuração de runtime opcional.
Quando uma equipe é definida, somente a ação select ai agent é ativada, o sistema não suporta outras ações Selecionar IA.
Sintaxe
DBMS_CLOUD_AI_AGENT.SET_TEAM(
team_name IN VARCHAR2,
params IN CLOB DEFAULT NULL,
);Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Especifica o nome da equipe do Agente AI a ser usada na sessão atual. A equipe já deve existir no sistema. Este parâmetro é obrigatório. |
params |
Especifica parâmetros personalizados usados durante o processo da equipe do agente de IA e CLOB formatado em JSON contendo parâmetros de runtime. Os parâmetros suportados incluem:
Por exemplo:
|
Observações de Uso
variablesestá obsoleto e é tratado comoinstruction_variables.- Os valores fornecidos com
SET_TEAMficam disponíveis para execuções posteriores na mesma sessão até serem alterados ou apagados. - O runtime
paramsnão modifica metadados permanentes da equipe. - Quando
SET_TEAMestá em vigor, somente a ação do agente é suportada. Se você especificar qualquer outra ação, o sistema retornará um erro indicando que a ação não é suportada para a sessão atual.
Exemplo
O exemplo a seguir define a equipe do agente de IA especificada pelo usuário na sessão atual.
EXEC DBMS_CLOUD_AI_AGENT.SET_TEAM('ReturnAgency');O exemplo a seguir define parâmetros de tempo de execução de sessão para uma equipe compartilhada.
BEGIN
DBMS_CLOUD_AI_AGENT.SET_TEAM(
team_name => 'TEAM_OWNER.SHARED_SUPPORT_TEAM',
params => '{"attribute_variables":{"llm_profile":"LLM_PROFILE_NAME"},"state_variables":{"request_id":"REQUEST_ID"}}');
END;
/Função GET_TEAM
Use DBMS_CLOUD_AI_AGENT.GET_TEAM para retornar a equipe do agente do AI para a sessão atual.
Sintaxe
DBMS_CLOUD_AI_AGENT.GET_TEAM RETURN VARCHAR2;Exemplo
O exemplo a seguir retorna a equipe do agente do AI na sessão atual.
SELECT DBMS_CLOUD_AI_AGENT.GET_TEAM from DUAL;Função CLEAR_TEAM
Use DBMS_CLOUD_AI_AGENT.CLEAR_TEAM para limpar o conjunto de equipes do agente AI na sessão atual. Este procedimento não elimina a equipe.
Sintaxe
DBMS_CLOUD_AI_AGENT.CLEAR_TEAM;Exemplo
O exemplo a seguir limpa a equipe do agente AI na sessão atual.
BEGIN
DBMS_CLOUD_AI_AGENT.CLEAR_TEAM;
END;
/Função RUN_TEAM
Use DBMS_CLOUD_AI_AGENT.RUN_TEAM para iniciar uma nova equipe de agente do AI ou retomar uma pausa que esteja aguardando entrada humana. Se você fornecer um conversation_id existente e o processo de equipe associado estiver no estado WAITING_FOR_HUMAN, a função retomará o workflow usando a entrada fornecida como resposta humana. Se você fornecer uma nova conversation_id, a RUN_TEAM iniciará um novo thread de conversa.
Uma equipe compartilhada é executada como consumidor na sessão de banco de dados inicial.
Sintaxe
DBMS_CLOUD_AI_AGENT.RUN_TEAM(
team_name IN VARCHAR2,
user_prompt IN CLOB DEFAULT NULL,
params IN CLOB DEFAULT NULL,
);Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Especifica o nome da equipe do Agente AI a ser usada na sessão atual. A equipe já deve existir no sistema. Este parâmetro é obrigatório. |
user_prompt |
Especifica a consulta ou resposta do usuário fornecida à tarefa. Se a tarefa estiver no estado Se a tarefa estiver no estado |
params |
Especifica parâmetros personalizados usados durante o processo da equipe do agente de IA e CLOB formatado em JSON contendo parâmetros de runtime. Os parâmetros suportados incluem:
Por exemplo:
|
Observações de Uso
RUN_TEAMretorna o resultado final da última tarefa como CLOB.- Se um processo estiver aguardando entrada humana, o
RUN_TEAMretornará informações de status ou retomará a etapa de espera quando você fornecer o contexto e a entrada de execução necessários. - O nível de execução
paramsinformado paraRUN_TEAMtem precedência sobre o nível de sessãoparamsdefinido porSET_TEAM. - Uma equipe compartilhada é executada com os privilégios do consumidor na sessão do banco de dados que inicia a execução.
- Uma ferramenta PL/SQL personalizada segue a definição
AUTHIDde sua função. Uma funçãoAUTHID CURRENT_USERusa os privilégios do consumidor, enquanto uma função definer-right usa os privilégios do definidor. O acesso a uma equipe compartilhada não concede ao consumidor o privilégioEXECUTEem uma função personalizada ou o acesso aos recursos exigidos pela função.
Exemplo
O exemplo a seguir executa a equipe do agente de IA especificada pelo usuário na sessão atual.
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 \|\| '"}'
);O exemplo a seguir executa uma equipe compartilhada com parâmetros de runtime.
DECLARE
l_result CLOB;
BEGIN
l_result := DBMS_CLOUD_AI_AGENT.RUN_TEAM(
team_name => 'TEAM_OWNER.SHARED_SUPPORT_TEAM',
user_prompt => 'Summarize the account status for ACCOUNT_NAME.',
params => '{"attribute_variables":{"llm_profile":"LLM_PROFILE_NAME"},"state_variables":{"request_context":"REQUEST_CONTEXT"},"conversation_id":"CONVERSATION_ID"}');
END;
/ENABLE_TEAM Procedimento
Use o procedimento DBMS_CLOUD_AI_AGENT.ENABLE_TEAM para ativar uma equipe de agente de IA especificada pelo usuário. Isso altera o status da equipe para ENABLED.
Sintaxe
DBMS_CLOUD_AI_AGENT.ENABLE_TEAM(
team_name IN VARCHAR2
);Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Nome da equipe do agente de IA a ser ativada. Este parâmetro é obrigatório. |
Exemplo
O exemplo a seguir ativa uma equipe de agente de IA especificada pelo usuário.
BEGIN
DBMS_CLOUD_AI_AGENT.ENABLE_TEAM(
team_name => 'ReturnAgency'
);
END;
/DISABLE_TEAM Procedimento
Use o procedimento DBMS_CLOUD_AI_AGENT.DISABLE_TEAM para desativar uma equipe de agente do AI existente. Isso altera o status da equipe para DISABLED.
Sintaxe
DBMS_CLOUD_AI_AGENT.DISABLE_TEAM(
team_name IN VARCHAR2
);Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Nome da equipe do agente de IA a ser desativada. Este parâmetro é obrigatório. |
Exemplo
O exemplo a seguir desativa uma equipe de agente do AI existente.
BEGIN
DBMS_CLOUD_AI_AGENT.DISABLE_TEAM(
team_name => 'ReturnAgency'
);
END;
/DROP_TEAM Procedimento
Use o procedimento DBMS_CLOUD_AI_AGENT.DROP_TEAM para remover uma equipe de agente do AI criada anteriormente.
Sintaxe
DBMS_CLOUD_AI_AGENT.DROP_TEAM(
team_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Nome da equipe a ser eliminada. Este é um parâmetro obrigatório. |
force |
Se O valor padrão deste parâmetro é |
Exemplo
BEGIN
DBMS_CLOUD_AI_AGENT.DROP_TEAM(team_name => 'ReturnAgency');
END;
/Observações de Uso
Use force para eliminar uma equipe e ignorar erros se a equipe não existir.
Função DESCRIBE_TOOL
Use a função DBMS_CLOUD_AI_AGENT.DESCRIBE_TOOL para retornar metadados JSON para uma ferramenta. O resultado inclui o nome da ferramenta, a descrição, os atributos e as informações do esquema de entrada que um cliente compatível com MCP pode usar para a descoberta da ferramenta.
Sintaxe
DBMS_CLOUD_AI_AGENT.DESCRIBE_TOOL(
tool_name IN VARCHAR2
) RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
tool_name |
Nome da ferramenta Selecionar Agente AI cujos metadados são retornados. |
Retorna
Retorna um CLOB que contém metadados de ferramenta e informações de argumento formatados em JSON.
Exemplo
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;
/Função RUN_TOOL
Use a função DBMS_CLOUD_AI_AGENT.RUN_TOOL para chamar uma ferramenta criada por nome. O parâmetro de entrada passa os argumentos da ferramenta como um payload JSON.
Sintaxe
DBMS_CLOUD_AI_AGENT.RUN_TOOL(
tool_name IN VARCHAR2,
input IN CLOB
) RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
tool_name |
Nome da ferramenta Selecionar Agente AI a ser chamada. |
input |
Payload de entrada JSON informado para a ferramenta. |
Retorna
Retorna um CLOB que contém o resultado da execução da ferramenta.
Exemplo
SELECT DBMS_CLOUD_AI_AGENT.RUN_TOOL(
tool_name => 'FETCH_LOG_TOOL',
input => '{"P_SINCE":"2026-01-01"}'
) AS tool_result
FROM dual;Função LIST_TEAMS
Use a função DBMS_CLOUD_AI_AGENT.LIST_TEAMS para enumerar equipes de agentes disponíveis para o usuário que faz a chamada. O resultado pode ser usado por camadas de integração compatíveis com A2A para descoberta da equipe.
Sintaxe
DBMS_CLOUD_AI_AGENT.LIST_TEAMS
RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
| Nenhum | Esta função não tem parâmetros. |
Retorna
Retorna um CLOB que contém um array JSON. Cada entrada inclui o nome e a descrição da equipe.
Exemplo
SELECT DBMS_CLOUD_AI_AGENT.LIST_TEAMS()
FROM dual;Função DESCRIBE_TEAM
Use a função DBMS_CLOUD_AI_AGENT.DESCRIBE_TEAM para retornar metadados de uma equipe de agentes. A função mapeia as ferramentas Selecionar Agente de IA disponíveis para a equipe na representação de habilidades compatíveis com A2A.
Sintaxe
DBMS_CLOUD_AI_AGENT.DESCRIBE_TEAM(
team_name IN VARCHAR2
) RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Nome da equipe do agente cujos metadados e recursos são retornados. |
Retorna
Retorna um CLOB que contém um objeto JSON com o nome da equipe, a descrição, a versão opcional e a lista de habilidades.
Observações de Uso
- Habilidades são uma representação de protocolo de ferramentas para clientes compatíveis com A2A. Eles não introduzem um novo tipo de objeto de banco de dados Selecionar Agente do AI.
Exemplo
SELECT DBMS_CLOUD_AI_AGENT.DESCRIBE_TEAM('SUPPORT_TEAM')
FROM dual;Função GET_TEAM_STATE
Use a função DBMS_CLOUD_AI_AGENT.GET_TEAM_STATE para retornar o estado de execução mais recente de uma conversa da equipe do agente.
Sintaxe
DBMS_CLOUD_AI_AGENT.GET_TEAM_STATE(
team_name IN VARCHAR2,
params IN CLOB DEFAULT NULL
) RETURN VARCHAR2;Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Nome da equipe do agente cujo estado de execução mais recente é retornado. |
params |
Objeto JSON opcional. Use conversation_id para recuperar o estado de execução mais recente de uma conversa específica. Se omitido, a conversa da sessão atual é usada. |
Retorna
Retorna um estado de execução do VARCHAR2, como RUNNING, WAITING_FOR_HUMAN, SUCCEEDED ou FAILED.
Exemplo
SELECT DBMS_CLOUD_AI_AGENT.GET_TEAM_STATE(
team_name => 'SUPPORT_TEAM',
params => '{"conversation_id":"<CONVERSATION_ID>"}'
)
FROM dual;Procedimento SET_EXECUTION_STATE
Use o procedimento DBMS_CLOUD_AI_AGENT.SET_EXECUTION_STATE para atualizar uma execução de equipe de espera para um estado especificado. Isso é útil para workflows de chamada de ferramenta direta do agente em que o aplicativo controla quando a sessão interativa é concluída.
Sintaxe
DBMS_CLOUD_AI_AGENT.SET_EXECUTION_STATE(
team_name IN VARCHAR2,
state IN CLOB DEFAULT 'SUCCEEDED',
params IN CLOB DEFAULT NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Nome da equipe do agente cujo estado de execução é atualizado. |
state |
Estado de execução a ser definido. O valor-padrão é SUCCEEDED. |
params |
Objeto JSON opcional. Use conversation_id para identificar a conversa cujo estado de execução é atualizado. |
Exemplo
BEGIN
DBMS_CLOUD_AI_AGENT.SET_EXECUTION_STATE(
team_name => 'CUSTOMER_AGENT_ONLY_TEAM',
state => 'SUCCEEDED',
params => '{"conversation_id":"<CONVERSATION_ID>"}'
);
END;
/Função DESCRIBE_TOOL
Use a função DBMS_CLOUD_AI_AGENT.DESCRIBE_TOOL para retornar metadados JSON para uma ferramenta. O resultado inclui o nome da ferramenta, a descrição, os atributos e as informações do esquema de entrada que um cliente compatível com MCP pode usar para a descoberta da ferramenta.
Sintaxe
DBMS_CLOUD_AI_AGENT.DESCRIBE_TOOL(
tool_name IN VARCHAR2
) RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
tool_name |
Nome da ferramenta Selecionar Agente AI cujos metadados são retornados. |
Retorna
Retorna um CLOB que contém metadados de ferramenta e informações de argumento formatados em JSON.
Exemplo
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;
/Função RUN_TOOL
Use a função DBMS_CLOUD_AI_AGENT.RUN_TOOL para chamar uma ferramenta criada por nome. O parâmetro de entrada passa os argumentos da ferramenta como um payload JSON.
Sintaxe
DBMS_CLOUD_AI_AGENT.RUN_TOOL(
tool_name IN VARCHAR2,
input IN CLOB
) RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
tool_name |
Nome da ferramenta Selecionar Agente AI a ser chamada. |
input |
Payload de entrada JSON informado para a ferramenta. |
Retorna
Retorna um CLOB que contém o resultado da execução da ferramenta.
Exemplo
SELECT DBMS_CLOUD_AI_AGENT.RUN_TOOL(
tool_name => 'FETCH_LOG_TOOL',
input => '{"P_SINCE":"2026-01-01"}'
) AS tool_result
FROM dual;Função LIST_TEAMS
Use a função DBMS_CLOUD_AI_AGENT.LIST_TEAMS para enumerar equipes de agentes disponíveis para o usuário que faz a chamada. O resultado pode ser usado por camadas de integração compatíveis com A2A para descoberta da equipe.
Sintaxe
DBMS_CLOUD_AI_AGENT.LIST_TEAMS
RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
| Nenhum | Esta função não tem parâmetros. |
Retorna
Retorna um CLOB que contém um array JSON. Cada entrada inclui o nome e a descrição da equipe.
Exemplo
SELECT DBMS_CLOUD_AI_AGENT.LIST_TEAMS()
FROM dual;Função DESCRIBE_TEAM
Use a função DBMS_CLOUD_AI_AGENT.DESCRIBE_TEAM para retornar metadados de uma equipe de agentes. A função mapeia as ferramentas Selecionar Agente de IA disponíveis para a equipe na representação de habilidades compatíveis com A2A.
Sintaxe
DBMS_CLOUD_AI_AGENT.DESCRIBE_TEAM(
team_name IN VARCHAR2
) RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Nome da equipe do agente cujos metadados e recursos são retornados. |
Retorna
Retorna um CLOB que contém um objeto JSON com o nome da equipe, a descrição, a versão opcional e a lista de habilidades.
Observações de Uso
- Habilidades são uma representação de protocolo de ferramentas para clientes compatíveis com A2A. Eles não introduzem um novo tipo de objeto de banco de dados Selecionar Agente do AI.
Exemplo
SELECT DBMS_CLOUD_AI_AGENT.DESCRIBE_TEAM('SUPPORT_TEAM')
FROM dual;Função GET_TEAM_STATE
Use a função DBMS_CLOUD_AI_AGENT.GET_TEAM_STATE para retornar o estado de execução mais recente de uma conversa da equipe do agente.
Sintaxe
DBMS_CLOUD_AI_AGENT.GET_TEAM_STATE(
team_name IN VARCHAR2,
params IN CLOB DEFAULT NULL
) RETURN VARCHAR2;Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Nome da equipe do agente cujo estado de execução mais recente é retornado. |
params |
Objeto JSON opcional. Use conversation_id para recuperar o estado de execução mais recente de uma conversa específica. Se omitido, a conversa da sessão atual é usada. |
Retorna
Retorna um estado de execução do VARCHAR2, como RUNNING, WAITING_FOR_HUMAN, SUCCEEDED ou FAILED.
Exemplo
SELECT DBMS_CLOUD_AI_AGENT.GET_TEAM_STATE(
team_name => 'SUPPORT_TEAM',
params => '{"conversation_id":"<CONVERSATION_ID>"}'
)
FROM dual;Procedimento SET_EXECUTION_STATE
Use o procedimento DBMS_CLOUD_AI_AGENT.SET_EXECUTION_STATE para atualizar uma execução de equipe de espera para um estado especificado. Isso é útil para workflows de chamada de ferramenta direta do agente em que o aplicativo controla quando a sessão interativa é concluída.
Sintaxe
DBMS_CLOUD_AI_AGENT.SET_EXECUTION_STATE(
team_name IN VARCHAR2,
state IN CLOB DEFAULT 'SUCCEEDED',
params IN CLOB DEFAULT NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Nome da equipe do agente cujo estado de execução é atualizado. |
state |
Estado de execução a ser definido. O valor-padrão é SUCCEEDED. |
params |
Objeto JSON opcional. Use conversation_id para identificar a conversa cujo estado de execução é atualizado. |
Exemplo
BEGIN
DBMS_CLOUD_AI_AGENT.SET_EXECUTION_STATE(
team_name => 'CUSTOMER_AGENT_ONLY_TEAM',
state => 'SUCCEEDED',
params => '{"conversation_id":"<CONVERSATION_ID>"}'
);
END;
/Função EXPORT_TEAM
Use a função DBMS_CLOUD_AI_AGENT.EXPORT_TEAM para exportar todos os agentes, tarefas e ferramentas associadas em uma equipe de agentes para uma string. A função usa team_name e params opcional como entrada e retorna a definição de equipe exportada como CLOB.
Sintaxe
DBMS_CLOUD_AI_AGENT.EXPORT_TEAM(
team_name IN VARCHAR2,
params IN CLOB DEFAULT NULL
) RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Especifica o nome da equipe de agente do AI existente a ser exportada. Este é um parâmetro obrigatório. |
params |
Parâmetros JSON opcionais para comportamento de exportação. |
Observações de Uso
-
EXPORT_TEAMexporta a definição da equipe e os metadados associados para a equipe Selecionar Agente de IA especificada. -
A exportação inclui a equipe e seus agentes, ferramentas e tarefas relacionados que fazem parte da especificação da equipe.
-
A exportação não inclui definições de credenciais ou senhas de credenciais. Ela preserva somente os nomes de credenciais referenciados quando aplicável.
-
A exportação não inclui implementações de suporte criadas pelo usuário fora da especificação exportada. Essas dependências excluídas incluem procedimentos e funções PL/SQL do cliente usados por ferramentas, serviços REST externos, OCI Functions, funções do AWS Lambda, ACLs de rede e outros recursos externos.
-
A exportação de ferramentas Select AI incorporadas inclui a definição da ferramenta na especificação da equipe.
-
Verifique se existe alguma configuração de suporte necessária no ambiente de destino antes de importar e usar a equipe exportada.
-
Se a equipe, os agentes, as ferramentas ou as tarefas exportadas estiverem desativadas, a especificação exportada incluirá metadados que marcam esses componentes como desativados.
-
Se Selecionar Agente do AI criar uma tarefa automaticamente durante a importação da equipe do agente porque a especificação importada não inclui uma definição de tarefa, a tarefa gerada não será incluída quando a equipe do agente for exportada novamente. Somente as tarefas definidas explicitamente na equipe do agente são exportadas.
-
Se o
CLOBretornado for grande, grave-o em partes quando salvá-lo em um arquivo.
Exemplo
O exemplo a seguir exporta a equipe ReturnAgency para uma CLOB e grava a saída em um arquivo usando a UTL_FILE.
DECLARE
output clob;
params_clob clob;
file_handler UTL_FILE.FILE_TYPE;
BEGIN
output := DBMS_CLOUD_AI_AGENT.EXPORT_TEAM(
team_name => 'ReturnAgency'
);
END;
/
/Procedimento EXPORT_TEAM
Use o procedimento DBMS_CLOUD_AI_AGENT.EXPORT_TEAM para exportar uma definição de equipe de agente, incluindo seus agentes, tarefas e definições de ferramenta associadas, para uma string. O procedimento grava a definição da equipe exportada em um URI do serviço Object Storage ou em um arquivo de diretório do banco de dados quando o valor do local inclui o objeto do diretório e o nome do arquivo. O procedimento usa um params opcional como entrada e retorna a definição de equipe exportada como um CLOB.
Sintaxe
DBMS_CLOUD_AI_AGENT.EXPORT_TEAM(
team_name IN VARCHAR2,
object_storage_credential_name IN VARCHAR2,
location IN VARCHAR2,
params IN CLOB DEFAULT NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Especifica o nome da equipe de agente do AI existente a ser exportada. Este é um parâmetro obrigatório. |
object_storage_credential_name |
Nome da credencial do local do Object Storage no qual você deseja salvar o arquivo exportado. Não especifique este parâmetro quando location identificar um arquivo de diretório de banco de dados. |
location |
O local do Object Storage ou um local do diretório do banco de dados, incluindo o nome do arquivo, em que o procedimento grava o arquivo exportado. |
params |
Parâmetros JSON opcionais para comportamento de exportação. O parâmetro
O valor padrão é |
Observações de Uso
-
EXPORT_TEAMexporta a definição da equipe e os metadados associados para a equipe Selecionar Agente de IA especificada. -
A exportação inclui a equipe e seus agentes, ferramentas e tarefas relacionados que fazem parte da especificação da equipe.
-
A exportação não inclui definições de credenciais ou senhas de credenciais. Ela preserva somente os nomes de credenciais referenciados quando aplicável.
-
A exportação não inclui implementações de suporte criadas pelo usuário fora da especificação exportada.
-
A exportação de ferramentas Select AI incorporadas inclui a definição da ferramenta na especificação da equipe.
-
Verifique se existe alguma configuração de suporte necessária no ambiente de destino antes de importar e usar a equipe exportada.
-
Se a equipe, os agentes, as ferramentas ou as tarefas exportadas estiverem desativadas, a especificação exportada incluirá metadados que marcam esses componentes como desativados.
-
Se Selecionar Agente do AI criar uma tarefa automaticamente durante a importação da equipe do agente porque a especificação importada não inclui uma definição de tarefa, a tarefa gerada não será incluída quando a equipe do agente for exportada novamente. Somente as tarefas definidas explicitamente na equipe do agente são exportadas.
Exemplos
O exemplo a seguir exporta a equipe ReturnAgency e grava a saída exportada no local do Object Storage especificado.
DECLARE
output clob;
params_clob clob;
BEGIN
DBMS_CLOUD_AI_AGENT.export_team(
team_name => 'ReturnAgency',
object_storage_credential_name => 'OBJ_STORAGE_CRED',
location => 'https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/my_namespace/my_bucket/my_data_folder/return_agency.json',
params => '{"overwrite": true}'
);
END;
/O exemplo a seguir exporta a equipe ReturnAgency para um arquivo de diretório de banco de dados.
BEGIN
DBMS_CLOUD_AI_AGENT.EXPORT_TEAM(
team_name => 'ReturnAgency',
location => 'MY_DIR:return_agency.json'
);
END;
/Procedimento IMPORT_TEAM
Use o procedimento DBMS_CLOUD_AI_AGENT.IMPORT_TEAM para importar uma especificação de equipe de agente para o banco de dados. A especificação pode incluir metadados da equipe e definições de agente, tarefa e ferramenta relacionadas. Ele importa apenas as informações armazenadas na especificação da equipe e no perfil de IA associado. Você pode fornecer uma string de especificação, uma credencial e um local do Object Storage ou um local de arquivo de diretório de banco de dados para importar a definição da equipe de um arquivo.
Sintaxe
DBMS_CLOUD_AI_AGENT.IMPORT_TEAM(
profile_name IN VARCHAR2,
team_name IN VARCHAR2 DEFAULT NULL,
specification IN CLOB DEFAULT NULL,
object_storage_credential_name IN VARCHAR2 DEFAULT NULL,
location IN VARCHAR2 DEFAULT NULL,
force IN BOOLEAN DEFAULT FALSE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
profile_name |
Especifique o nome de um perfil de IA válido e ativado a ser usado para a equipe do agente importado. Os agentes importados usam esse perfil para enviar solicitações ao LLM. Este é um parâmetro obrigatório. |
team_name |
Especifica o nome da equipe do agente criada pela operação de importação. Use um nome de equipe que não entre em conflito com um nome de equipe existente. Este é um parâmetro obrigatório. |
specification |
Definição da equipe no formato JSON. |
object_storage_credential_name |
Nome da credencial do local do Object Storage que contém o arquivo de importação. Especifique esse parâmetro somente quando location identificar um arquivo do serviço Object Storage. Não especifique esse parâmetro quando o local identificar um arquivo de diretório do banco de dados. |
location |
O local do Object Storage ou o local do diretório do banco de dados, incluindo o nome do arquivo, do qual o procedimento importa a definição da equipe. Especifique location ou specification, mas não ambos. |
force |
Se definido como TRUE, elimina componentes em conflito que causam erros de importação e, em seguida, importa a definição da equipe. |
Observações de Uso
-
O
IMPORT_TEAMimporta apenas os componentes definidos na especificação da equipe fornecida. -
A importação cria a equipe e seus agentes, ferramentas e tarefas relacionados presentes na especificação.
-
O parâmetro
specificatione a combinação deobject_storage_credential_nameelocationusam o mesmo comportamento de importação. A única diferença é a origem do conteúdo da especificação. -
A importação não cria recursos dependentes que não fazem parte da especificação. Esses recursos incluem credenciais, procedimentos e funções PL/SQL criados pelo cliente, serviços REST externos, OCI Functions, funções do AWS Lambda, ACLs de rede, pontos finais, perfis, índices e outros recursos de suporte externo. Crie essas dependências separadamente no ambiente de destino antes de usar a equipe importada.
-
As ferramentas integradas Select AI não exigem recriação manual como definições de componentes importados. No entanto, qualquer configuração de ambiente necessária para essas ferramentas já deverá existir no banco de dados de destino.
-
Se a especificação não incluir uma tarefa, o
DBMS_CLOUD_AI_AGENTpoderá criar automaticamente uma tarefa durante a importação. Esta tarefa gerada são metadados criados pelo sistema e não é equivalente a uma tarefa definida explicitamente na especificação de origem. -
Se
forceestiver definido comoTRUE, a importação verificará os componentes importados em conflito existentes por nome, como agente, ferramenta ou tarefa. Quando ocorre um conflito, a importação elimina o componente existente com o mesmo nome e recria esse componente da especificação de importação. Este comportamento se aplica somente a componentes importados em conflito. -
Este procedimento não elimina nem recria dependências externas ou recursos associados que não fazem parte da especificação, como funções PL/SQL criadas pelo cliente, credenciais ou ACLs de rede.
-
Se a especificação importada contiver metadados que marcam a equipe, os agentes, as ferramentas ou as tarefas como desativados, o Select AI Agent importará esses componentes como desativados.
Exemplos
Importar uma equipe de um arquivo no Object Storage
Este exemplo importa uma definição de equipe de um arquivo JSON armazenado no Object Storage. Use este método quando já tiver exportado a definição da equipe para um arquivo. O exemplo a seguir importa a equipe ReturnAgency.
BEGIN
DBMS_CLOUD_AI_AGENT.IMPORT_TEAM(
profile_name => 'PROFILE_NAME',
team_name => 'Marketing',
object_storage_credential_name => 'cred1',
location => 'https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/my_namespace/my_bucket/my_data_folder/return_agency.json'
);
END;
/Importar uma Equipe de um Arquivo de Diretório
Importe uma definição de equipe de agente Selecionar AI de um arquivo JSON armazenado em um objeto de diretório. O parâmetro location especifica o objeto de diretório e o nome do arquivo.
BEGIN
DBMS_CLOUD_AI_AGENT.import_team(
profile_name => 'PROFILE_NAME',
team_name => 'returnagency',
location => 'MY_DIR:return_agency.json'
);
END;
/Importar uma equipe de uma especificação passada como CLOB
Este exemplo cria primeiro as funções necessárias criadas pelo usuário e depois importa a equipe de uma especificação JSON armazenada em um CLOB. Use esse método ao criar ou modificar a definição da equipe dentro de PL/SQL.
-- Create required functions first
CREATE OR REPLACE FUNCTION run_sql(nl_query IN CLOB)
RETURN CLOB
IS
v_query CLOB;
BEGIN
v_query := '(Name,Description,Category,Date Created,Price,Discounted Price,Offer Expiration Date)
("AquaPure Water Pitcher", "2-liter BPA-free water pitcher with filter", "Kitchen", "2024-04-12", 34.95, 27.95, "2024-07-01")
("CozyLuxe Throw Blanket", "Ultra-soft microfiber throw blanket (50""x60"")", "Living Room", "2024-03-22", 19.99, None, None)
("SafeStep Bath Mat", "Non-slip bath mat, mildew resistant, gray", "Bathroom", "2024-05-05", 12.50, 9.99, "2024-06-15")
("PowerPlug Extension", "6-outlet surge protector power strip", "Electrical", "2024-01-10", 21.75, None, None)
("FreshGuard Storage Bags", "Set of 20 reusable silicone food storage bags", "Kitchen", "2024-03-17", 15.60, 12.48, "2024-06-10")';
RETURN v_query;
END run_sql;
/
CREATE OR REPLACE FUNCTION email(contents IN CLOB)
RETURN CLOB
IS
BEGIN
DBMS_OUTPUT.PUT_LINE('>>>>>>>> Agent generated:' || CHR(10) ||
contents || CHR(10) ||
'<<<<<<<<<');
RETURN 'Email sent successfully';
END email;
/
DECLARE
l_input_json CLOB;
BEGIN
l_input_json :=
q'[
{
"agents": [],
"component_type": "Agent",
"description": "You are a marketing agent who helps plan campaigns.",
"flows": [],
"id": "1d02da...",
"inputs": [],
"llm_config": {
"component_type": "OCI_CONFIG",
"default_generation_parameters": {
"max_tokens": null,
"temperature": null,
"top_p": null
},
"description": null,
"id": "9e2a1...",
"metadata": {},
"model_id": "gpt-5.5",
"name": "openai/gpt-5.5"
},
"metadata": {},
"name": "Marketing assistant",
"outputs": [],
"system_prompt": "Help the user with tasks around marketing products for their business.",
"tools": [
{
"component_type": "ServerTool",
"description": "Send an email to the current user.",
"id": "9fcc6...",
"inputs": [
{
"title": "content",
"type": "string"
}
],
"metadata": {},
"name": "Email",
"outputs": [
{
"type": "string"
}
]
},
{
"component_type": "ServerTool",
"description": "Generates a SQL query for the given natural language question, runs it, and returns the results.",
"id": "ae1e6...",
"inputs": [
{
"title": "nl_query",
"type": "string"
}
],
"metadata": {},
"name": "run_sql",
"outputs": [
{
"type": "string"
}
]
}
]
}
]';
DBMS_CLOUD_AI_AGENT.IMPORT_TEAM(
profile_name => 'PROFILE_NAME',
team_name => 'TEAM_NAME',
specification => l_input_json
);
END;
/Função GET_DEFINITION
Use a função DBMS_CLOUD_AI_AGENT.GET_DEFINITION para retornar a definição PL/SQL canônica de um objeto de agente do AI existente. A função reconstrói a definição por meio de CREATE_AGENT, CREATE_TOOL, CREATE_TASK ou CREATE_TEAM, de acordo com o tipo de objeto solicitado.
Por padrão, a função retorna apenas o objeto solicitado. Defina depend_objects como true quando a definição de equipe retornada precisar incluir as definições de agente, tarefa e ferramenta dependentes necessárias para recriar a equipe.
Sintaxe
DBMS_CLOUD_AI_AGENT.GET_DEFINITION(
object_type IN VARCHAR2,
object_name IN VARCHAR2,
params IN CLOB DEFAULT NULL
) RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
object_type |
Tipo do objeto a ser exportado. Os valores suportados são AGENT, TASK, TOOL e TEAM. |
object_name |
Nome do agente, tarefa, ferramenta ou equipe cuja definição é retornada. |
params |
Objeto JSON opcional. Chave suportada:
Por padrão, |
Retorna
Retorna um CLOB contendo um ou mais blocos PL/SQL executáveis canônicos. O bloco retornado usa o procedimento create para o tipo de objeto solicitado.
Observações de Uso
- A função retorna definições para objetos pertencentes ao chamador atual. Esquema cruzado ou objetos concedidos ou compartilhados não são incluídos.
- Quando
paramsé omitido oudependent_objectsnão étrue, a saída contém apenas a definição de objeto solicitada. No entanto, ele faz referência a objetos dependentes por nome público, não inclui seus blocos de criação. - Quando
dependent_objectsétrue, a saída inclui a definição do objeto solicitado e as definições dependentes necessárias para recriar a equipe. - A definição retornada preserva o conteúdo JSON estruturado voltado para o usuário e exclui atributos ocultos, metadados de vinculação interna e conteúdo somente para implementação. Os nomes de credenciais públicas podem aparecer quando necessários para recriação; no entanto, os valores de segredo não são retornados.
Exemplo
Retorna uma definição de equipe sem objetos dependentes e, em seguida, retorna a definição de equipe com objetos dependentes.
SELECT DBMS_CLOUD_AI_AGENT.GET_DEFINITION(
object_type => 'TEAM',
object_name => 'TEAM_NAME'
) AS definition
FROM dual;
SELECT DBMS_CLOUD_AI_AGENT.GET_DEFINITION(
object_type => 'TEAM',
object_name => 'TEAM_NAME',
params => '{"dependent_objects": true}'
) AS definition
FROM dual;Procedimento GRANT_TEAM_ACCESS
Conceder a um usuário do banco de dados ou permissão de função para executar uma equipe de agentes.
Sintaxe
PROCEDURE DBMS_CLOUD_AI_AGENT.GRANT_TEAM_ACCESS(
team_name IN VARCHAR2,
user_or_role_name IN VARCHAR2);Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Nome da equipe do agente cujo acesso de execução você deseja compartilhar. Use o nome da equipe armazenado no esquema do proprietário. |
user_or_role_name |
Nome do usuário ou da atribuição do banco de dados que você deseja permitir para executar a equipe compartilhada. |
Observações de Uso
- A concessão aplica-se somente no nível da equipe.
- Somente o proprietário da equipe pode conceder ou revogar o acesso.
- Se um usuário já tiver acesso direto, o proprietário da equipe não precisará conceder acesso novamente.
- Execute uma equipe de esquema cruzado usando um nome qualificado, como
TEAM_OWNER.SHARED_SUPPORT_TEAM. - A concessão permite que o consumidor execute o fluxo de trabalho definido pelo proprietário como uma única unidade.
- A concessão não permite que o consumidor execute, modifique ou receba de forma independente concessões separadas sobre os agentes, tarefas ou ferramentas subjacentes.
- O favorecido não pode ser igual ao usuário da sessão atual.
- Os nomes de usuário e de atribuição do banco de dados compartilham o mesmo namespace para essa concessão de acesso.
- Conceda e revogue o nome de equipe não qualificado do proprietário; PUBLIC não pode ser usado como favorecido.
- O acesso por meio de uma atribuição só funciona enquanto essa atribuição está ativada, inclusive quando o acesso vem de atribuições padrão ou aninhadas.
- As alterações de concessão e revogação entram em vigor quando a chamada de API é concluída.
Exemplo
BEGIN
DBMS_CLOUD_AI_AGENT.GRANT_TEAM_ACCESS(
team_name => 'SHARED_SUPPORT_TEAM',
user_or_role_name => 'TEAM_CONSUMER');
END;
/Procedimento REVOKE_TEAM_ACCESS
Revogue uma concessão de usuário ou atribuição de banco de dados para uma equipe de agentes.
Sintaxe
PROCEDURE DBMS_CLOUD_AI_AGENT.REVOKE_TEAM_ACCESS(
team_name IN VARCHAR2,
user_or_role_name IN VARCHAR2);Parâmetros
| Parâmetro | Descrição |
|---|---|
team_name |
Nome da equipe de agente compartilhada da qual você deseja remover o acesso de execução. |
user_or_role_name |
Nome do usuário ou função do banco de dados cuja permissão para executar a equipe compartilhada que você deseja remover. |
Observações de Uso
- Revogar o acesso impede que o usuário ou a função inicie novas execuções da equipe compartilhada.
- O proprietário da equipe não precisa revogar o acesso de um usuário que não tem acesso direto.
- As alterações de concessão e revogação entram em vigor quando a chamada de API é concluída.
- Revogar o acesso da equipe não encerra um processo que já está em andamento. O processo pode continuar até atingir um estado terminal.
- Depois que o acesso é revogado, o usuário ou a atribuição não pode iniciar um novo processo ou retomar um processo no estado
WAITING_FOR_HUMAN. - Selecione o acesso de verificações de IA sempre que um consumidor definir, executar ou retomar uma equipe.
- Revogar o acesso à equipe não afeta os privilégios separados do consumidor.
- A definição da equipe permanece pertencente e gerenciada pelo esquema do proprietário.
Exemplo
BEGIN
DBMS_CLOUD_AI_AGENT.REVOKE_TEAM_ACCESS(
team_name => 'SHARED_SUPPORT_TEAM',
user_or_role_name => 'TEAM_CONSUMER');
END;
/Função GET_VARIABLE
Leia uma variável de runtime com namespace da sessão atual.
Sintaxe
FUNCTION DBMS_CLOUD_AI_AGENT.GET_VARIABLE(
namespace IN VARCHAR2,
name IN VARCHAR2,
scope IN VARCHAR2 DEFAULT 'ephemeral')
RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
namespace |
Nome do namespace da variável de runtime que contém o valor. Use state_variables para o estado e a transferência da ferramenta, instruction_variables para placeholders de instrução ou attribute_variables para atributos de agente e ferramenta. |
name |
Nome da chave de variável a ser lida no namespace selecionado. |
scope |
Escopo usado ao ler a variável. O valor suportado é ephemeral. Este é o padrão. |
Observações de Uso
GET_VARIABLEretorna NULL quando a chave não é encontrada.- Os valores de runtime informados para
RUN_TEAMtêm precedência sobre os valores definidos porSET_TEAM.
Exemplo
l_profile_name := DBMS_CLOUD_AI_AGENT.GET_VARIABLE(
namespace => 'state_variables',
name => 'llm_profile');Procedimento SET_VARIABLE
Defina uma variável de runtime com namespace para a execução atual.
Sintaxe
PROCEDURE DBMS_CLOUD_AI_AGENT.SET_VARIABLE(
namespace IN VARCHAR2,
name IN VARCHAR2,
value IN CLOB,
scope IN VARCHAR2 DEFAULT 'ephemeral');Parâmetros
| Parâmetro | Descrição |
|---|---|
namespace |
Nome do namespace da variável de runtime no qual definir ou limpar o valor. Use state_variables para o estado e a transferência da ferramenta, instruction_variables para placeholders de instrução ou attribute_variables para atributos de agente e ferramenta. |
name |
Nome da chave de variável a ser definida ou desmarcada. |
value |
Valor CLOB a ser armazenado para a chave. Especifique NULL para limpar a chave do escopo de execução atual. |
scope |
Escopo usado ao definir a variável. O valor suportado é ephemeral. Este é o padrão. |
Observações de Uso
- Use
SET_VARIABLEem uma ferramenta quando uma ferramenta posterior na mesma execução precisar do valor. - Um valor NULL limpa o valor no escopo da chave.
Exemplo
DBMS_CLOUD_AI_AGENT.SET_VARIABLE(
namespace => 'state_variables',
name => 'verified_account_id',
value => 'ACCOUNT_ID');