DBMS_CLOUD_AI Pacote
O pacote DBMS_CLOUD_AI
, com Select AI, facilita e configura a tradução de prompts de linguagem natural para gerar, executar, explicar instruções SQL. Além disso, permite a recuperação de geração aumentada e interações baseadas em linguagem natural, incluindo conversas com LLMs.
- DBMS_CLOUD_AI Visão Geral
Descreve o uso do pacoteDBMS_CLOUD_AI
. - Resumo de Subprogramas DBMS_CLOUD_AI
Esta seção abrange os subprogramasDBMS_CLOUD_AI
fornecidos com o Autonomous Database.
Tópico principal: Referência de Pacote Fornecida pelo Autonomous Database
DBMS_CLOUD_AI Visão Geral
Descreve o uso do pacote DBMS_CLOUD_AI
.
Use o pacote DBMS_CLOUD_AI
para criar perfis do AI e configurá-los para acesso a um LLM (Large Language Model). Defina o perfil do AI na sessão atual do usuário do banco de dados para executar tarefas como gerar, executar e explicar SQL. Além disso, permita a recuperação de geração aumentada e interações baseadas em linguagem natural, incluindo conversas com LLMs.
Para saber mais sobre plataformas e LLMs suportados, consulte Sobre o Select AI.
Tópico principal: Pacote DBMS_CLOUD_AI
Resumo de Subprogramas DBMS_CLOUD_AI
Esta seção abrange os subprogramas DBMS_CLOUD_AI
fornecidos com o Autonomous Database.
Subprograma | Descrição |
---|---|
Esse procedimento cria um novo perfil AI para traduzir prompts de linguagem natural para instruções SQL. |
|
Fornece atributos de perfil do AI que você pode configurar. |
|
Este procedimento desativa um perfil AI no banco de dados atual. |
|
Este procedimento elimina um perfil AI existente. |
|
Este procedimento permite que um perfil AI seja usado no banco de dados atual. |
|
Essa função permite que você use Selecionar AI de maneira sem monitoramento de estado com seu perfil existente. | |
Essa função gera dados sintéticos. |
|
Esta função retorna o nome do perfil usado na sessão atual. |
|
Este procedimento retorna o nome do perfil e o proprietário do perfil na sessão atual. |
|
Este procedimento define atributos de perfil do AI. |
|
Este procedimento define o perfil AI para o banco de dados atual. |
|
Use este procedimento para permitir o envio de dados ao seu LLM. |
|
Use este procedimento para desativar o envio de dados para seu LLM. |
|
Este procedimento cria um índice de vetor no banco de dados de vetor especificado e o preenche com dados de um armazenamento de objetos usando um job de programador assíncrono. |
|
Este procedimento remove um índice de armazenamento de vetores. Ele normalmente remove o objeto de índice de armazenamento de vetores e exclui o banco de dados de vetores. |
|
Este procedimento desativa um objeto de índice de vetor no banco de dados atual. Quando desativado, um perfil do AI não pode usar o índice do vetor e o sistema não carrega dados no armazenamento do vetor. |
|
Este procedimento ativa ou ativa um objeto de índice de vetor desativado anteriormente. |
|
Este procedimento atualiza um índice de armazenamento de vetores existente com um valor especificado do atributo de índice de vetores. |
|
Fornece atributos de perfil de índice vetorial que você pode configurar. |
- Procedimento CREATE_PROFILE
O procedimento cria um novo perfil AI para traduzir prompts de linguagem natural para instrução SQL. - Procedimento DROP_PROFILE
O procedimento elimina um perfil AI existente. Se o perfil não existir, o procedimento gerará um erro. - Procedimento ENABLE_PROFILE
Este procedimento ativa o perfil AI especificado pelo usuário. O procedimento altera o status do perfil AI paraENABLED
. - Procedimento DISABLE_PROFILE
Este procedimento desativa o perfil AI no banco de dados atual. O status do perfil AI é alterado paraDISABLED
por este procedimento. - Função GET_PROFILE
Esta função retorna o nome do perfil AI definido na sessão atual. - Procedimento GET_PROFILE
Esse procedimento retorna o nome do perfil AI e o proprietário definido na sessão atual. - Procedimento SET_ATTRIBUTE
Esse procedimento permite que você defina atributos de perfil do AI. Está sobrecarregado aceitar valores de atributo de vários tipos. - Procedimento SET_PROFILE
Este procedimento define o perfil AI para a sessão atual. - Função GERATE
Essa função fornece tradução de IA de maneira sem monitoramento de estado. Com seu perfil do AI existente, você pode usar essa função para executar as ações suportadas, comoshowsql
,runsql
,explainsql
,narrate
echat
. A ação default éshowsql
. - Função GENERATE_SYNTHETIC_DATA
Use este procedimento para gerar dados sintéticos para uma única tabela, várias tabelas ou um esquema completo. - Atributos de Perfil
Os atributos de um perfil do AI ajudam a gerenciar e configurar o comportamento do perfil do AI. Alguns atributos são opcionais e têm um valor padrão. - Procedimento ENABLE_DATA_ACCESS
Esse procedimento permite o envio de dados ao LLM para recursos Select AI aplicáveis, que é o comportamento padrão. Apenas um administrador pode executar este procedimento. - Procedimento DISABLE_DATA_ACCESS
Este procedimento desativa o envio de dados ao LLM para recursos Select AI aplicáveis. Apenas um administrador pode executar este procedimento. - Procedimento CREATE_VECTOR_INDEX
Esse procedimento cria um índice de vetor no banco de dados de vetor especificado e o preenche com dados de um armazenamento de objetos usando um job de programador assíncrono. - Procedimento DROP_VECTOR_INDEX
Este procedimento remove um índice de armazenamento de vetores. Ele normalmente remove o objeto de índice de armazenamento de vetores e exclui o armazenamento de vetores. Se definido comoFALSE
, o argumentoinclude_data
garantirá que o procedimento só remova o objeto de índice de armazenamento de vetores enquanto mantém o armazenamento de vetores. - Procedimento DISABLE_VECTOR_INDEX
Este procedimento desativa um objeto de índice de vetor no banco de dados atual. Quando desativado, um perfil AI não pode usar o índice do vetor e o sistema não carrega dados no armazenamento do vetor à medida que novos dados são adicionados ao armazenamento de objetos e não executa indexação, pesquisa ou consulta com base no índice. - Procedimento ENABLE_VECTOR_INDEX
Esse procedimento ativa ou ativa um objeto de índice de vetor desativado anteriormente. Geralmente, quando você cria um índice de vetor, por padrão, ele é ativado de forma que o perfil AI possa usá-lo para executar a indexação e a pesquisa. - Procedimento UPDATE_VECTOR_INDEX
Este procedimento atualiza um índice de armazenamento de vetores existente com um valor especificado do atributo de índice de vetores. Está sobrecarregado aceitar valores de atributo de vários tipos. - Atributos de Índice do Vetor
Os atributos de um índice do vetor ajudam a gerenciar e configurar o comportamento do índice do vetor. Você pode adicionar atributos de índice personalizados conforme necessário. Alguns atributos são opcionais e têm um valor padrão.
Tópico principal: Pacote DBMS_CLOUD_AI
Procedimento CREATE_PROFILE
O procedimento cria um novo perfil AI para traduzir prompts de linguagem natural para a instrução SQL.
Sintaxe
DBMS_CLOUD_AI.CREATE_PROFILE
profile_name IN VARCHAR2,
attributes IN CLOB DEFAULT NULL,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Um nome para o perfil AI. O nome do perfil deve seguir as regras de nomenclatura do identificador do Oracle SQL. O tamanho máximo do nome do perfil é de 125 caracteres. Este é um parâmetro obrigatório. |
|
Atributos de perfil no formato JSON. Consulte Atributos de Perfil do AI para obter mais detalhes. O valor default é NULL. |
status |
Status do perfil. O valor default é ativado. |
|
Descrição do perfil AI. O valor default é NULL. |
Exemplo
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE
(
profile_name => 'OpenAI',
attributes => JSON_OBJECT('provider' value 'openai',
'credential_name' value 'openai_cred'),
status => 'enabled',
description => 'AI profile to use OpenAI for SQL translation'
);
END;
/
Procedimento DROP_PROFILE
O procedimento elimina um perfil de IA existente. Se o perfil não existir, o procedimento gerará um erro.
Sintaxe
DBMS_CLOUD_AI.DROP_PROFILE
(
profile_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Nome do perfil AI |
|
Se O valor padrão desse parâmetro é |
Exemplo
BEGIN
DBMS_CLOUD_AI.DROP_PROFILE
(profile_name => 'OPENAI');
END;
/
Observações de Uso
Use force
para eliminar um perfil e ignorar erros se o perfil do AI não existir.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI
Procedimento ENABLE_PROFILE
Este procedimento ativa o perfil AI especificado pelo usuário. O procedimento altera o status do perfil AI para ENABLED
.
Sintaxe
DBMS_CLOUD_AI.ENABLE_PROFILE
(
profile_name IN VARCHAR2
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Nome do perfil AI a ser ativado Este parâmetro é obrigatório. |
Exemplo para Ativar Perfil AI
BEGIN
DBMS_CLOUD_AI.ENABLE_PROFILE
(
profile_name => 'OPENAI'
);
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI
Procedimento DISABLE_PROFILE
Este procedimento desativa o perfil AI no banco de dados atual. O status do perfil AI é alterado para DISABLED
por este procedimento.
Sintaxe
DBMS_CLOUD_AI.DISABLE_PROFILE
(
profile_name IN VARCHAR2
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Nome do perfil AI. Este parâmetro é obrigatório. |
Exemplo
BEGIN
DBMS_CLOUD_AI.DISABLE_PROFILE
(
profile_name => 'OPENAI'
);
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI
Função GET_PROFILE
Esta função retorna o nome do perfil AI definido na sessão atual.
Sintaxe
DBMS_CLOUD_AI.GET_PROFILE
(
profile_name IN VARCHAR2
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Um nome para o perfil AI na sessão atual. Este parâmetro é obrigatório. |
Exemplo
Este exemplo mostra como você pode exibir o nome do perfil na sessão atual.
SELECT DBMS_CLOUD_AI.GET_PROFILE
from DUAL;
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI
Procedimento GET_PROFILE
Este procedimento retorna o nome do perfil AI e o proprietário definido na sessão atual.
Sintaxe
DBMS_CLOUD_AI.GET_PROFILE
(
profile_name OUT VARCHAR2,
profile_owner OUT VARCHAR2
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Um nome para o perfil AI na sessão atual. Este parâmetro é obrigatório. |
profile_owner |
Identifica o proprietário do perfil AI na sessão atual. |
Exemplo
Este exemplo mostra como você pode exibir o nome e o proprietário do perfil na sessão atual.
DECLARE
l_profile_name DBMS_ID;
l_profile_owner DBMS_ID;
BEGIN
DBMS_CLOUD_AI.GET_PROFILE
(profile_name => l_profile_name,
profile_owner => l_profile_owner);
END;
Procedimento SET_ATTRIBUTE
Esse procedimento permite definir atributos de perfil do AI. Está sobrecarregado aceitar valores de atributo de vários tipos.
Sintaxe
DBMS_CLOUD_AI.SET_ATTRIBUTE
(
profile_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN {BOOLEAN|VARCHAR2}
);
DBMS_CLOUD_AI.SET_ATTRIBUTE
(
profile_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN CLOB DEFAULT NULL
);
Parâmetros
Somente o proprietário pode definir ou modificar os atributos do perfil AI. Para obter uma lista de atributos suportados, consulte Atributos de Perfil.
Parâmetro | Descrição |
---|---|
|
Nome do perfil AI para o qual você deseja definir os atributos. Este parâmetro é obrigatório. |
|
Nome do atributo de perfil do AI Este parâmetro é obrigatório. |
|
Valor do atributo de perfil. O valor pode ser do tipo O valor default é NULL. |
Exemplos
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE
(
profile_name => 'OPENAI',
attribute_name => 'credential_name',
attribute_value => 'OPENAI_CRED_NEW'
);
END;
/
O exemplo a seguir aceita o tipo NUMBER
como attribute_value
.
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name => 'OCI_PROFILE',
attribute_name => 'temperature',
attribute_value => 0.5
);
END;
/
O exemplo a seguir aceita o tipo BOOLEAN
como attribute_value
.
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE
(
profile_name => 'OCI_PROFILE',
attribute_name => 'comments',
attribute_value => 'true'
);
END;
/
O exemplo a seguir aceita o tipo VARCHAR2
como attribute_value
.
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE
(
profile_name => 'OCI_PROFILE',
attribute_name => 'model',
attribute_value => 'meta.llama-3.3-70b-instruct'
);
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI
Procedimento SET_PROFILE
Este procedimento define o perfil AI para a sessão atual.
Depois de definir um perfil AI para a sessão do banco de dados, qualquer instrução SQL com o prefixo SELECT AI
será considerada um prompt de linguagem natural. Dependendo da ação especificada com o prefixo AI
, uma resposta é gerada usando o AI. Para usar o prefixo AI
, consulte Exemplos de Uso de Selecionar AI e Usar Palavra-Chave de AI para Informar Prompts. Opcionalmente, é possível substituir os atributos de perfil ou modificar atributos especificando-os no formato JSON. Consulte Procedimento SET_ATTRIBUTE para definir os atributos.
O perfil AI só poderá ser definido para a sessão atual se o proprietário do perfil AI for o usuário da sessão.
Para definir um perfil AI para todas as sessões de um usuário de banco de dados específico ou todas as sessões de usuário no banco de dados, considere o uso de um trigger de evento do banco de dados para o evento AFTER LOGON
no usuário específico ou no banco de dados inteiro. Consulte Instrução CREATE TRIGGER para obter mais detalhes.
Sintaxe
DBMS_CLOUD_AI.SET_PROFILE
(
profile_name IN VARCHAR2,
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Um nome para o perfil AI na sessão atual. Este parâmetro é obrigatório. |
Exemplo
BEGIN
DBMS_CLOUD_AI.SET_PROFILE
(
profile_name => 'OPENAI'
);
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI
GERAR Função
showsql
, runsql
, explainsql
, narrate
e chat
. A ação default é showsql
.
Também é possível substituir alguns ou todos os atributos de perfil usando essa função.
Sintaxe
DBMS_CLOUD_AI.GENERATE
(
prompt IN CLOB,
profile_name IN VARCHAR2 DEFAULT NULL,
action IN VARCHAR2 DEFAULT NULL,
attributes IN CLOB DEFAULT NULL
) RETURN CLOB;
Parâmetros
Parâmetro | Descrição |
---|---|
|
Prompt de linguagem natural para traduzir usando IA. O prompt pode incluir Este parâmetro é obrigatório. |
|
O nome do perfil AI. Esse parâmetro será opcional se um perfil do AI já estiver definido na sessão usando O valor default é NULL. As condições a seguir se aplicam:
Observação
Para o Database Actions, você pode especificar o argumento profile_name em DBMS_CLOUD_AI.GENERATE ou pode executar duas etapas como um script PL/SQL: DBMS_CLOUD_AI.SET_PROFILE e DBMS_CLOUD_AI.GENERATE .
|
action |
Ação para traduzir prompt natural usando IA. As ações suportadas incluem |
attributes |
Substitua atributos de perfil de IA específicos fornecendo atributos no formato JSON. Consulte Atributos de Perfil para obter mais detalhes. |
Exemplos
Os exemplos a seguir ilustram as ações runsql
, showsql
, explainsql
, narrate
e chat
que podem ser usadas com a função DBMS_CLOUD_AI.GENERATE
. Consulte também Usar Palavra-chave AI para Informar Prompts para obter mais detalhes.
Um exemplo com a ação runsql
é o seguinte:
SELECT DBMS_CLOUD_AI.GENERATE
(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'runsql)
FROM dual;
Este é um exemplo com a ação showsql
:
SELECT DBMS_CLOUD_AI.GENERATE
(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'showsql')
FROM dual;
Um exemplo com a ação explainsql
é o seguinte:
SELECT DBMS_CLOUD_AI.GENERATE
(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'explainsql)
FROM dual;
Este é um exemplo com a ação narrate
:
SELECT DBMS_CLOUD_AI.GENERATE
(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'narrate')
FROM dual;
Este é um exemplo com a ação chat
:
SELECT DBMS_CLOUD_AI.GENERATE
(prompt => 'what is oracle autonomous database',
profile_name => 'OPENAI',
action => 'chat')
FROM dual;
Você pode usar DBMS_CLOUD_AI.GENERATE
em um procedimento e executar a função. O exemplo a seguir usa ai_prompt
, profile_name
e action
como parâmetros de entrada e chama DBMS_CLOUD_AI.GENERATE
create or replace FUNCTION call_select_ai (ai_prompt IN VARCHAR2,
ai_profile IN VARCHAR2,
ai_action IN VARCHAR2) -- valid for 'chat', 'narrate', 'showsql'
RETURN CLOB AS sai_resp clob;
BEGIN
sai_resp := DBMS_CLOUD_AI.GENERATE(prompt => ai_prompt,
profile_name => ai_profile,
action => ai_action);
return(sai_resp);
END call_select_ai;
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI
Função GENERATE_SYNTHETIC_DATA
A sintaxe a seguir é usada para gerar dados sintéticos para uma única tabela.
Sintaxe
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA
(
profile_name IN VARCHAR2,
object_name IN DBMS_ID,
owner_name IN DBMS_ID,
record_count IN NUMBER,
user_prompt IN CLOB DEFAULT NULL,
params IN CLOB DEFAULT NULL
);
A sintaxe a seguir é usada para gerar dados sintéticos para várias tabelas.
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name IN VARCHAR2,
object_list IN CLOB,
params IN CLOB DEFAULT NULL
);
Se você não quiser que os dados da tabela ou os documentos de pesquisa de vetores sejam enviados a um LLM, um usuário com privilégios de administrador poderá desativar esse acesso para todos os usuários do banco de dados fornecido. Isso, na verdade, desativa a ação narrate
.
Parâmetros
Parâmetro | Obrigatório | Descrição |
---|---|---|
|
Sim |
O perfil AI contendo as informações de serviço LLM necessárias. Isso pode ser criado pelo Procedimento CREATE_PROFILE. |
|
Sim | Especifique um nome de tabela para preencher dados sintéticos.
|
owner_name |
Número |
Especifique o usuário do banco de dados que possui o objeto referenciado. Se nenhum proprietário específico for fornecido, o procedimento assumirá como padrão o uso do esquema do usuário que o executa. |
record_count |
Número |
O número de registros a serem gerados sinteticamente. |
|
Número | Informações adicionais que um usuário pode mencionar para gerar dados sintéticos. Por exemplo, para gerar um registro para uma tabela chamada MOVIE com uma coluna release_date , o user_prompt pode ser:
a data de lançamento dos filmes deve ser em 2019 |
|
Número |
Atributos opcionais fornecidos no formato de string de objeto JSON para modificar o comportamento de uma API. Consulte Parâmetros Opcionais. |
|
Sim | Use esse parâmetro para gerar dados sintéticos em várias tabelas. Esse parâmetro usa as informações do objeto da tabela juntamente com seus argumentos e contém os mesmos argumentos fornecidos na tabela única. Consulte object_list Parâmetros. |
Parâmetros Opcionais
Parâmetro | Tipo de Dados do Valor | Valor | Descrição |
---|---|---|---|
|
Número |
|
Especifique o número de linhas da tabela a serem usadas como amostra para orientar o LLM na geração de dados. O valor 0 significa que nenhuma linha de amostra será usada. O valor padrão é |
|
Boolean |
|
Ativar ou desativar o uso de informações de estatísticas da tabela. O valor default é |
|
String |
Valores válidos:
|
Atribua um valor de prioridade que defina o número de solicitações paralelas enviadas ao LLM para gerar dados sintéticos. Tarefas com prioridade mais alta consumirão mais recursos de banco de dados e serão concluídas mais rapidamente. O valor default é
O número máximo de processos paralelos simultâneos usados para geração de dados sintéticos é limitado a 64. |
|
Boolean |
|
Ative ou desative o envio de comentários ao LLM para orientar a geração de dados. O valor default é |
Parâmetros object_list
Parâmetro | Tipo de Dados do Valor | Obrigatório | Descrição |
---|---|---|---|
|
String |
Sim |
Especifica o usuário do banco de dados que possui o objeto que está sendo referenciado. Se nenhum proprietário específico for fornecido, o procedimento usará como padrão o esquema do usuário que o está executando. |
|
String |
Número |
Especifique um nome de tabela para preencher dados sintéticos. Os privilégios SELECT e INSERT nos objetos de tabela são necessários para que o usuário que usa a tabela it.The esteja vazio ou tenha registros nela.
|
|
Número |
Número |
O número de registros a serem gerados sinteticamente. Forneça um número maior que 0. Forneça |
|
Número |
Número |
A porcentagem do número de registros a serem gerados sinteticamente. Forneça um número maior que 0. Para um banco de dados Clone de Metadados, em que os metadados da tabela, incluindo estatísticas, são preservados, o parâmetro Forneça Ao usar o parâmetro
record_count_percentage , a contagem final de registros na tabela é calculada como:
|
|
String | Número | O mesmo que user_prompt em Parâmetros. O user_prompt está associado a um objeto de tabela específico.
|
Exemplos
Os exemplos a seguir mostram a função DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA
para gerar dados sintéticos para uma única tabela e várias tabelas. Para obter um exemplo completo e exibir mais exemplos, consulte Exemplo: Gerar Dados Sintéticos.
BEGIN
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name => 'GENAI',
object_name => 'Director',
owner_name => 'ADB_USER',
record_count => 5
);
END;
/
PL/SQL procedure successfully completed.
BEGIN
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name => 'GENAI',
object_list => '[{"owner": "ADB_USER", "name": "Director","record_count":5},
{"owner": "ADB_USER", "name": "Movie_Actor","record_count":5},
{"owner": "ADB_USER", "name": "Actor","record_count":10},
{"owner": "ADB_USER", "name": "Movie","record_count":5,"user_prompt":"all movies are released in 2009"}]'
);
END;
/
PL/SQL procedure successfully completed.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI
Atributos de Perfil
Atributos
Nome do Atributo | Descrição |
---|---|
|
Fornece metadados adicionais sobre suas tabelas e colunas de banco de dados usando o recurso de anotações 23ai. Os valores inválidos são
|
|
Nome do modelo implantado do Serviço OpenAI do Azure. O nome só pode incluir caracteres alfanuméricos, sublinhado (_) e hífen (-). O nome não pode terminar com um sublinhado (_) ou um hífen (-). Para saber como obter o |
|
Nome do modelo de incorporação implantado OpenAI do Azure. O nome só pode incluir caracteres alfanuméricos, sublinhado e hífen. O nome não pode começar ou terminar com um hífen ou sublinhado. |
|
Nome do recurso de Serviço OpenAI do Azure. O nome do recurso só pode incluir caracteres alfanuméricos e hifens e não pode iniciar ou terminar com um hífen. Para saber como obter o |
|
Especifica se Selecionar IA deve instruir o LLM a gerar SQL sem distinção entre maiúsculas e minúsculas para colunas que contenham string ou valores de texto. Os valores suportados são:
O valor padrão é |
|
Inclui comentários em nível de tabela e comentários de coluna nos metadados usados para traduzir prompts de linguagem natural usando o AI. O tipo de dados Observação
Para o procedimento DBMS_CLOUD_AI.SET_ATTRIBUTE , ao definir um único atributo, forneça o parâmetro attribute_value como uma string ('verdadeiro' ou 'falso') porque o parâmetro attribute_value é do tipo de dados CLOB .
|
|
Gerencia se deseja incluir restrições de integridade referencial, como chaves primárias e estrangeiras, nos metadados enviados ao LLM. Os valores inválidos são
|
|
Um atributo |
|
O nome da credencial para acessar as APIs do provedor de IA. A credencial usando tokens de portador pode ser criada usando o nome do provedor como o nome do usuário e o token do portador como a senha. As credenciais do Segredo do Vault também são suportadas. A autenticação principal, por exemplo, o controlador de serviços do Azure, também é suportada. Para obter mais informações sobre como configurá-lo, consulte Usar o Controlador de Serviços do Azure para Acessar Recursos do Azure. É um atributo obrigatório. Consulte CREATE_CREDENTIAL Procedure. |
|
O modelo de incorporação definido no perfil AI. Veja a seguir os provedores de IA suportados para incorporar modelos com seus valores padrão:
Observação
|
|
Especifica se o LLM deve ser restrito para gerar SQL que use apenas tabelas cobertas pela lista de objetos. Os valores compatíveis são:
Os Valores não diferenciam maiúsculas e minúsculas. O valor padrão é |
|
Denota o número de tokens a serem previstos por geração. O default é 1024. Consulte Tokens e Tokenizers para obter mais detalhes. |
|
O nome do modelo de IA que está sendo usado para gerar respostas. Consulte Selecionar seu Provedor de IA e LLMs e especifique o nome do modelo. Observação
|
|
Matriz de objetos JSON que especificam o proprietário e os nomes de objetos elegíveis para tradução de linguagem natural para SQL. Para incluir todos os objetos de um determinado usuário, omita o "nome" e especifique apenas a chave "proprietário" no objeto JSON. Os seguintes tipos de objetos podem ser usados:
Para tradução da linguagem natural para SQL, o nome do objeto, o proprietário do objeto, as colunas do objeto e os comentários são enviados ao provedor de IA usando solicitações HTTPS. Evite especificar objetos com nome de objeto confidencial, nomes de coluna ou comentários na lista de objetos. Os provedores de IA podem ter limite no tamanho dos metadados permitidos nas solicitações de tradução. Considere limitar a lista de objetos adequados aos prompts de linguagem natural pelos usuários do aplicativo. Formato:
As tabelas externas criadas usando a sincronização do OCI Data Catalog ou AWS Glue também podem ser usadas na lista de objetos. Isso ajuda no gerenciamento de metadados em Catálogos de Dados centrais e usa os metadados diretamente para traduzir prompts de linguagem natural usando IA. |
|
Especifica se os metadados das tabelas mais relevantes ou todas as tabelas devem ser enviados ao LLM. Os valores suportados são:
Quando |
|
Especifica o formato no qual a API espera que os dados sejam enviados e recebidos. Use este atributo para gerar respostas de texto. Este atributo se aplica aos Modelos de Chat da OCI Generative AI em um cluster de IA dedicado. Especifique esse atributo quando especificar um OCID de modelo no atributo Os valores suportados são:
|
|
Especifica o OCID do compartimento que você tem permissão para acessar ao chamar o serviço de IA Generativa do OCI. O ID do compartimento pode conter caracteres alfanuméricos, hifens e pontos. O padrão é o ID do compartimento do PDB. |
|
Esses atributos indicam o OCID do ponto final do cluster de hospedagem dedicado do AI da Oracle. O ID do ponto final pode conter caracteres alfanuméricos, hifens e pontos. Para localizar o OCID do ponto final, consulte Obtendo Detalhes de um Ponto Final em IA Generativa. Quando quiser usar o cluster do AI dedicado da Oracle, forneça o OCID do ponto final do cluster de hospedagem. Por padrão, o ID do ponto final está vazio e o modelo é sob demanda em uma infraestrutura compartilhada. |
|
Este atributo indica o tipo de runtime do modelo fornecido. Este atributo é aplicável aos modelos Gerar Texto do OCI em um cluster de IA dedicado. Especifique esse atributo quando especificar um OCID de modelo no atributo Todos os valores permitidos podem ser encontrados no OCI Generative AI runtimeType. Consulte LlmInferenceRequest Referência. Os valores compatíveis são:
Observação
Este atributo está obsoleto. Use oci_apiformat .
|
|
Provedor de IA para o perfil de IA. Provedores suportados:
É um atributo obrigatório. |
|
Este atributo indica o local do cluster de IA Generativa que você deseja usar. A região pode conter caracteres alfanuméricos e hífen.
Observação
A região padrão é O cluster do Oracle Generative AI está disponível nas regiões de Chicago, Frankfurt e Londres. Consulte Modelos Fundamentais Pré-treinados no Serviço Generative AI. us-chicago-1 .
|
|
O texto gerado será encerrado no início da sequência de parada mais antiga. A sequência será incorporada ao texto. O valor do atributo deve ser um array válido de valores de string no formato JSON. |
|
A amostragem dos modelos Gerar Texto incorpora aleatoriedade, de modo que o mesmo prompt pode gerar saídas diferentes toda vez que você clicar em "gerar". A temperatura é um número flutuante não negativo usado para ajustar o grau de aleatoriedade. Temperaturas mais baixas significam gerações menos aleatórias. Consulte Temperatura para obter mais detalhes. Esse parâmetro é aplicável a todos os provedores de serviços suportados. |
|
Nome do índice do vetor. O nome do índice do vetor deve seguir as regras de nomenclatura do identificador do Oracle SQL. O tamanho máximo do nome do armazenamento de vetores é de 125 caracteres. |
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE
(
profile_name => 'COHERE',
attributes =>
'{"provider": "cohere",
"credential_name": "COHERE_CRED",
"object_list": [{"owner": "ADB_USER"}],
"max_tokens":512,
"stop_tokens": [";"],
"model": "command-nightly",
"temperature": 0.5,
"comments": true
}');
END;
/
O exemplo a seguir mostra atributos de perfil personalizados usando o OCI Generative AI:
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE
(
profile_name => 'GENAI',
attributes => '{"provider": "oci",
"credential_name": "GENAI_CRED",
"object_list": [{"owner": "SH", "name": "customers"},
{"owner": "SH", "name": "countries"},
{"owner": "SH", "name": "supplementary_demographics"},
{"owner": "SH", "name": "profits"},
{"owner": "SH", "name": "promotions"},
{"owner": "SH", "name": "products"}],
"oci_compartment_id": "ocid1.compartment.oc1...",
"oci_endpoint_id": "ocid1.generativeaiendpoint.oc1.us-chicago-1....",
"region": "us-chicago-1",
"model": "cohere.command-light",
"oci_apiformat": "COHERE"
}');
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI
Procedimento ENABLE_DATA_ACCESS
Esse procedimento permite o envio de dados ao LLM para recursos Select AI aplicáveis, que é o comportamento padrão. Apenas um administrador pode executar este procedimento.
Este procedimento controla o acesso aos dados para os seguintes recursos Selecionar AI:
- Ação
narrate
- Geração Aumentada de Recuperação (RAG)
- Geração de Dados Sintéticos
Sintaxe
DBMS_CLOUD_AI.ENABLE_DATA_ACCESS
();
Parâmetros
Este procedimento não requer parâmetros.
Exemplo para Ativar o Acesso a Dados
BEGIN
DBMS_CLOUD_AI.ENABLE_DATA_ACCESS
();
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI
Procedimento DISABLE_DATA_ACCESS
Este procedimento desativa o envio de dados ao LLM para recursos Select AI aplicáveis. Apenas um administrador pode executar este procedimento.
Este procedimento limita os seguintes recursos Selecionar AI:
- Ação
narrate
- Geração Aumentada de Recuperação (RAG)
- Geração de Dados Sintéticos
Sintaxe
DBMS_CLOUD_AI.DISABLE_DATA_ACCESS
();
Parâmetros
Este procedimento não requer parâmetros.
Exemplo para Desativar o Acesso a Dados
BEGIN
DBMS_CLOUD_AI.DISABLE_DATA_ACCESS
();
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI
Procedimento CREATE_VECTOR_INDEX
Este procedimento cria um índice de vetor no banco de dados de vetor especificado e o preenche com dados de um armazenamento de objetos usando um job de programador assíncrono.
Sintaxe
PROCEDURE CREATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attributes IN CLOB DEFAULT NULL,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Nome do índice do vetor. O nome do índice do vetor deve seguir as regras de nomenclatura do identificador do Oracle SQL. O tamanho máximo do nome do armazenamento de vetores é de 125 caracteres. Este é um parâmetro obrigatório. |
|
Atributos personalizados para o índice do vetor em JSON. Para ver uma lista de parâmetros configuráveis, consulte Atributos de Índice de Vetor. O valor default é NULL. |
status |
Status do índice do vetor. Os valores possíveis são:
O valor padrão é Desabilitado. |
|
Descrição do índice do vetor. O valor default é NULL. |
Exemplo
O exemplo a seguir demonstra como criar um índice de vetor e configurar os atributos como parâmetros JSON.
BEGIN
DBMS_CLOUD_AI.CREATE_VECTOR_INDEX
(
index_name => 'MY_INDEX'
attributes => JSON_OBJECT(
'vector_db_provider' value 'oracle',
'vector_table_name' value 'oracle_mycollection',
'profile_name' value 'OCIGENAI',
'location' value
'https://objectstorage.us-phoenix-1.' ||
'oraclecloud.com/n/mynamespace/b/mybucket',
'object_store_credential_name' value 'OS_CRED',
'chunk_size' value 2048,
'chunk_overlap' value 256,
'refresh_rate' value 720)
);
END;
/
Procedimento DROP_VECTOR_INDEX
Este procedimento remove um índice de armazenamento de vetores. Ele normalmente remove o objeto de índice de armazenamento de vetores e exclui o armazenamento de vetores. Se definido como FALSE
, o argumento include_data
garantirá que o procedimento só remova o objeto de índice de armazenamento de vetores enquanto mantém o armazenamento de vetores.
Sintaxe
PROCEDURE DROP_VECTOR_INDEX(
index_name IN VARCHAR2,
include_data IN BOOLEAN DEFAULT TRUE,
force IN BOOLEAN DEFAULT FALSE
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Nome do índice do vetor. O nome do índice do vetor deve seguir as regras de nomenclatura do identificador do Oracle SQL. O tamanho máximo do nome do armazenamento de vetores é de 125 caracteres. Este é um parâmetro obrigatório. |
|
Indica se excluirá o armazenamento de vetores e o índice de vetores do cliente junto com o objeto de índice de vetores. Valores possíveis:
O valor padrão é |
force |
Indica se os erros que ocorrem devem ser ignorados se o índice do vetor não existir. Valores possíveis:
Se definido como O valor padrão é |
Exemplo
BEGIN
DBMS_CLOUD_AI.DROP_VECTOR_INDEX(
index_name => 'MY_INDEX',
include_data => FALSE,
force => TRUE
);
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI
Procedimento DISABLE_VECTOR_INDEX
Este procedimento desativa um objeto de índice de vetor no banco de dados atual. Quando desativado, um perfil AI não pode usar o índice do vetor e o sistema não carrega dados no armazenamento do vetor à medida que novos dados são adicionados ao armazenamento de objetos e não executa indexação, pesquisa ou consulta com base no índice.
Sintaxe
DBMS_CLOUD_AI.DISABLE_VECTOR_INDEX
(
index_name IN VARCHAR2
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Nome do índice do vetor. O nome do índice do vetor deve seguir as regras de nomenclatura do identificador do Oracle SQL. O tamanho máximo do nome do armazenamento de vetores é de 125 caracteres. Este é um parâmetro obrigatório. |
Exemplo
Você pode desativar um índice de vetor fornecendo o nome do índice de vetor.
BEGIN
DBMS_CLOUD_AI.DISABLE_VECTOR_INDEX
(index_name => 'MY_INDEX');
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI
Procedimento ENABLE_VECTOR_INDEX
Este procedimento ativa ou ativa um objeto de índice de vetor desativado anteriormente. Geralmente, quando você cria um índice de vetor, por padrão, ele é ativado de forma que o perfil AI possa usá-lo para executar a indexação e a pesquisa.
Quando ativado, um índice de vetor permite que um perfil AI o use para carregar novos dados de um armazenamento de objetos em um armazenamento de vetor em uma taxa de atualização especificada pelo usuário. Você pode especificar o parâmetro refresh_rate
por meio da lista de objetos JSON. Para configurar os atributos JSON, consulte Atributos de Índice de Vetor.
Sintaxe
DBMS_CLOUD_AI.ENABLE_VECTOR_INDEX
(
index_name IN VARCHAR2
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Nome do índice do vetor. O nome do índice do vetor deve seguir as regras de nomenclatura do identificador do Oracle SQL. O tamanho máximo do nome do armazenamento de vetores é de 125 caracteres. Este é um parâmetro obrigatório. |
Exemplo
Você pode ativar ou ativar um índice de vetor especificando o nome do índice de vetor da seguinte forma:
BEGIN
DBMS_CLOUD_AI.ENABLE_VECTOR_INDEX
(index_name => 'MY_INDEX');
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI
Procedimento UPDATE_VECTOR_INDEX
Este procedimento atualiza um índice de armazenamento de vetores existente com um valor especificado do atributo de índice de vetores. Está sobrecarregado aceitar valores de atributo de vários tipos.
Sintaxe
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX
(
index_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN VARCHAR2
);
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX
(
index_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN CLOB DEFAULT NULL
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Nome do índice do vetor. O nome do índice do vetor deve seguir as regras de nomenclatura do identificador do Oracle SQL. O tamanho máximo do nome do armazenamento de vetores é de 125 caracteres. Este é um parâmetro obrigatório. |
|
Nome dos atributos personalizados especificados como parâmetros JSON no procedimento Não é possível modificar os seguintes atributos:
Este é um parâmetro obrigatório. |
attribute_value |
Valor especificado pelo usuário para o O valor default é NULL. |
Exemplo
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX
(
index_name => 'MY_INDEX',
attribute_name => 'object_storage_credential_name',
attribute_value => 'NEW_CRED'
);
END;
/
O exemplo a seguir aceita o tipo NUMBER
como attribute_value
.
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX
(
index_name => 'MY_INDEX',
attribute_name => 'match_limit',
attribute_value => 10
);
END;
/
O exemplo a seguir aceita o tipo VARCHAR2
como attribute_value
.
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX
(
index_name => 'MY_INDEX',
attribute_name => 'profile_name',
attribute_value => 'AI_PROF2'
);
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI
Atributos de Índice do Vetor
Atributos
Nome do Atributo | Valor | Obrigatório | Descrição |
---|---|---|---|
chunk_size |
1024 (padrão)
|
Número |
Tamanho do texto da divisão em blocos dos dados de entrada. Para dados de texto, isso significa o número de caracteres. |
chunk_overlap |
128 (padrão)
|
Número |
Especifica a quantidade de caracteres sobrepostos entre partes adjacentes do texto. Esse atributo é útil para garantir continuidade contextual e precisão no processamento de texto, permitindo sobreposições entre segmentos, o que ajuda a evitar a perda de informações contextuais nos limites do bloco. |
|
N/A | Sim |
Local do armazenamento de objeto. Os arquivos neste local podem ser documentos em formatos como PDF, DOC, JSON, XML ou HTML. Consulte Formatos de Documento Suportados. |
|
5 (padrão)
|
Número |
Especifica o número máximo de resultados a serem retornados em uma consulta de pesquisa de vetor, controlando o tamanho da saída e melhorando a eficiência das operações de recuperação de dados. |
|
N/A | Sim |
Especifica o nome das credenciais para acessar um armazenamento de objetos. |
|
<vector_index_name>$VECPIPELINE |
Número |
Especifica o nome do pipeline de carregamento de dados do índice do vetor. Este atributo é definido automaticamente para o índice do vetor; não é possível especificar ou modificar. O nome do pipeline pode ser usado para monitorar a carga de dados do índice do vetor usando Monitorar e Solucionar Problemas de Pipelines. |
|
N/A | Sim |
Nome do perfil AI usado para incorporar dados de origem e prompts do usuário. |
|
1440 minutos (padrão)
|
Número |
Intervalo de atualização de dados no armazenamento de vetores. A unidade é de minutos. |
|
0 (padrão)
|
Número |
Define o nível mínimo de similaridade necessário para que dois itens sejam considerados uma correspondência, útil para filtrar resultados em algoritmos de correspondência para garantir a relevância. |
|
Uma string correspondente a um dos valores especificados na descrição. |
Número |
Especifica o tipo de cálculo de distância usado para comparar vetores em um banco de dados, determinando como a similaridade entre itens é quantificada. Valores válidos para o Oracle 23ai:
|
|
|
Sim |
Especifica o nome do provedor que gerencia e serve como armazenamento de vetores. |
|
N/A | Número |
Especifica o número de elementos em cada vetor dentro do armazenamento de vetores, definindo o tamanho e a estrutura da representação de dados. |
|
|
Número |
Especifica o nome da tabela ou coleção para armazenar incorporações de vetores e dados divididos. |
BEGIN
DBMS_CLOUD_AI.CREATE_VECTOR_INDEX
(
index_name => 'MY_INDEX',
attributes => '{"vector_db_provider": "oracle",
"location": "https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/my_namespace/my_bucket/my_data_folder",
"object_storage_credential_name": "OCI_CRED",
"profile_name": "OPENAI_ORACLE",
"vector_dimension": 1024,
"vector_distance_metric": "cosine",
"chunk_overlap":128,
"chunk_size":1024
}');
END;
/
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_AI