Selecionar IA com Geração Aumentada de Recuperação (RAG)

A seleção de IA com RAG aumenta seu prompt de linguagem natural recuperando conteúdo do armazenamento de vetores especificado usando a pesquisa de similaridade semântica. Isso reduz as alucinações usando seu conteúdo específico e atualizado e fornece respostas em linguagem natural mais relevantes aos seus prompts.

O Select AI automatiza o processo de Geração Aumentada de Recuperação (RAG). Essa técnica recupera dados de origens empresariais usando a pesquisa vetorial de IA e aumenta os prompts do usuário para seu modelo de linguagem grande (LLM) especificado. Ao aproveitar as informações dos armazenamentos de dados corporativos, a RAG reduz as alucinações e gera respostas fundamentadas.

O RAG usa a pesquisa vetorial de IA em um índice vetorial para encontrar dados semanticamente semelhantes para a pergunta especificada. O armazenamento de vetores processa incorporações de vetores, que são representações matemáticas de vários pontos de dados, como texto, imagens e áudio. Essas incorporações capturam o significado dos dados, permitindo o processamento e a análise eficientes. Para obter mais detalhes sobre incorporações de vetores e pesquisa de vetores de IA, consulte Visão Geral do AI Vector Search.

A Select AI se integra à pesquisa de vetores de IA disponível no Oracle Autonomous AI Database 26ai para pesquisa de similaridade usando incorporações de vetores.

Tópicos

Benefícios do Select AI RAG

Simplifique a consulta, aumente a precisão da resposta com os dados atuais e obtenha transparência revisando as fontes usadas pelo LLM.

Selecionar AI RAG oferece os seguintes benefícios:
  • Simplifique a consulta de dados e aumente a precisão das respostas: Permita que os usuários consultem dados corporativos usando linguagem natural e forneça aos LLMs um contexto detalhado dos dados corporativos para gerar respostas mais precisas e relevantes, reduzindo as instâncias de alucinações do LLM.

  • Informações atualizadas: Forneça aos LLMs acesso às informações atuais da empresa usando armazenamentos de vetores, eliminando a necessidade de ajuste fino caro e demorado de LLMs treinados em conjuntos de dados estáticos.

  • Integração perfeita: Integre-se ao Oracle AI Vector Search para um tratamento de dados simplificado e desempenho aprimorado.

  • Orquestração de dados automatizada: automatize as etapas de orquestração com um pipeline de Índice de Vetores totalmente gerenciado, garantindo o processamento eficiente de novos dados.

  • Resultados contextuais compreensíveis: Tem acesso e recupera as fontes usadas pelo LLM de armazenamentos de vetores, garantindo transparência e confiança nos resultados. Exibe e extrai dados em texto em linguagem natural ou formato JSON para facilitar a integração e o desenvolvimento de aplicativos.

Construa sua loja de vetores

O Select AI automatiza a criação e o preenchimento do armazenamento de vetores convertendo documentos de entrada (por exemplo, PDF, DOC, JSON, XML ou HTML) do seu armazenamento de objetos em texto sem formatação. O Oracle Text suporta cerca de 150 tipos de arquivo. Para obter uma lista completa de todos os formatos de documento suportados, consulte Formatos de Documento Suportados.

A Select AI processa automaticamente documentos em blocos, gera incorporações, os armazena no armazenamento de vetores especificado e atualiza o índice vetorial à medida que novos dados chegam.

Veja como a entrada do Object Storage é usada com o Select AI RAG:

  1. Entrada: Os dados são inicialmente armazenados em um Object Storage.
  2. O Oracle Autonomous Database recupera os dados de entrada ou o documento, os divide e envia os blocos para um modelo de incorporação.
  3. O modelo de incorporação processa os dados de chunk e retorna incorporações de vetores.
  4. As incorporações de vetores são então armazenadas em um armazenamento de vetores para uso com RAG. À medida que o conteúdo é adicionado, o índice vetorial é atualizado automaticamente.

O RAG recupera informações relevantes do banco de dados empresarial para responder à pergunta de um usuário. Essas informações são fornecidas ao modelo de idioma grande especificado juntamente com o prompt do usuário. A Select AI usa essas informações empresariais adicionais para aprimorar o prompt, melhorando a resposta do LLM. O RAG pode melhorar a qualidade da resposta com informações empresariais atualizadas do armazenamento de vetores.



