Utilizar Seleccionar AI para generar SQL a partir de peticiones de datos de lenguaje natural

Oracle Autonomous Database Select AI permite consultar los datos mediante lenguaje natural.

La función Seleccionar AI permite a Autonomous Database utilizar IA generativa con modelos de lenguaje grande (LLM) para convertir el texto de entrada del usuario en Oracle SQL. Seleccione AI procesa la petición de datos de lenguaje natural, complementa la petición de datos con metadatos y, a continuación, genera y ejecuta una consulta SQL.

Instrucciones de Uso

Proporciona directrices de uso que garantizan un uso eficaz y adecuado de las peticiones de datos de lenguaje natural para la generación de SQL para garantizar una experiencia de usuario mejorada.

Objetivo

Esta función está destinada a la generación y ejecución de consultas SQL resultantes de peticiones de datos de lenguaje natural proporcionadas por el usuario. Automatiza lo que un usuario puede hacer manualmente en función de sus metadatos de esquema en combinación con un modelo de lenguaje grande (LLM) de su elección.

Aunque se puede proporcionar cualquier petición de datos, incluidas las que no están relacionadas con la producción de resultados de consultas SQL, Select AI se centra en la generación de consultas SQL. Seleccione AI para enviar solicitudes generales con la acción chat.

Petición de datos - Datos de aumento

La base de datos aumenta la petición de datos especificada por el usuario con metadatos de base de datos para mitigar las alucinaciones del LLM. La petición de datos aumentada se envía al LLM especificado por el usuario para producir la consulta.

La base de datos aumenta la petición de datos solo con metadatos de esquema. Estos metadatos pueden incluir definiciones de esquema, comentarios de tabla y columna y contenido disponible en el diccionario de datos y el catálogo. Para la generación de SQL, la base de datos no proporciona contenido de tabla o vista (valores reales de fila o columna) al aumentar la petición de datos.

La acción narrate, sin embargo, proporciona el resultado de la consulta, que puede contener datos de base de datos, al LLM especificado por el usuario desde el que generar texto en lenguaje natural que describa los resultados de la consulta.

ADVERTENCIA:

Los grandes modelos de lenguaje (LLM) se han entrenado en un amplio conjunto de documentación y contenido de texto, generalmente de Internet. Como resultado, los LLM pueden haber incorporado patrones de contenido no válido o malicioso, incluida la inyección SQL. Por lo tanto, aunque los LLM son expertos en generar contenido útil y relevante, también pueden generar información incorrecta y falsa, incluidas consultas SQL que producen resultados inexactos y/o comprometen la seguridad de sus datos.

Las consultas generadas en su nombre por el proveedor de LLM especificado por el usuario se ejecutarán en la base de datos. El uso de esta función es bajo su propio riesgo y, a pesar de cualquier otro término y condición relacionado con los servicios proporcionados por Oracle, constituye su aceptación de ese riesgo y la exclusión expresa de la responsabilidad o responsabilidad de Oracle por cualquier daño resultante de ese uso.

Acerca de la generación de SQL

El uso del lenguaje natural para interactuar con los datos de la base de datos ahora se puede lograr con los LLM. Esto significa que puede utilizar el lenguaje natural, por ejemplo, el inglés sin formato, para consultar la base de datos.

Al utilizar Select AI, Autonomous Database gestiona el proceso de conversión del lenguaje natural en SQL. Esto significa que puede proporcionar una petición de datos de lenguaje natural en lugar de código SQL para interactuar con los datos. Select AI sirve como herramienta de productividad para los usuarios y desarrolladores de SQL y permite a los usuarios de SQL no expertos obtener información útil de sus datos, sin tener que comprender las estructuras de datos o los lenguajes técnicos.

El paquete DBMS_CLOUD_AI de Autonomous Database permite la integración con un LLM especificado por el usuario para generar código SQL mediante peticiones de datos de lenguaje natural. El paquete ayuda a proporcionar al LLM conocimiento del esquema de base de datos y le indica que escriba una consulta SQL consistente con ese esquema. El paquete DBMS_CLOUD_AI funciona con proveedores de IA como OpenAI, Cohere, Azure OpenAI Service y Oracle Cloud Infrastructure Generative AI.
Nota

Los usuarios deben tener una cuenta con el proveedor de AI y proporcionar sus credenciales a través de los objetos DBMS_CLOUD_AI que utiliza Autonomous Database.

Uso de DBMS_CLOUD_AI para configurar perfiles de AI

Oracle Autonomous Database Serverless utiliza perfiles de IA para facilitar y configurar el acceso a un LLM y para configurar la generación de sentencias SQL a partir de peticiones de datos de lenguaje natural.

Los perfiles AI incluyen objetos de base de datos que son el destino de las consultas de lenguaje natural. Los metadatos utilizados desde estos destinos pueden incluir nombres de tabla de base de datos, nombres de columna, tipos de dato de columna y comentarios. Los perfiles AI se crean y configuran mediante los procedimientos DBMS_CLOUD_AI.CREATE_PROFILE y DBMS_CLOUD_AI.SET_PROFILE.

Además de especificar tablas y vistas en el perfil de AI, también puede especificar tablas asignadas a tablas externas, incluidas las descritas en Consulta de datos externos con Data Catalog. Esto le permite consultar datos no solo dentro de la base de datos, sino también datos almacenados en el almacén de objetos de un lago de datos.

Configurar paquete DBMS_CLOUD_AI

Describe los pasos para utilizar DBMS_CLOUD_AI.

Se necesita lo siguiente para utilizar DBMS_CLOUD_AI:

  • Acceso a una cuenta en la nube de Oracle Cloud Infrastructure y a una instancia de Autonomous Database.
  • Una cuenta de API de pago para un proveedor de IA compatible, uno de los siguientes:
  • Privilegios de ACL de red para acceder al proveedor AI externo.
    Nota

    Los privilegios de ACL de red no son necesarios para OCI Generative AI.
  • Credencial que proporciona acceso al proveedor de AI.

Configurar DBMS_CLOUD_AI

Para configurar DBMS_CLOUD_AI:
  1. Otorgue el privilegio EXECUTE en el paquete DBMS_CLOUD_AI al usuario que desea utilizar Select AI.

    Por defecto, solo se otorga al usuario ADMIN el privilegio EXECUTE. El usuario ADMIN puede otorgar el privilegio EXECUTE a otros usuarios.

  2. Otorgue acceso de ACL de red al usuario que desea utilizar Select AI y para el punto final del proveedor de AI.

    El usuario ADMIN puede otorgar acceso a ACL de red. Consulte el procedimiento APPEND_HOST_ACE para obtener más información.

  3. Cree una credencial para permitir el acceso al proveedor de AI.

    Consulte Procedimiento CREATE_CREDENTIAL para obtener más información.

