Seleccionar IA con generación aumentada de recuperación (RAG)

Select AI with RAG aumenta su petición de datos de lenguaje natural al recuperar contenido de su almacén de vectores especificado mediante la búsqueda de similitud semántica. Esto reduce las alucinaciones al utilizar su contenido específico y actualizado y proporciona respuestas de lenguaje natural más relevantes a sus peticiones de datos.

Select AI automatiza el proceso de generación aumentada de recuperación (RAG). Esta técnica recupera datos de orígenes empresariales mediante la búsqueda vectorial de IA y aumenta las peticiones de datos de usuario para el modelo de lenguaje grande (LLM) especificado. Al aprovechar la información de los almacenes de datos empresariales, RAG reduce las alucinaciones y genera respuestas basadas en tierra.

RAG utiliza la búsqueda vectorial de IA en un índice vectorial para encontrar datos semánticamente similares para la pregunta especificada. El almacén de vectores procesa incrustaciones de vectores, que son representaciones matemáticas de varios puntos de datos como texto, imágenes y audio. Estas incrustaciones capturan el significado de los datos, lo que permite un procesamiento y análisis eficientes. Para obtener más información sobre las incrustaciones vectoriales y la búsqueda vectorial de IA, consulte Visión general de AI Vector Search.

Select AI se integra con la búsqueda vectorial de IA disponible en Oracle Autonomous AI Database 26ai para la búsqueda de similitudes mediante incrustaciones vectoriales.

Temas

Ventajas de Select AI RAG

Simplifica las consultas, mejora la precisión de las respuestas con los datos actuales y obtén transparencia revisando las fuentes utilizadas por el LLM.

Select AI RAG ofrece las siguientes ventajas:
  • Simplifica la consulta de datos y aumenta la precisión de las respuestas: permite a los usuarios consultar datos empresariales mediante lenguaje natural y proporciona a los LLM un contexto detallado a partir de datos empresariales para generar respuestas más precisas y relevantes, reduciendo las instancias de alucinaciones de LLM.

  • Información actualizada: proporcione a los LLM acceso a la información empresarial actual mediante almacenes de vectores, lo que elimina la necesidad de un ajuste costoso y laborioso de los LLM entrenados en conjuntos de datos estáticos.

  • Integración perfecta: integra con Oracle AI Vector Search para optimizar el manejo de datos y mejorar el rendimiento.

  • Orquestación de datos automatizada: automatiza los pasos de orquestación con un pipeline de Vector Index totalmente gestionado, lo que garantiza un procesamiento eficiente de los nuevos datos.

  • Resultados contextuales comprensibles: tiene acceso y recupera las fuentes utilizadas por el LLM de almacenes de vectores, lo que garantiza la transparencia y la confianza en los resultados. Permite ver y extraer datos en texto en lenguaje natural o formato JSON para facilitar la integración y el desarrollo de aplicaciones.

Crea tu tienda de vectores

Select AI automatiza la creación y el relleno del almacén de vectores mediante la conversión de documentos de entrada (por ejemplo, PDF, DOC, JSON, XML o HTML) de su almacén de objetos a texto sin formato. Oracle Text soporta alrededor de 150 tipos de archivos. Para obtener una lista completa de todos los formatos de documento soportados, consulte Formatos de documento soportados.

Select AI procesa automáticamente documentos para fragmentar, genera incrustaciones, los almacena en el almacén de vectores especificado y actualiza el índice vectorial a medida que llegan nuevos datos.

A continuación, se muestra cómo se utiliza la entrada de Object Storage con Select AI RAG:

  1. Entrada: los datos se almacenan inicialmente en un almacenamiento de objetos.
  2. Oracle Autonomous Database recupera los datos de entrada o el documento, los fragmenta y envía los fragmentos a un modelo de embebido.
  3. El modelo de incrustación procesa los datos de fragmento y devuelve incrustaciones vectoriales.
  4. Las incrustaciones vectoriales se almacenan en un almacén de vectores para su uso con RAG. A medida que se agrega contenido, el índice vectorial se actualiza automáticamente.