Selecione AI implementa RAG da seguinte forma:
  1. Entrada: O usuário faz uma pergunta (especifica um prompt) usando a ação Selecionar AI narrate.

  2. O Select AI gera incorporações vetoriais do prompt usando o modelo de incorporação especificado no perfil do AI.

  3. O índice de pesquisa vetorial usa a incorporação vetorial da pergunta para encontrar o conteúdo correspondente dos dados corporativos do cliente (pesquisando o armazenamento de vetores) que foi indexado.

  4. A pesquisa vetorial retorna os principais textos K semelhantes à entrada da sua instância do Autonomous AI Database.
  5. O Autonomous AI Database envia esses principais resultados de consulta K com a pergunta do usuário para o LLM.
  6. O LLM retorna sua resposta à sua instância do Autonomous AI Database.
  7. O Autonomous AI Database Select AI fornece a resposta ao usuário.

Usar DBMS_CLOUD_AI para Criar e Gerenciar Índices Vetores

Use o pacote DBMS_CLOUD_AI para criar e gerenciar índices vetoriais e configurar parâmetros JSON do banco de dados vetorial.

Depois de criar credenciais e fornecer acesso de rede ao banco de dados vetorial e ao provedor de IA, sua instância do Autonomous AI Database usa perfis de IA para configurar o acesso aos LLMs. Consulte Exemplo: Configurar e Usar o Select AI com RAG para obter um exemplo completo sobre como configurá-lo e usá-lo nas instruções Select AI.

Observação:

Se você não quiser que os dados da tabela ou os documentos de pesquisa vetorial sejam enviados para 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 para RAG.

Você pode configurar perfis de IA para provedores listados no por meio do pacote DBMS_CLOUD_AI.

Veja Também:

Usar Modelos de Transformador no Banco de Dados

Selecionar AI RAG permite que você use modelos de transformadores ONNX pré-treinados que são importados para seu banco de dados na instância do Oracle Database 23ai para gerar vetores de incorporação de blocos de documentos e prompts do usuário.

Observação:

Você deve importar um modelo de transformador de formato ONNX pré-treinado para a instância do Oracle Database 23ai para usar o Select AI RAG com o modelo de transformador importado no banco de dados. Você também pode usar outros modelos de transformador de provedores de IA suportados.

Consulte Exemplo: Selecionar IA com Modelos de Transformador no Banco de Dados para explorar o recurso.

Exemplo: Configurar e Usar o Select AI com RAG

Este exemplo o orienta na configuração de credenciais, na configuração do acesso à rede e na criação de um índice vetorial para integrar os serviços de nuvem de armazenamento de vetores do OCI Generative AI com o OpenAI usando o Oracle Autonomous AI Database.

A configuração termina com a criação de um perfil de IA que usa o índice vetorial para aprimorar as respostas do LLM. Por fim, este exemplo usa a ação Selecionar AI narrate, que retorna uma resposta que foi aprimorada usando informações do banco de dados vetorial especificado.

O exemplo a seguir demonstra como criar e consultar o índice vetorial no Oracle Database 23ai.

--Grants EXECUTE privilege to ADB_USER
GRANT EXECUTE on DBMS_CLOUD_AI to ADB_USER; 

--Grants EXECUTE privilege DBMS_CLOUD_PIPELINE to ADB_USER
GRANT EXECUTE on DBMS_CLOUD_PIPELINE to ADB_USER;

-- Create the OpenAI credential
BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'OPENAI_CRED',
        username => 'OPENAI_CRED',
        password => '<your_api_key>'
      );
END;
/

PL/SQL procedure successfully completed.

 -- Append the OpenAI endpoint
BEGIN
        DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
             host => 'api.openai.com',
             ace  => xs$ace_type(privilege_list => xs$name_list('http'),
                     principal_name => 'ADB_USER',
                     principal_type => xs_acl.ptype_db)
       );
END;
/

PL/SQL procedure successfully completed.

 
-- Create the object store credential
BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'OCI_CRED',
        username => '<your_username>',
        password => '<OCI_profile_password>'
      );
END;
/

PL/SQL procedure successfully completed.

 -- Create the profile with the vector index.