En el siguiente ejemplo se otorga el privilegio EXECUTE a ADB_USER:
grant execute on DBMS_CLOUD_AI to ADB_USER;

En el siguiente ejemplo se otorga a ADB_USER el privilegio para utilizar el punto final api.openai.com.

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;
/

APPEND_HOST_ACE Parámetros de Función

parámetro Descripción

host

Host, que puede ser el nombre o la dirección IP del host. Puede utilizar un comodín para especificar un dominio o una subred IP. El nombre de host o de dominio no es sensible a mayúsculas/minúsculas.

Para OpenAI, utilice api.openai.com.

Para Cohere, utilice api.cohere.ai.

Para Servicio OpenAI de Azure, utilice <azure_resource_name>.openai.azure.com. Consulte Atributos de perfil para obtener más información sobre azure_resource_name.

ace

Las entradas de control de acceso (ACE). El tipo XS$ACE_TYPE se proporciona para construir cada entrada de ACE para la ACL. Para obtener más información, consulte Creación de ACL y ACE.

A continuación se muestra un ejemplo de cómo crear una credencial para activar el acceso a OpenAI.

EXEC DBMS_CLOUD.CREATE_CREDENTIAL('OPENAI_CRED', 'OPENAI', 'your_api_token');

Parámetros de DBMS_CLOUD.CREATE_CREDENTIAL

parámetro Descripción

credential_name

Nombre de la credencial que se va a almacenar. El parámetro credential_name debe cumplir las convenciones de nomenclatura de objetos de Oracle, que no permiten espacios ni guiones.

username

Los argumentos username y password especifican conjuntamente las credenciales del proveedor de AI.

username es un nombre de usuario especificado por el usuario.

password

Los argumentos username y password especifican conjuntamente las credenciales del proveedor de AI.

password es la clave de API secreta del proveedor de AI y depende del proveedor:

  • OpenAI: consulte Uso de OpenAI para obtener las claves de API.
  • Aquí: consulte Uso de Cohere para obtener las claves de API.
  • Servicio OpenAI de Azure: consulte Uso del servicio OpenAI de Azure para obtener sus claves de API y cómo configurar el servicio.
    Nota

    Si utiliza el principio de Azure OpenAI Service para autenticarse, puede omitir el procedimiento DBMS_CLOUD.CREATE_CREDENTIAL. Consulte Ejemplos de uso de Select AI para obtener un ejemplo de autenticación mediante el principio de Azure OpenAI Service.

Temas

Utilice OpenAI

Para permitir que OpenAI genere SQL a partir de peticiones de datos de lenguaje natural, obtenga claves de API de la cuenta de pago OpenAI.

Puede encontrar la clave de API secreta en la configuración de usuario.

Usar Cohere

Para permitir que Cohere genere SQL a partir de peticiones de datos de lenguaje natural, obtenga claves de API de su cuenta de pago Cohere.

  1. Inicie sesión en el sitio web de Cohere con sus credenciales. El panel de control de Cohere aparece por defecto.

  2. También puede hacer clic en Panel de control.

  3. Haga clic en Claves de API en la navegación izquierda. Copie la clave de API por defecto o cree otra. Consulte API-Keys para obtener más información.

Uso del servicio OpenAI de Azure

Para activar el servicio OpenAI de Azure para generar SQL a partir de peticiones de datos de lenguaje natural, configure y proporcione acceso al proveedor de IA.

Para utilizar el servicio OpenAI de Azure, realice los siguientes pasos:
  1. Obtenga sus claves de API secretas. Puede encontrar sus claves de API en la sección Resource Management de su portal de Azure. En la página Recurso del servicio OpenAI de Azure, haga clic en Claves y punto final. Puede copiar KEY1 o KEY2.
  2. Cree un recurso de Azure OpenAI Service y despliegue un modelo: Cree y despliegue un recurso de servicio OpenAI de Azure.

    Consejo:

    • Anote el nombre del recurso y el nombre del despliegue, ya que estos parámetros se utilizan para proporcionar permiso de acceso de red y para crear el perfil de Azure OpenAI Service mediante el procedimiento DBMS_CLOUD_AI.CREATE_PROFILE.
    • Para obtener más información sobre los límites de frecuencia para el token por minuto en un modelo, consulte Cuotas y límites del servicio OpenAI de Azure.
  3. Permitir acceso al servicio OpenAI de Azure:

Creación y configuración de un perfil de AI

Describe los pasos para crear y activar un perfil de AI.

Utilice DBMS_CLOUD_AI.CREATE_PROFILE para crear un perfil de AI. A continuación, inicie DBMS_CLOUD_AI.SET_PROFILE para activar el perfil de AI de modo que pueda utilizar SELECT AI con una petición de datos de lenguaje natural.

Nota

Debe ejecutar DBMS_CLOUD_AI.SET_PROFILE en cada nueva sesión de base de datos (conexión) antes de utilizar SELECT AI.

En el siguiente ejemplo con el proveedor OpenAI se crea un perfil AI denominado OPENAI y se define el perfil OPENAI para la sesión de usuario actual.

-- Create AI profile
--
SQL> BEGIN
  DBMS_CLOUD_AI.create_profile(
      'OPENAI',
      '{"provider": "openai",
        "credential_name": "OPENAI_CRED",
        "object_list": [{"owner": "SH", "name": "customers"},
                        {"owner": "SH", "name": "sales"},
                        {"owner": "SH", "name": "products"},
                        {"owner": "SH", "name": "countries"}]
       }');
END;
/
 
PL/SQL procedure successfully completed.
 
--
-- Enable AI profile in current session
--
SQL> EXEC DBMS_CLOUD_AI.set_profile('OPENAI');
 
PL/SQL procedure successfully completed.

Uso de la palabra clave AI para introducir peticiones de datos

Utilice AI como palabra clave en una sentencia SELECT para interactuar con la base de datos mediante peticiones de datos de lenguaje natural.

La palabra clave AI de una sentencia SELECT indica al motor de ejecución SQL que utilice el LLM identificado en el perfil de AI activo para procesar el lenguaje natural y generar SQL.