RAG recupera información relevante de la base de datos empresarial para responder a la pregunta de un usuario. Esta información se proporciona al modelo de lenguaje grande especificado junto con la petición de datos del usuario. Select AI utiliza esta información empresarial adicional para mejorar la petición de datos y mejorar la respuesta del LLM. RAG puede mejorar la calidad de la respuesta con la información empresarial actualizada del almacén de vectores.



Seleccione AI implementa RAG de la siguiente manera:
  1. Entrada: el usuario hace una pregunta (especifica una petición de datos) mediante la acción Seleccionar AI narrate.

  2. Seleccione AI genera incrustaciones vectoriales de la petición de datos mediante el modelo de incrustación especificado en el perfil AI.

  3. El índice de búsqueda vectorial utiliza la inserción vectorial de la pregunta para encontrar contenido coincidente de los datos empresariales del cliente (buscando el almacén de vectores) que se ha indexado.

  4. La búsqueda vectorial devuelve los principales textos K similares a la entrada de la instancia de Autonomous AI Database.
  5. A continuación, Autonomous AI Database envía estos resultados de consulta K principales con la pregunta del usuario al LLM.
  6. El LLM devuelve su respuesta a su instancia de Autonomous AI Database.
  7. Autonomous AI Database: la selección de IA proporciona la respuesta al usuario.

Uso de DBMS_CLOUD_AI para crear y gestionar índices vectoriales

Utilice el paquete DBMS_CLOUD_AI para crear y gestionar índices vectoriales y configurar parámetros JSON de base de datos vectorial.

Después de crear credenciales y proporcionar acceso de red a la base de datos vectorial y al proveedor de IA, la instancia de Autonomous AI Database utiliza perfiles de IA para configurar el acceso a los LLM. Consulte Ejemplo: configuración y uso de Select AI con RAG para obtener un ejemplo completo sobre cómo configurarlo y utilizarlo en sentencias Select AI.

Note:

Si no desea que los datos de tabla o los documentos de búsqueda vectorial se envíen a un LLM, un usuario con privilegios de administrador puede desactivar dicho acceso para todos los usuarios de la base de datos proporcionada. Esto, en efecto, desactiva la acción narrate para RAG.

Puede configurar perfiles de AI para los proveedores que se muestran en mediante el paquete DBMS_CLOUD_AI.

Consulte también:

Uso de modelos de transformadores en la base de datos

Select AI RAG le permite utilizar modelos de transformador ONNX previamente entrenados que se importan a su base de datos en la instancia de Oracle Database 23ai para generar vectores de incrustación a partir de fragmentos de documentos y peticiones de datos de usuario.

Note:

Debe importar un modelo de transformador de formato ONNX previamente entrenado en la instancia de Oracle Database 23ai para utilizar Select AI RAG con el modelo de transformador importado en la base de datos. También puedes utilizar otros modelos de transformadores de proveedores de IA compatibles.

Consulte Ejemplo: selección de IA con modelos de transformadores en la base de datos para explorar la función.

Ejemplo: configuración y uso de Select AI con RAG

En este ejemplo, se le guía a través de la configuración de credenciales, la configuración del acceso a la red y la creación de un índice vectorial para integrar los servicios en la nube de almacenamiento vectorial de OCI Generative AI con OpenAI mediante Oracle Autonomous AI Database.

La configuración concluye con la creación de un perfil de IA que utiliza el índice vectorial para mejorar las respuestas del LLM. Por último, en este ejemplo se utiliza la acción Select AI narrate, que devuelve una respuesta que se ha mejorado mediante la información de la base de datos vectorial especificada.

En el siguiente ejemplo se muestra la creación y consulta de índices vectoriales en 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)

Ejemplo: selección de IA con modelos de transformadores en la base de datos