BEGIN
      DBMS_CLOUD_AI.CREATE_PROFILE(
          profile_name =>'OPENAI_ORACLE',
          attributes   =>'{"provider": "openai",
            "credential_name": "OPENAI_CRED",
            "vector_index_name": "MY_INDEX",
            "temperature": 0.2,
            "max_tokens": 4096,
            "model": "gpt-3.5-turbo-1106"
          }');
END;
/

PL/SQL procedure successfully completed.

-- Set profile
EXEC DBMS_CLOUD_AI.SET_PROFILE('OPENAI_ORACLE');

PL/SQL procedure successfully completed.                                            
 
-- create a vector index with the vector store name, object store location and
-- object store credential
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": 1536,
                          "vector_distance_metric": "cosine",
                          "chunk_overlap":128,
                          "chunk_size":1024
      }');
END;
/
PL/SQL procedure successfully completed.  
                                                                                
-- After the vector index is populated, we can now query the index.




-- Set profile
EXEC DBMS_CLOUD_AI.SET_PROFILE('OPENAI_ORACLE');

PL/SQL procedure successfully completed.

-- Select AI answers the question with the knowledge available in the vector database.

set pages 1000
set linesize 150
SELECT AI narrate how can I deploy an oracle machine learning model;
RESPONSE                                                  
To deploy an Oracle Machine Learning model, you would first build your model within the Oracle database. Once your in-database models are built, they become immediately available for use, for instance, through a SQL query using the prediction operators built into the SQL language. 

The model scoring, like model building, occurs directly in the database, eliminating the need for a separate engine or environment within which the model and corresponding algorithm code operate. You can also use models from a different schema (user account) if the appropriate permissions are in place.