Puede utilizar la palabra clave AI en una consulta con clientes de Oracle, como SQL Developer, OML Notebooks y herramientas de terceros, para interactuar con la base de datos en lenguaje natural.

Nota

No puede ejecutar sentencias PL/SQL, DDL ni DML con la palabra clave AI.

Sintaxis

La sintaxis para ejecutar el indicador AI es:
SELECT AI action natural_language_prompt

Parámetros

A continuación se muestran los parámetros disponibles para el parámetro action:
parámetro Descripción

runsql

Ejecuta el comando SQL subyacente para la petición de datos de lenguaje natural. Esta es la acción por defecto y es opcional especificar este parámetro.

showsql

Muestra la sentencia SQL para una petición de datos de lenguaje natural.

narrate

Explica la salida del comando SQL subyacente en un lenguaje natural. Esta opción envía el resultado de SQL al proveedor de AI para producir un resumen de lenguaje natural.

chat

Genera una respuesta directamente desde el LLM en función de la petición de datos. Si conversation en la función DBMS_CLOUD_AI.CREATE_PROFILE está definida en true, esta opción incluye contenido de interacciones o peticiones de datos anteriores, que pueden incluir metadatos de esquema.

explainsql

Explica el SQL generado a partir de la petición de datos en lenguaje natural. Esta opción envía el SQL generado al proveedor de AI para producir una explicación de lenguaje natural.

Notas de Uso

  • La opción AI no está soportada en Database Actions ni en el servicio APEX. Solo puede utilizar la función DBMS_CLOUD_AI.GENERATE.

  • La palabra clave AI sólo se admite en una sentencia SELECT.

  • No se pueden ejecutar sentencias PL/SQL, DDL ni DML con la palabra clave AI.

  • La secuencia es SELECT seguida de AI. Estas palabras clave no distinguen mayúsculas y minúsculas. Después de configurar DBMS_CLOUD_AI.SET_PROFILE, el texto después de SELECT AI es una petición de datos en lenguaje natural. Si no se configura un perfil de AI, SELECT AI informa el siguiente error:

    ORA-00923: FROM keyword not found where expected
    00923. 00000 -  "FROM keyword not found where expected"
  • Se aplican reglas especiales de uso de caracteres según las directrices de Oracle. Por ejemplo, utilice comillas simples dos veces si está utilizando un apóstrofo en una oración.

    select ai how many customers in SF don''t own their own home
  • Los LLM están sujetos a alucinaciones y los resultados no siempre son correctos:

    • Es posible que SELECT AI no pueda ejecutar el SQL generado para una petición de datos de lenguaje natural específica.

    • Es posible que SELECT AI no pueda generar SQL para una petición de datos de lenguaje natural específica.

    En este caso, SELECT AI responde con información para ayudarle a generar SQL válido.

  • Utilice la acción chat, con SELECT AI chat, para obtener más información sobre las construcciones SQL. Para obtener mejores resultados con la acción chat, utilice vistas o tablas de base de datos con nombres de columna contextuales o considere la posibilidad de agregar comentarios de columna que expliquen los valores almacenados en las columnas.

  • Para acceder a las vistas de DBA o USER, consulte DBMS_CLOUD_AI Views.

Ejemplos de uso de Select AI

Explora la integración de la IA selecta de Oracle con varios proveedores de IA como OpenAI, Cohere, Azure Open AI y OCI Generative AI para generar consultas SQL directamente desde el lenguaje natural.

En estos ejemplos, se muestran acciones comunes de selección de IA y se le guía a través de la configuración de su perfil con diferentes proveedores de IA para aprovechar esas acciones.

Ejemplo: selección de acciones de AI

En el siguiente ejemplo, se muestran acciones como runsql, showsql, narrate, chat y explainsql que puede realizar con SELECT AI. En estos ejemplos se utiliza el esquema sh con atributos de perfil y proveedor de AI definidos en la función DBMS_CLOUD_AI.CREATE_PROFILE.

SQL> select ai how many customers exist;
 
CUSTOMER_COUNT
--------------
         55500
 
SQL> select ai showsql how many customers exist;
 
RESPONSE
----------------------------------------------------
SELECT COUNT(*) AS total_customers
FROM SH.CUSTOMERS
 
 
SQL> select ai narrate how many customers exist;
 
RESPONSE
------------------------------------------------------
There are a total of 55,500 customers in the database.
 
SQL> select ai chat how many customers exist;
 
RESPONSE
--------------------------------------------------------------------------------
It is impossible to determine the exact number of customers that exist as it con
stantly changes due to various factors such as population growth, new businesses
, and customer turnover. Additionally, the term "customer" can refer to individu
als, businesses, or organizations, making it difficult to provide a specific num
ber.


SQL> select ai explainsql how many customers in San Francisco are married;
 
RESPONSE
--------------------------------------------------------------------------------
SELECT COUNT(*) AS customer_count
FROM SH.CUSTOMERS AS c
WHERE c.CUST_STATE_PROVINCE = 'San Francisco' AND c.CUST_MARITAL_STATUS = 'Married';
 
Explanation:
- We use the 'SH' table alias for the 'CUSTOMERS' table for better readability.
- The query uses the 'COUNT(*)' function to count the number of rows that match the given conditions.
- The 'WHERE' clause is used to filter the results:
  - 'c.CUST_STATE_PROVINCE = 'San Francisco'' filters customers who have 'San Francisco' as their state or province.
  - 'c.CUST_MARITAL_STATUS = 'Married'' filters customers who have 'Married' as their marital status.
The result of this query will give you the count of customers in San Francisco who are married, using the column alias 'customer_count' for the result.
 
Remember to adjust the table and column names based on your actual schema if they differ from the example.
 
Feel free to ask if you have more questions related to SQL or database in general.

Ejemplo: selección de AI con OpenAI

En el siguiente ejemplo se muestra cómo puede utilizar OpenAI para generar sentencias SQL a partir de peticiones de datos en lenguaje natural.
Nota

Solo un usuario ADMIN puede ejecutar el procedimiento de ACL de red y privilegios EXECUTE.

--Grants EXECUTE privilege to ADB_USER
--
SQL> grant execute on DBMS_CLOUD_AI to ADB_USER;

-- Grant Network ACL for OpenAI endpoint
--
SQL> 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 Credential for AI provider
--
SQL> EXEC DBMS_CLOUD.CREATE_CREDENTIAL('OPENAI_CRED', 'OPENAI', '<your api token>');
 