En este ejemplo se muestra cómo importar un modelo de transformador previamente entrenado que se almacena en el almacenamiento de objetos de Oracle en la instancia de Oracle Database 23ai y, a continuación, utilizar el modelo importado en la base de datos en el perfil Select AI para generar incrustaciones vectoriales para fragmentos de documentos y peticiones de datos de usuario.

Para utilizar modelos de transformadores en la base de datos en su perfil Select AI, asegúrese de tener:
  • el modelo previamente entrenado importado en la instancia de Oracle Database 23ai.

  • Opcionalmente, acceso al almacenamiento de objetos de Oracle.

Importación de un modelo de transformador previamente entrenado en Oracle Database 23ai desde Oracle Object Storage

Revise los pasos de Importar modelos previamente entrenados en formato ONNX para la generación de vectores dentro de la base de datos y el blog Modelo de generación de embebido predefinido para Oracle AI Database 26ai para importar un modelo de transformador previamente entrenado en la base de datos.

En el siguiente ejemplo se muestra cómo importar un modelo de transformador incluido desde el almacenamiento de objetos de Oracle a la base de datos y, a continuación, ver el 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';
Uso de modelos de transformadores en la base de datos en perfiles de IA seleccionados

Estos ejemplos ilustran cómo utilizar modelos de transformadores en la base de datos dentro de un perfil Select AI. Un perfil está configurado solo para generar incrustaciones vectoriales, mientras que el otro soporta acciones Select AI y creación de índices vectoriales.

Revise los requisitos para configurar el paquete DBMS_CLOUD_AI para completar los requisitos.

A continuación se muestra un ejemplo para generar incrustaciones vectoriales únicamente:

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

A continuación se muestra un ejemplo de acciones generales de selección de IA y generación de índices vectoriales donde puede especificar un proveedor de IA soportado. En este ejemplo se utilizan el perfil y las credenciales de OCI Gen AI. Consulte para obtener una lista de los proveedores soportados. Sin embargo, si desea utilizar un modelo de transformador en la base de datos para generar incrustaciones de vectores, utilice "database: <MY_ONNX_MODEL>" en el 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;
/
Uso de Select AI con un modelo de transformador en la base de datos de otro esquema

En este ejemplo se muestra cómo utilizar Select AI con un modelo de transformador en la base de datos si otro propietario de esquema es propietario del modelo. Especifique schema_name.object_name como nombre totalmente cualificado del modelo en el atributo embedding_model. Si el usuario actual es el propietario del esquema o es el propietario del modelo, puede omitir el nombre del esquema.

Asegúrese de tener los siguientes privilegios si un propietario de esquema diferente es propietario del modelo:
  • Privilegio del sistema CREATE ANY MINING MODEL
  • Privilegio del sistema SELECT ANY MINING MODEL
  • Privilegio de objeto SELECT MINING MODEL en el modelo específico

Para otorgar un privilegio del sistema, debe tener otorgado el privilegio del sistema con ADMIN OPTION o se le ha otorgado el privilegio del sistema GRANT ANY PRIVILEGE.

Consulte System Privileges for Oracle Machine Learning for SQL para revisar los privilegios.

Las siguientes sentencias permiten a ADB_USER1 puntuar datos y ver detalles del modelo en cualquier esquema siempre que se haya otorgado acceso a los datos a SELECT. Sin embargo, ADB_USER1 solo puede crear modelos en el 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;
/

En el siguiente ejemplo se muestra cómo puede especificar el nombre de objeto del modelo sensible a mayúsculas/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;
/
Ejemplos integrales con diferentes proveedores de IA

Estos ejemplos demuestran los pasos integrales para utilizar el modelo de transformador en la base de datos con Select AI RAG. Un perfil utiliza database como provider creado exclusivamente para generar vectores de embebido, mientras que el otro perfil utiliza oci como provider creado para las acciones Select AI y el índice vectorial.

Revise los requisitos para configurar el paquete DBMS_CLOUD_AI para completar los 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.                                            
 

En este ejemplo se utiliza oci como 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)