Sources:
  - Manage-your-models-with-Oracle-Machine-Learning-on-Autonomous-Database.txt (https://objectstorage.../v1/my_namespace/my_bucket/my_data_folder/Manage-your-models-with-Oracle-Machine-Learning-on-Autonomous-Database.txt)
  - Develop-and-deploy-machine-learning-models-using-Oracle-Autonomous-Database-Machine-Learning-and-APEX.txt (https://objectstorage.../v1/my_namespace/my_bucket/my_data_folder/Develop-and-deploy-machine-learning-models-using-Oracle-Autonomous-Database-Machine-Learning-and-APEX.txt)

Exemplo: Selecionar IA com Modelos de Transformador no Banco de Dados

Este exemplo demonstra como você pode importar um modelo de transformador pré-treinado que é armazenado no armazenamento de objetos da Oracle para sua instância do Oracle Database 23ai e, em seguida, usar o modelo importado no banco de dados no perfil Selecionar IA para gerar incorporações vetoriais para blocos de documentos e prompts do usuário.

Para usar modelos de transformadores no banco de dados em seu perfil Select AI, certifique-se de ter:
  • seu modelo pré-treinado importado na sua instância do Oracle Database 23ai.

  • opcionalmente, acesso ao armazenamento de objetos da Oracle.

Importar um Modelo de Transformador Pré-treinado para o Oracle Database 23ai do Oracle Object Storage

Revise as etapas em Importar Modelos Pré-treinados no Formato ONNX para Geração de Vetores no Banco de Dados e no blog Modelo de Geração de Incorporação Predefinido para o Oracle AI Database 26ai para importar um modelo de transformador pré-treinado para seu banco de dados.

O exemplo a seguir mostra como importar um modelo de transformador obtido do armazenamento de objetos Oracle para o seu banco de dados e, em seguida, exibir o modelo importado.

- Create a Directory object, or use an existing directory object
CREATE OR REPLACE DIRECTORY ONNX_DIR AS 'onnx_model';
 
-- Object storage bucket
VAR location_uri VARCHAR2(4000);
EXEC :location_uri := 'https://adwc4pm.objectstorage.us-ashburn-1.oci.customer-oci.com/p/eLddQappgBJ7jNi6Guz9m9LOtYe2u8LWY19GfgU8flFK4N9YgP4kTlrE9Px3pE12/n/adwc4pm/b/OML-Resources/o/';
 
-- Model file name
VAR file_name VARCHAR2(512);
EXEC :file_name := 'all_MiniLM_L12_v2.onnx';
 
-- Download ONNX model from object storage into the directory object
BEGIN
  DBMS_CLOUD.GET_OBJECT(                           
        credential_name => NULL,
        directory_name  => 'ONNX_DIR',
        object_uri      => :location_uri || :file_name);
END;
/
 
-- Load the ONNX model into the database
BEGIN
  DBMS_VECTOR.LOAD_ONNX_MODEL(
        directory  => 'ONNX_DIR',
        file_name  => :file_name,
        model_name => 'MY_ONNX_MODEL');
END;
/
 
-- Verify
SELECT model_name, algorithm, mining_function
FROM user_mining_models
WHERE  model_name='MY_ONNX_MODEL';
Usar Modelos de Transformador no Banco de Dados em Selecionar Perfis de IA

Estes exemplos ilustram como usar modelos de transformadores no banco de dados em um perfil Select AI. Um perfil só é configurado para gerar incorporações de vetor, enquanto o outro suporta ações Select AI e criação de índice de vetor.

Revise Requisitos para Configurar o Pacote DBMS_CLOUD_AI para concluir os pré-requisitos.

Veja a seguir um exemplo para gerar incorporações de vetores apenas:

BEGIN
  DBMS_CLOUD_AI.CREATE_PROFILE(
     profile_name => 'EMBEDDING_PROFILE',
     attributes   => '{"provider" : "database",
                       "embedding_model": "MY_ONNX_MODEL"}'
  );
END;
/

Veja a seguir um exemplo de ações gerais do Select AI e geração de índice vetorial em que você pode especificar um provedor de IA suportado. Este exemplo usa o perfil e as credenciais do OCI Gen AI. Consulte para obter uma lista de provedores suportados. No entanto, se você quiser usar o modelo de transformador no banco de dados para gerar incorporações de vetor, use "database: <MY_ONNX_MODEL>" no atributo embedding_model:

BEGIN                                                                        
  DBMS_CLOUD.CREATE_CREDENTIAL(                                              
    credential_name => 'GENAI_CRED',                                         
    user_ocid       => 'ocid1.user.oc1..aaaa...',
    tenancy_ocid    => 'ocid1.tenancy.oc1..aaaa...',
    private_key     => '<your_api_key>',
    fingerprint     => '<your_fingerprint>'     
  );                                                                         
END;                                                                        
/

BEGIN
  DBMS_CLOUD_AI.CREATE_PROFILE(
     profile_name => 'OCI_GENAI',
     attributes   => '{"provider": "oci",
                       "model": "meta.llama-3.3-70b-instruct",
                       "credential_name": "GENAI_CRED",
                       "vector_index_name": "MY_INDEX",
                       "embedding_model": "database: MY_ONNX_MODEL"}'
  );
END;
/
Usar Selecionar IA com um Modelo de Transformador no Banco de Dados de Outro Esquema

Este exemplo demonstra como usar o Select AI com um modelo de transformador no banco de dados se outro proprietário de esquema possuir o modelo. Especifique schema_name.object_name como o nome totalmente qualificado do modelo no atributo embedding_model. Se o usuário atual for o proprietário do esquema ou o proprietário do modelo, você poderá omitir o nome do esquema.

Certifique-se de ter os seguintes privilégios se um proprietário de esquema diferente possuir o modelo:
  • Privilégio de sistema CREATE ANY MINING MODEL
  • Privilégio de sistema SELECT ANY MINING MODEL
  • Privilégio de objeto SELECT MINING MODEL no modelo específico

Para conceder um privilégio de sistema, você deve ter recebido o privilégio de sistema com o ADMIN OPTION ou ter recebido o privilégio de sistema GRANT ANY PRIVILEGE.

Consulte Privilégios de Sistema para o Oracle Machine Learning for SQL para revisar os privilégios.

As instruções a seguir permitem que ADB_USER1 pontue dados e exiba detalhes do modelo em qualquer esquema, desde que o acesso ao SELECT tenha sido concedido aos dados. No entanto, ADB_USER1 só pode criar modelos no esquema ADB_USER1.

GRANT CREATE MINING MODEL TO ADB_USER1;
GRANT SELECT ANY MINING MODEL TO ADB_USER1;
BEGIN
  DBMS_CLOUD_AI.CREATE_PROFILE(
     profile_name => 'OCI_GENAI',
     attributes   => '{"provider": "oci",
                       "credential_name": "GENAI_CRED",
                       "vector_index_name": "MY_INDEX",
                       "embedding_model": "database: ADB_USER1.MY_ONNX_MODEL"}'
  );