PL/SQL procedure successfully completed.
 
--
-- Create AI profile
--SQL> BEGIN                                                                        
     DBMS_CLOUD_AI.CREATE_PROFILE(                                              
      'OPENAI',                                                             
      '{"provider": "openai",                                                                   
        "credential_name": "OPENAI_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"}],
        "conversation": "true"                
       }');                                                                  
     END;                                                                         
     / 
 
PL/SQL procedure successfully completed.
 
--
-- Enable AI profile in current session
--
SQL> EXEC DBMS_CLOUD_AI.SET_PROFILE('OPENAI');
 
PL/SQL procedure successfully completed.
 
--
-- Get Profile in current session
--
SQL> SELECT DBMS_CLOUD_AI.get_profile() from dual;
 
DBMS_CLOUD_AI.GET_PROFILE()
--------------------------------------------------------------------------------
"OPENAI"
 
--
-- Use AI
--
SQL> select ai how many customers exist;
 
CUSTOMER_COUNT
--------------
         55500
 
SQL> select ai how many customers in San Francisco are married;   
 
MARRIED_CUSTOMERS
-----------------
               18
 
 
SQL> select ai showsql how many customers in San Francisco are married;
 
RESPONSE
--------------------------------------------------------------------------------
SELECT COUNT(*) AS married_customers_count
FROM SH.CUSTOMERS c
WHERE c.CUST_CITY = 'San Francisco'
  AND c.CUST_MARITAL_STATUS = 'Married'
 
 
SQL> select ai narrate what are the top 3 customers in San Francisco;
 
RESPONSE
--------------------------------------------------------------------------------
The top 3 customers in San Francisco are:
 
1. Hector Colven - Total amount sold: $52,025.99
2. Milburn Klemm - Total amount sold: $50,842.28
3. Gavin Xie - Total amount sold: $48,677.18
 
 
SQL> select ai chat what is Autonomous Database;
 
RESPONSE
--------------------------------------------------------------------------------
Autonomous Database is a cloud-based database service provided by Oracle. It is
designed to automate many of the routine tasks involved in managing a database,
such as patching, tuning, and backups. Autonomous Database uses machine learning
 and automation to optimize performance, security, and availability, allowing us
ers to focus on their applications and data rather than database administration
tasks. It offers both Autonomous Transaction Processing (ATP) for transactional
workloads and Autonomous Data Warehouse (ADW) for analytical workloads. Autonomo
us Database provides high performance, scalability, and reliability, making it a
n ideal choice for modern cloud-based applications.


SQL> select ai explainsql how many customers in San Francisco are married;
 
RESPONSE
--------------------------------------------------------------------------------
SELECT COUNT(*) AS customer_count
FROM SH.CUSTOMERS AS c
WHERE c.CUST_STATE_PROVINCE = 'San Francisco' AND c.CUST_MARITAL_STATUS = 'Married';
 
Explanation:
- We use the 'SH' table alias for the 'CUSTOMERS' table for better readability.
- The query uses the 'COUNT(*)' function to count the number of rows that match the given conditions.
- The 'WHERE' clause is used to filter the results:
  - 'c.CUST_STATE_PROVINCE = 'San Francisco'' filters customers who have 'San Francisco' as their state or province.
  - 'c.CUST_MARITAL_STATUS = 'Married'' filters customers who have 'Married' as their marital status.
The result of this query will give you the count of customers in San Francisco who are married, using the column alias 'customer_count' for the result.
 
Remember to adjust the table and column names based on your actual schema if they differ from the example.
 
Feel free to ask if you have more questions related to SQL or database in general.
 
 
SQL> EXEC DBMS_CLOUD_AI.DROP_PROFILE('OPENAI');
 
PL/SQL procedure successfully completed.

Ejemplo: Seleccionar IA con Cohere

El siguiente ejemplo muestra cómo puede utilizar Cohere para generar sentencias SQL a partir de peticiones de datos de lenguaje natural.

Nota

Solo un usuario ADMIN puede ejecutar el procedimiento de ACL de red y privilegios EXECUTE.

--Grants EXECUTE privilege to ADB_USER
--
SQL>grant execute on DBMS_CLOUD_AI to ADB_USER;
--
-- Create Credential for AI provider
--
SQL> EXEC DBMS_CLOUD.CREATE_CREDENTIAL('COHERE_CRED', 'COHERE', '<your api token>');
 
PL/SQL procedure successfully completed.
 
--
-- Grant Network ACL for Cohere endpoint
--
SQL> BEGIN  
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
         host => 'api.cohere.ai',
         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 AI profile
--SQL> BEGIN
  DBMS_CLOUD_AI.CREATE_PROFILE(
      'COHERE',
      '{"provider": "cohere",
        "credential_name": "COHERE_CRED",
        "object_list": [{"owner": "SH", "name": "customers"},
                        {"owner": "SH", "name": "sales"},
                        {"owner": "SH", "name": "products"},
                        {"owner": "SH", "name": "countries"}]
       }');
       END;
       /
 
PL/SQL procedure successfully completed.
 
--
-- Enable AI profile in current session
--
SQL> EXEC DBMS_CLOUD_AI.SET_PROFILE('COHERE');
 
PL/SQL procedure successfully completed.
 
--
-- Get Profile in current session
--
SQL> SELECT DBMS_CLOUD_AI.get_profile() from dual;
 
DBMS_CLOUD_AI.GET_PROFILE()
--------------------------------------------------------------------------------
"COHERE"
 
--
-- Use AI
--
SQL> select ai how many customers exist;
 
CUSTOMER_COUNT
--------------
         55500
 
SQL> EXEC DBMS_CLOUD_AI.DROP_PROFILE('COHERE');
 
PL/SQL procedure successfully completed.

Ejemplo: selección de IA con la clave de API de Azure OpenAI Service

En el siguiente ejemplo se muestra cómo puede activar el acceso al servicio OpenAI de Azure mediante su clave de API, crear un perfil de IA y generar SQL a partir de peticiones de datos de lenguaje natural.

-- Create Credential for AI integration
--
SQL> EXEC DBMS_CLOUD.CREATE_CREDENTIAL('AZURE_CRED', 'AZUREAI', '<your api token>');
  
PL/SQL procedure successfully completed.
  
--
-- Grant Network ACL for OpenAI endpoint
--SQL> BEGIN 
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
         host => '<azure_resource_name>.openai.azure.com',
         ace  => xs$ace_type(privilege_list => xs$name_list('http'),
                             principal_name => 'ADMIN',
                             principal_type => xs_acl.ptype_db)
       );
       END;
       /
  
PL/SQL procedure successfully completed.
  
--
-- Create AI profile
--
SQL> BEGIN                                                                         
    DBMS_CLOUD_AI.CREATE_PROFILE(                                               
      'AZUREAI',                                                              
      '{"provider": "azure", 
        "azure_resource_name": "<azure_resource_name>",
        "azure_deployment_name": "<azure_deployment_name>"                                                                     
        "credential_name": "AZURE_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"}],
        "conversation": "true"                 
       }');                                                                   
     END;                                                                          
     /
  
PL/SQL procedure successfully completed.
  
--
-- Enable AI profile in current session
--
SQL> EXEC DBMS_CLOUD_AI.SET_PROFILE('AZUREAI');
  
PL/SQL procedure successfully completed.

--
-- Get Profile in current session
--
SQL> SELECT DBMS_CLOUD_AI.get_profile() from dual;
 
DBMS_CLOUD_AI.GET_PROFILE()
--------------------------------------------------------------------------------
"AZUREAI"
  
  
--
-- Use AI
--
SQL> select ai how many customers exist;
  
CUSTOMER_COUNT
--------------
         55500
  
SQL> select ai how many customers in San Francisco are married;  
  
MARRIED_CUSTOMERS
-----------------
               18
  
  
SQL> select ai showsql how many customers in San Francisco are married;
  
RESPONSE
--------------------------------------------------------------------------------
SELECT COUNT(*) AS married_customers_count
FROM SH.CUSTOMERS c
WHERE c.CUST_CITY = 'San Francisco'
  AND c.CUST_MARITAL_STATUS = 'Married'
  
  
SQL> select ai narrate what are the top 3 customers in San Francisco;
  
RESPONSE
--------------------------------------------------------------------------------
The top 3 customers in San Francisco are:
  
1. Hector Colven - Total amount sold: $52,025.99
2. Milburn Klemm - Total amount sold: $50,842.28
3. Gavin Xie - Total amount sold: $48,677.18
  
  
SQL> select ai chat what is Autonomous Database;
  
RESPONSE
--------------------------------------------------------------------------------
Autonomous Database is a cloud-based database service provided by Oracle. It is
designed to automate many of the routine tasks involved in managing a database,
such as patching, tuning, and backups. Autonomous Database uses machine learning
 and automation to optimize performance, security, and availability, allowing us
ers to focus on their applications and data rather than database administration
tasks. It offers both Autonomous Transaction Processing (ATP) for transactional
workloads and Autonomous Data Warehouse (ADW) for analytical workloads. Autonomo
us Database provides high performance, scalability, and reliability, making it a
n ideal choice for modern cloud-based applications.


SQL> select ai explainsql how many customers in San Francisco are married;
 
RESPONSE
--------------------------------------------------------------------------------
SELECT COUNT(*) AS customer_count
FROM SH.CUSTOMERS AS c
WHERE c.CUST_STATE_PROVINCE = 'San Francisco' AND c.CUST_MARITAL_STATUS = 'Married';
 
Explanation:
- We use the 'SH' table alias for the 'CUSTOMERS' table for better readability.
- The query uses the 'COUNT(*)' function to count the number of rows that match the given conditions.
- The 'WHERE' clause is used to filter the results:
  - 'c.CUST_STATE_PROVINCE = 'San Francisco'' filters customers who have 'San Francisco' as their state or province.
  - 'c.CUST_MARITAL_STATUS = 'Married'' filters customers who have 'Married' as their marital status.
The result of this query will give you the count of customers in San Francisco who are married, using the column alias 'customer_count' for the result.
 
Remember to adjust the table and column names based on your actual schema if they differ from the example.
 
Feel free to ask if you have more questions related to SQL or database in general.
 
   
SQL> EXEC DBMS_CLOUD_AI.DROP_PROFILE('AZUREAI');
  
PL/SQL procedure successfully completed.

Ejemplo: selección de IA con el principio de Azure OpenAI Service

Conéctese como ADMIN para proporcionar acceso a la autenticación del principio de servicio de Azure y, a continuación, otorgue los permisos de ACL de red al usuario (ADB_USER) que desea utilizar Select AI. Para proporcionar acceso a los recursos de Azure, consulte Uso de la entidad de servicio de Azure para acceder a los recursos de Azure.

Nota

Solo un usuario ADMIN puede ejecutar el procedimiento de ACL de red y privilegios EXECUTE.
-- Connect as ADMIN user and enable Azure service principal authentication.
BEGIN
  DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH(provider  => 'AZURE',
                                         params    => JSON_OBJECT('azure_tenantid' value 'azure_tenantid'));
END;
/
  
-- Copy the consent url from cloud_integrations view and consents the ADB-S application.
SQL> select param_value from CLOUD_INTEGRATIONS where param_name = 'azure_consent_url';
PARAM_VALUE
--------------------------------------------------------------------------------
https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/authorize?client_id=<client_id>&response_type=code&scope=User.read
  
-- On the Azure OpenAI IAM console, search for the Azure application name and assign the permission to the application.
-- You can get the application name in the cloud_integrations view.
SQL> select param_value from CLOUD_INTEGRATIONS where param_name = 'azure_app_name';
PARAM_VALUE
--------------------------------------------------------------------------------
ADBS_APP_DATABASE_OCID
  
--
-- Grant Network ACL for Azure OpenAI endpoint
--SQL> BEGIN 
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
         host => 'azure_resource_name.openai.azure.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 AI profile
--SQL> BEGIN                                                                         
    DBMS_CLOUD_AI.CREATE_PROFILE(                                               
      'AZUREAI',                                                              
      '{"provider": "azure",                                                  
        "credential_name": "AZURE$PA",                                      
        "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"}],                 
        "azure_resource_name": "<azure_resource_name>",                              
        "azure_deployment_name": "<azure_deployment_name>"                  
       }');                                                                   
     END;                                                                          
     /
  
PL/SQL procedure successfully completed.
  
--
-- Enable AI profile in current session
--
SQL> EXEC DBMS_CLOUD_AI.SET_PROFILE('AZUREAI');
  
PL/SQL procedure successfully completed.
  
--
-- Get Profile in current session
--
SQL> SELECT DBMS_CLOUD_AI.get_profile() from dual;
 