END;
/

O exemplo a seguir mostra como você pode especificar um nome de objeto de modelo com distinção entre maiúsculas e minúsculas:

BEGIN
  DBMS_CLOUD_AI.CREATE_PROFILE(
     profile_name => 'OCI_GENAI',
     attributes   => '{"provider": "oci",
                       "credential_name": "GENAI_CRED",
                       "model": "meta.llama-3.3-70b-instruct",
                       "vector_index_name": "MY_INDEX",
                       "embedding_model": "database: \"adb_user1\".\"my_model\""}'
  );
END;
/
Exemplos de ponta a ponta com diferentes provedores de IA

Esses exemplos demonstram etapas de ponta a ponta para usar o modelo de transformador no banco de dados com o Select AI RAG. Um perfil usa database como o provider criado exclusivamente para gerar vetores de incorporação, enquanto o outro usa oci como o provider criado para ações Selecionar IA, bem como índice vetorial.

Revise Requisitos para Configurar o Pacote DBMS_CLOUD_AI para concluir os pré-requisitos.

--Grant create any directory privilege to the user
GRANT CREATE ANY DIRECTORY to ADB_USER;

- Create a Directory object, or use an existing directory object
CREATE OR REPLACE DIRECTORY ONNX_DIR AS 'onnx_model';
 
-- Object storage bucket
VAR location_uri VARCHAR2(4000);
EXEC :location_uri := 'https://adwc4pm.objectstorage.us-ashburn-1.oci.customer-oci.com/p/eLddQappgBJ7jNi6Guz9m9LOtYe2u8LWY19GfgU8flFK4N9YgP4kTlrE9Px3pE12/n/adwc4pm/b/OML-Resources/o/';
 
-- Model file name
VAR file_name VARCHAR2(512);
EXEC :file_name := 'all_MiniLM_L12_v2.onnx';
 
-- Download ONNX model from object storage into the directory object
BEGIN
  DBMS_CLOUD.GET_OBJECT(                           
        credential_name => NULL,
        directory_name  => 'ONNX_DIR',
        object_uri      => :location_uri || :file_name);
END;
/
 
-- Load the ONNX model into the database
BEGIN
  DBMS_VECTOR.LOAD_ONNX_MODEL(
        directory  => 'ONNX_DIR',
        file_name  => :file_name,
        model_name => 'MY_ONNX_MODEL');
END;
/
 
-- Verify
SELECT model_name, algorithm, mining_function
FROM user_mining_models
WHERE  model_name='MY_ONNX_MODEL';


--Administrator grants EXECUTE privilege to ADB_USER
GRANT EXECUTE on DBMS_CLOUD_AI to ADB_USER; 

--Administrator grants EXECUTE privilege DBMS_CLOUD_PIPELINE to ADB_USER
GRANT EXECUTE on DBMS_CLOUD_PIPELINE to ADB_USER;
 
-- Create the object store credential
BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'OCI_CRED',
        username => '<your_username>',
        password => '<OCI_profile_password>'
      );
END;
/

PL/SQL procedure successfully completed.

 -- Create the profile with Oracle Database.

BEGIN
      DBMS_CLOUD_AI.CREATE_PROFILE(
          profile_name =>'EMBEDDING_PROFILE',
          attributes   =>'{"provider": "database",
            "embedding_model": "MY_ONNX_MODEL"
          }');
END;
/

PL/SQL procedure successfully completed.

-- Set profile
EXEC DBMS_CLOUD_AI.SET_PROFILE('EMBEDDING_PROFILE');

PL/SQL procedure successfully completed.                                            
 

Este exemplo usa oci como o provider.

--Grant create any directory privilege to the user
GRANT CREATE ANY DIRECTORY to ADB_USER;

- Create a Directory object, or use an existing directory object
CREATE OR REPLACE DIRECTORY ONNX_DIR AS 'onnx_model';
 
-- Object storage bucket
VAR location_uri VARCHAR2(4000);
EXEC :location_uri := 'https://adwc4pm.objectstorage.us-ashburn-1.oci.customer-oci.com/p/eLddQappgBJ7jNi6Guz9m9LOtYe2u8LWY19GfgU8flFK4N9YgP4kTlrE9Px3pE12/n/adwc4pm/b/OML-Resources/o/';
 