DBMS_CLOUD_AI.GET_PROFILE()
--------------------------------------------------------------------------------
"AZUREAI"  

--
-- Use AI
--
SQL> select ai how many customers exist;
  
CUSTOMER_COUNT
--------------
         55500
  
SQL> select ai how many customers in San Francisco are married;  
  
MARRIED_CUSTOMERS
-----------------
               18
  
 
SQL> select ai showsql how many customers in San Francisco are married;
  
RESPONSE
--------------------------------------------------------------------------------
SELECT COUNT(*) AS married_customers_count
FROM SH.CUSTOMERS c
WHERE c.CUST_CITY = 'San Francisco'
  AND c.CUST_MARITAL_STATUS = 'Married'
  
  
SQL> select ai narrate what are the top 3 customers in San Francisco;
  
RESPONSE
--------------------------------------------------------------------------------
The top 3 customers in San Francisco are:
  
1. Hector Colven - Total amount sold: $52,025.99
2. Milburn Klemm - Total amount sold: $50,842.28
3. Gavin Xie - Total amount sold: $48,677.18
  
  
SQL> select ai chat what is Autonomous Database;
  
RESPONSE
--------------------------------------------------------------------------------
Autonomous Database is a cloud-based database service provided by Oracle. It is
designed to automate many of the routine tasks involved in managing a database,
such as patching, tuning, and backups. Autonomous Database uses machine learning
 and automation to optimize performance, security, and availability, allowing us
ers to focus on their applications and data rather than database administration
tasks. It offers both Autonomous Transaction Processing (ATP) for transactional
workloads and Autonomous Data Warehouse (ADW) for analytical workloads. Autonomo
us Database provides high performance, scalability, and reliability, making it a
n ideal choice for modern cloud-based applications.


SQL> select ai explainsql how many customers in San Francisco are married;
 
RESPONSE
--------------------------------------------------------------------------------
SELECT COUNT(*) AS customer_count
FROM SH.CUSTOMERS AS c
WHERE c.CUST_STATE_PROVINCE = 'San Francisco' AND c.CUST_MARITAL_STATUS = 'Married';
 
Explanation:
- We use the 'SH' table alias for the 'CUSTOMERS' table for better readability.
- The query uses the 'COUNT(*)' function to count the number of rows that match the given conditions.
- The 'WHERE' clause is used to filter the results:
  - 'c.CUST_STATE_PROVINCE = 'San Francisco'' filters customers who have 'San Francisco' as their state or province.
  - 'c.CUST_MARITAL_STATUS = 'Married'' filters customers who have 'Married' as their marital status.
The result of this query will give you the count of customers in San Francisco who are married, using the column alias 'customer_count' for the result.
 
Remember to adjust the table and column names based on your actual schema if they differ from the example.
 
Feel free to ask if you have more questions related to SQL or database in general.
 
 
SQL> EXEC DBMS_CLOUD_AI.DROP_PROFILE('AZUREAI');
  
PL/SQL procedure successfully completed.

Seleccionar IA con clave de API de IA generativa de OCI

En el siguiente ejemplo se muestra cómo puede acceder a OCI Generative AI mediante su clave de API de OCI, crear un perfil de AI y generar SQL a partir de peticiones de datos de lenguaje natural.
Nota

La IA generativa de OCI utiliza cohere.command como modelo por defecto si no especifica model_name. Para obtener más información sobre los parámetros, consulte Atributos de perfil.
-- Create Credential with OCI API key
--
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 AI profile
--
SQL> BEGIN                                                                        
  DBMS_CLOUD_AI.CREATE_PROFILE(                                              
      'GENAI',                                                             
      '{"provider": "oci",                                                                   
        "credential_name": "GENAI_CRED"               
       }');                                                                  
     END;                                                                         
     /  
   
PL/SQL procedure successfully completed.
   
--
-- Enable AI profile in current session
--
SQL> EXEC DBMS_CLOUD_AI.SET_PROFILE('GENAI');
   
PL/SQL procedure successfully completed.
   
--
-- Get Profile in current session
--
SQL> SELECT DBMS_CLOUD_AI.get_profile() from dual;
 
DBMS_CLOUD_AI.GET_PROFILE()
--------------------------------------------------------------------------------
"GENAI"
  
--
-- Use AI
--  
   
SQL> select ai chat what is Autonomous Database;
   
RESPONSE
--------------------------------------------------------------------------------
Autonomous Database is a cloud-based database service provided by Oracle. It is
designed to automate many of the routine tasks involved in managing a database,
such as patching, tuning, and backups. Autonomous Database uses machine learning
 and automation to optimize performance, security, and availability, allowing us
ers to focus on their applications and data rather than database administration
tasks. It offers both Autonomous Transaction Processing (ATP) for transactional
workloads and Autonomous Data Warehouse (ADW) for analytical workloads. Autonomo
us Database provides high performance, scalability, and reliability, making it a
n ideal choice for modern cloud-based applications.


SQL> EXEC DBMS_CLOUD_AI.DROP_PROFILE('GENAI');
  
PL/SQL procedure successfully completed.

Seleccionar IA con entidad de recurso de IA generativa de OCI

Para utilizar la entidad de recurso con OCI Generative AI, el administrador de arrendamiento de Oracle Cloud Infrastructure debe otorgar acceso a los recursos de Generative AI a un grupo dinámico. Consulte Cumplimiento de requisitos para utilizar la entidad de recurso con Autonomous Database para proporcionar acceso a un grupo dinámico.

Configure las políticas necesarias para obtener acceso a todos los recursos de IA generativa. Consulte https://docs.oracle.com/en-us/iaas/Content/generative-ai/iam-policies.htm para obtener más información sobre las políticas de IA generativa.
  • Para obtener acceso a todos los recursos de IA generativa de todo el arrendamiento, utilice la siguiente política:

    allow group <your-group-name> to manage generative-ai-family in tenancy
  • Para obtener acceso a todos los recursos de IA generativa del compartimento, utilice la siguiente política:

    allow group <your-group-name> to manage generative-ai-family in compartment <your-compartment-name>

Conéctese como administrador y active la entidad de recurso de OCI. Consulte ENABLE_PRINCIPAL_AUTH Procedure para configurar los parámetros.

Nota

La IA generativa de OCI utiliza cohere.command como modelo por defecto si no especifica model_name. Para obtener más información sobre los parámetros, consulte Atributos de perfil.
-- Connect as ADMIN user and enable OCI resource principal.
BEGIN
  DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH(provider  => 'OCI');
END;
/
 
--
-- Create AI profile
--SQL>BEGIN                                                                        
  DBMS_CLOUD_AI.CREATE_PROFILE(                                              
      'GENAI',                                                             
      '{"provider": "oci",                                                                   
        "credential_name": "OCI$RESOURCE_PRINCIPAL"                
       }');                                                                  
    END;                                                                         
    /
   
PL/SQL procedure successfully completed.
   
--
-- Enable AI profile in current session
--
SQL>EXEC DBMS_CLOUD_AI.SET_PROFILE('GENAI');
   
PL/SQL procedure successfully completed.

--
-- Get Profile in current session
--
SQL> SELECT DBMS_CLOUD_AI.get_profile() from dual;
 
DBMS_CLOUD_AI.GET_PROFILE()
--------------------------------------------------------------------------------
"GENAI"   
   
-- Use AI
   
SQL> select ai chat what is Autonomous Database;
   
RESPONSE
--------------------------------------------------------------------------------
Autonomous Database is a cloud-based database service provided by Oracle. It is
designed to automate many of the routine tasks involved in managing a database,
such as patching, tuning, and backups. Autonomous Database uses machine learning
 and automation to optimize performance, security, and availability, allowing us
ers to focus on their applications and data rather than database administration
tasks. It offers both Autonomous Transaction Processing (ATP) for transactional
workloads and Autonomous Data Warehouse (ADW) for analytical workloads. Autonomo
us Database provides high performance, scalability, and reliability, making it a
n ideal choice for modern cloud-based applications.



SQL> EXEC DBMS_CLOUD_AI.DROP_PROFILE('GENAI');
  
PL/SQL procedure successfully completed.

Seleccionar IA con OCI Generative AI mediante el modelo LLMA

En este ejemplo se muestra la función chat del modelo LLMA de OCI Generative AI. Destaca las capacidades del modelo a través de dos indicaciones: generar un correo electrónico amigable a los clientes para las recomendaciones de películas y generar un párrafo introductorio sobre la escalada en roca.

SQL> BEGIN                                                                          
	  DBMS_CLOUD.CREATE_CREDENTIAL(                                                
		credential_name => 'GENAI_CRED',                                           
		user_ocid       => 'ocid1.user.oc1..aaa',
		tenancy_ocid    => 'ocid1.tenancy.oc1..aaa',
		private_key     => '<your_api_key>',
		fingerprint     => '<your_fingerprint>'       
	  );                                                                           
	 END;                                                                           
	/
	
	PL/SQL procedure successfully completed.
	
	BEGIN                                                                          
	  DBMS_CLOUD_AI.CREATE_PROFILE(                                                
		  'GENAI',
		  '{"provider": "oci",
			"model": "meta.llama-2-70b-chat",
			"oci_runtimetype":"LLAMA"}');
	END;                                                                           
	/
	
	PL/SQL procedure successfully completed.

SQL> BEGIN                                                                          
	  DBMS_CLOUD_AI.SET_ATTRIBUTE(                                                 
		  'GENAI', 'credential_name', 'GENAI_CRED');                               
	 END;                                                                           
	/                                                                              
	
	PL/SQL procedure successfully completed.

SQL > BEGIN                                                                          
	  DBMS_CLOUD_AI.SET_ATTRIBUTE(                                                 
		  'GENAI', 'oci_compartment_id', 'ocid1.compartment.oc1...');
	  END;                                                                           
	  /
	
	PL/SQL procedure successfully completed.

SQL> EXEC DBMS_CLOUD_AI.SET_PROFILE('GENAI');
          
	PL/SQL procedure successfully completed.

SQL> set linesize 150                                                               
SQL> SELECT AI chat Generate a friendly email to customer Gilbert Lee with two action-thriller movie recommendations available through our MovieStream service;
SQL>  
	RESPONSE
	------------------------------------------------------------------------------------------------------------------------------------------------------
	.
	Subject: Action-packed movie recommendations for you!
	Dear Gilbert,
	I hope this email finds you well! I wanted to reach out to you today to recommend two action-thriller movies that are currently available on our Movie
	Stream service. I think you'll really enjoy them!
	The first movie I recommend is "John Wick" starring Keanu Reeves. This movie follows the story of a retired hitman who seeks vengeance against a power
	ful crime lord and his army of assassins. The action scenes are intense and non-stop, and Keanu Reeves delivers an outstanding performance.
	RESPONSE
	------------------------------------------------------------------------------------------------------------------------------------------------------
	The second movie I recommend is "Mission: Impossible - Fallout" starring Tom Cruise. This movie follows Ethan Hunt and his team as they try to prevent
	 a global catastrophe. The action scenes are heart-stopping and the stunts are truly impressive. Tom Cruise once again proves why he's one of the grea
	test action stars of all time.
	Both of these movies are sure to keep you on the edge of your seat and provide plenty of thrills and excitement. They're available to stream now on Mo
	vieStream, so be sure to check them out!
	If you have any questions or need assistance with MovieStream, please don't hesitate to reach out to me. I'm always here to help.
	Thank you for being a valued customer, and I hope you enjoy the movies!
	RESPONSE
	------------------------------------------------------------------------------------------------------------------------------------------------------
	Best regards,
	[Your Name]
	MovieStream Customer Service
	
SQL> SELECT AI chat Write an enthusiastic introductory paragraph on how to get started with rock climbing with Athletes as the target audience;
	RESPONSE
	------------------------------------------------------------------------------------------------------------------------------------------------------
	Rock climbing is an exhilarating and challenging sport that's perfect for athletes looking to push their limits and test their strength, endurance, an
	d mental toughness. Whether you're a seasoned athlete or just starting out, rock climbing offers a unique and rewarding experience that will have you
	hooked from the very first climb. With its combination of physical and mental challenges, rock climbing is a great way to build strength, improve flex
	ibility, and develop problem-solving skills. Plus, with the supportive community of climbers and the breathtaking views from the top of the climb, you
	'll be hooked from the very first climb. So, if you're ready to take on a new challenge and experience the thrill of adventure, then it's time to get
	started with rock climbing!

Mejorar la generación de consultas SQL agregando comentarios a tablas y columnas de base de datos