-- Model file name
VAR file_name VARCHAR2(512);
EXEC :file_name := 'all_MiniLM_L12_v2.onnx';
 
-- Download ONNX model from object storage into the directory object
BEGIN
  DBMS_CLOUD.GET_OBJECT(                           
        credential_name => NULL,
        directory_name  => 'ONNX_DIR',
        object_uri      => :location_uri || :file_name);
END;
/
 
-- Load the ONNX model into the database
BEGIN
  DBMS_VECTOR.LOAD_ONNX_MODEL(
        directory  => 'ONNX_DIR',
        file_name  => :file_name,
        model_name => 'MY_ONNX_MODEL');
END;
/
 
-- Verify
SELECT model_name, algorithm, mining_function
FROM user_mining_models
WHERE  model_name='MY_ONNX_MODEL';


–-Administrator Grants EXECUTE privilege to ADB_USER
GRANT EXECUTE on DBMS_CLOUD_AI to ADB_USER; 

--Administrator Grants EXECUTE privilege DBMS_CLOUD_PIPELINE to ADB_USER
GRANT EXECUTE on DBMS_CLOUD_PIPELINE to ADB_USER;

-- Create the object store credential
BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'OCI_CRED',
        username => '<your_username>',
        password => '<OCI_profile_password>'
      );
END;
/
--Create GenAI credentials
BEGIN                                                                        
  DBMS_CLOUD.CREATE_CREDENTIAL(                                              
    credential_name => 'GENAI_CRED',                                         
    user_ocid       => 'ocid1.user.oc1..aaaa...',
    tenancy_ocid    => 'ocid1.tenancy.oc1..aaaa...',
    private_key     => '<your_api_key>',
    fingerprint     => '<your_fingerprint>'     
  );                                                                         
END;                                                                        
/
--Create OCI AI profile
BEGIN
  DBMS_CLOUD_AI.CREATE_PROFILE(
     profile_name => 'OCI_GENAI',
     attributes   => '{"provider": "oci",
                       "model": "meta.llama-3.3-70b-instruct",
                       "credential_name": "GENAI_CRED",
                       "vector_index_name": "MY_INDEX",
                       "embedding_model": "database: MY_ONNX_MODEL"}'
  );
END;
/

-- Set profile
EXEC DBMS_CLOUD_AI.SET_PROFILE('OCI_GENAI');

PL/SQL procedure successfully completed.                                            
 
-- create a vector index with the vector store name, object store location and
-- object store credential
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": "OCI_GENAI",
                          "vector_dimension": 384,
                          "vector_distance_metric": "cosine",
                          "chunk_overlap":128,
                          "chunk_size":1024
      }');
END;
/
PL/SQL procedure successfully completed.  
                                                                               

-- Set profile
EXEC DBMS_CLOUD_AI.SET_PROFILE('OCI_GENAI');

PL/SQL procedure successfully completed.

-- Select AI answers the question with the knowledge available in the vector database.

set pages 1000
set linesize 150
SELECT AI narrate how can I deploy an oracle machine learning model;
RESPONSE                                                  
To deploy an Oracle Machine Learning model, you would first build your model within the Oracle database. Once your in-database models are 
built, they become immediately available for use, for instance, through a SQL query using the prediction operators built into the SQL 
language. 

The model scoring, like model building, occurs directly in the database, eliminating the need for a separate engine or environment within 
which the model and corresponding algorithm code operate. You can also use models from a different schema (user account) if the appropriate 
permissions are in place.

Sources:
  - Manage-your-models-with-Oracle-Machine-Learning-on-Autonomous-Database.txt (https://objectstorage.../v1/my_namespace/my_bucket/
my_data_folder/Manage-your-models-with-Oracle-Machine-Learning-on-Autonomous-Database.txt)
  - Develop-and-deploy-machine-learning-models-using-Oracle-Autonomous-Database-Machine-Learning-and-APEX.txt 
(https://objectstorage.../v1/my_namespace/my_bucket/my_data_folder/Develop-and-deploy-machine-learning-models-using-Oracle-Autonomous-
Database-Machine-Learning-and-APEX.txt)