En este ejemplo se muestra cómo los comentarios de las tablas y columnas de la base de datos pueden mejorar la generación de consultas SQL a partir de peticiones de datos en lenguaje natural. En este ejemplo, Azure OpenAI Service actúa como proveedor de IA. El parámetro "comments":"true" de la función DBMS_CLOUD_AI.CREATE_PROFILE determina si los comentarios se transfieren al modelo para la generación de SQL.

-- Adding comments to table 1, table 2, and table 3. Table 1 has 3 columns, table 2 has 7 columns, table 3 has 2 columns.

-- TABLE1
COMMENT ON TABLE table1 IS 'Contains movies, movie titles and the year it was released';
COMMENT ON COLUMN table1.c1 IS 'movie ids. Use this column to join to other tables';
COMMENT ON COLUMN table1.c2 IS 'movie titles';
COMMENT ON COLUMN table1.c3 IS 'year the movie was released';
-- TABLE2
COMMENT ON TABLE table2 IS 'transactions for movie views - also known as streams';
COMMENT ON COLUMN table2.c1 IS 'day the movie was streamed';
COMMENT ON COLUMN table2.c2 IS 'genre ids. Use this column to join to other tables';
COMMENT ON COLUMN table2.c3 IS 'movie ids. Use this column to join to other tables';
COMMENT ON COLUMN table2.c4 IS 'customer ids. Use this column to join to other tables';
COMMENT ON COLUMN table2.c5 IS 'device used to stream, watch or view the movie';
COMMENT ON COLUMN table2.c6 IS 'sales from the movie';
COMMENT ON COLUMN table2.c7 IS 'number of views, watched, streamed';

-- TABLE3
COMMENT ON TABLE table3 IS 'Contains the genres';
COMMENT ON COLUMN table3.c1 IS 'genre id. use this column to join to other tables';
COMMENT ON COLUMN table3.c2 IS 'name of the genre';


BEGIN
  DBMS_CLOUD_AI.CREATE_PROFILE(
    profile_name => 'myprofile',
    attributes =>       
        '{"provider": "azure",
          "azure_resource_name": "my_resource",                    
          "azure_deployment_name": "my_deployment",
          "credential_name": "my_credential",
          "comments":"true", 
          "object_list": [
            {"owner": "moviestream", "name": "table1"},
            {"owner": "moviestream", "name": "table2"},
            {"owner": " moviestream", "name": "table3"}             
          ]          
          }'
    );

    DBMS_CLOUD_AI.SET_PROFILE(
        profile_name => 'myprofile'
    );

END;
/

--Prompts
select ai what are our total views;
RESPONSE
-------------------------------------------------
TOTAL_VIEWS
-----------
   97890562

select ai showsql what are our total views;

RESPONSE                                                                 
-------------------------------------------------------------------------
SELECT SUM(QUANTITY_SOLD) AS total_views
FROM "moviestream"."table"

select ai what are our total views broken out by device;

DEVICE                     TOTAL_VIEWS
-------------------------- -----------
mac                           14719238
iphone                        20793516
ipad                          15890590
pc                            14715169
galaxy                        10587343
pixel                         10593551
lenovo                         5294239
fire                           5296916

8 rows selected. 

select ai showsql what are our total views broken out by device;

RESPONSE                                                                               
---------------------------------------------------------------------------------------
SELECT DEVICE, COUNT(*) AS TOTAL_VIEWS
FROM "moviestream"."table"
GROUP BY DEVICE

Terminología

Se describe la definición de algunos de los términos utilizados en la función Seleccionar AI.

A continuación, se muestran los términos relacionados con la función Seleccionar AI:

Término Definición

Credencial de Base de Datos

Las credenciales de base de datos son credenciales de autenticación utilizadas para acceder a las bases de datos e interactuar con ellas. Normalmente consisten en un nombre de usuario y una contraseña, a veces complementados por factores de autenticación adicionales como tokens de seguridad. Estas credenciales se utilizan para establecer una conexión segura entre una aplicación o usuario y una base de datos, lo que garantiza que solo las personas o sistemas autorizados puedan acceder y manipular los datos almacenados en la base de datos.

Alucinación en LLM

La alucinación en el contexto de los modelos de lenguaje grande se refiere a un fenómeno en el que el modelo genera texto que es incorrecto, sin sentido o no relacionado con la petición de datos de entrada. A pesar de ser el resultado del intento del modelo de generar texto coherente, estas instancias pueden contener información que es fabricada, engañosa o puramente imaginativa. La alucinación puede ocurrir debido a sesgos en los datos de entrenamiento, falta de comprensión del contexto adecuado o limitaciones en el proceso de entrenamiento del modelo.

IAM Oracle Cloud Infrastructure Identity and Access Management (IAM) le permite controlar quién tiene acceso a sus recursos en la nube. Puede controlar qué tipo de acceso tiene un grupo de usuarios y a qué recursos específicos. Para obtener más información, consulte Visión general de Identity and Access Management.

Modelo de lenguaje grande (LLM)

Los modelos de lenguaje grande se refieren a modelos avanzados de inteligencia artificial que están entrenados en cantidades masivas de datos de texto para comprender y generar consultas de bases de datos, código de software y lenguaje similares a los humanos. Estos modelos son capaces de realizar una amplia gama de tareas de procesamiento de lenguaje natural, incluida la generación de texto, la traducción, el resumen, la respuesta a preguntas, el análisis de sentimientos y más. Los LLM son arquitecturas basadas en redes neuronales que aprenden patrones, contexto y semántica de los datos de entrada, lo que les permite generar texto coherente y contextualmente relevante.

Peticiones de datos de lenguaje natural

Las peticiones de datos de lenguaje natural son instrucciones legibles por el usuario o solicitudes que se proporcionan para guiar los modelos de IA generativa, como los modelos de lenguaje grande. En lugar de utilizar lenguajes o comandos de programación específicos, los usuarios pueden interactuar con estos modelos introduciendo peticiones de datos en un formato de lenguaje más conversacional o natural. A continuación, los modelos generan la salida en función de la petición de datos proporcionada.

Lista de control de acceso de red (ACL)

Una lista de control de acceso de red es un conjunto de reglas o permisos que definen qué tráfico de red puede pasar a través de un dispositivo de red, como un enrutador, un firewall o una puerta de enlace. Las ACL se utilizan para controlar y filtrar el tráfico entrante y saliente en función de varios criterios, como direcciones IP, números de puerto y protocolos. Desempeñan un papel crucial en la seguridad de la red al permitir a los administradores gestionar y restringir el tráfico de red para evitar el acceso no autorizado, posibles ataques y violaciones de datos.