Gestionar perfiles de IA

Puede crear y gestionar sus perfiles de AI mediante el paquete DBMS_CLOUD_AI.

Uso de DBMS_CLOUD_AI para configurar perfiles de AI

Autonomous Database utiliza perfiles de IA para facilitar y configurar el acceso a un LLM y para configurarlo para generar, ejecutar y explicar SQL basado en peticiones de datos de lenguaje natural. También facilita la recuperación de la generación aumentada mediante la incrustación de modelos e índices vectoriales y permite chatear con el LLM.

Los perfiles de IA 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. Puede crear y configurar perfiles AI 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 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.

Realización de requisitos para Seleccionar IA

Antes de utilizar Select AI, estos son los pasos para activar 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.
  • Cuenta de API de pago de un proveedor de IA compatible, una de las siguientes opciones:
    Proveedor de IA Claves de API

    OpenAI

    Consulte Uso de OpenAI para obtener las claves de API.

    Cohere

    Consulte Uso de Cohere para obtener sus claves API secretas.

    Servicio OpenAI de Azure

    Consulte Uso del servicio OpenAI de Azure para obtener más información sobre cómo configurar el servicio OpenAI de Azure.

    OCI Generative AI

    Consulte Uso de OCI Generative AI.

    Google

    Consulte Uso de Google para obtener sus claves de API.

    Antrópico

    Consulte Uso de Anthropic para obtener sus claves de API.

    Cara abrazada

    Consulte Uso de Hugging Face para obtener sus claves de API.

  • Privilegios de ACL de red para acceder al proveedor de AI externo.
    Nota

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

Active 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.

    De forma predeterminada, solo el administrador del sistema tiene el privilegio EXECUTE. El administrador puede otorgar el privilegio EXECUTE a otros usuarios.

  2. Otorgue el privilegio EXECUTE en DBMS_CLOUD_PIPELINE al usuario que desea utilizar Select AI con RAG.

    Nota

    Si el usuario ya tiene el rol DWROLE, se incluye este privilegio y no se necesita un permiso adicional.
  3. Otorgue acceso de ACL de red al usuario que desea utilizar Select AI y para el punto final del proveedor de AI.

    El administrador del sistema puede otorgar acceso de ACL de red. Consulte procedimiento APPEND_HOST_ACE para obtener más información.

  4. Cree una credencial para permitir el acceso a su proveedor de AI.

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

  5. Otorgue cuotas en el tablespace para gestionar la cantidad de espacio en un tablespace específico al usuario que desea utilizar Select AI con RAG.

Ejemplos de privilegios para ejecutar Select AI

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 el privilegio EXECUTE para el paquete DBMS_CLOUD_PIPELINE necesario para RAG:

GRANT EXECUTE on DBMS_CLOUD_PIPELINE to ADB_USER;

Para comprobar los privilegios otorgados a un usuario para los paquetes DBMS_CLOUD_AI y DBMS_CLOUD_PIPELINE, un administrador puede ejecutar lo siguiente:

SELECT table_name AS package_name, privilege 
 FROM DBA_TAB_PRIVS 
 WHERE grantee = '<username>'
 AND   (table_name = 'DBMS_CLOUD_PIPELINE'
        OR table_name = 'DBMS_CLOUD_AI');
En el siguiente ejemplo se otorga a ADB_USER el privilegio para utilizar el punto final api.openai.com.
Nota

Este procedimiento no se aplica a OCI Generative AI.
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;
/

Los parámetros son:

  • 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 host o el nombre de dominio no son sensibles a mayúsculas/minúsculas.

    Proveedor de IA Host

    OpenAI

    api.openai.com

    Cohere

    api.cohere.ai

    Servicio OpenAI de Azure

    <azure_resource_name>.openai.azure.com

    Consulte Atributos de perfil para obtener más información sobre azure_resource_name.

    Google

    generativelanguage.googleapis.com

    Antrópico

    api.anthropic.com

    Cara abrazada

    api-inference.huggingface.co

  • ace: entradas de control de acceso (ACE). Se proporciona el tipo XS$ACE_TYPE para construir cada entrada de ACE para la ACL. Para obtener más información, consulte Creating ACLs and ACE.

En el siguiente ejemplo se crea una credencial para activar el acceso a OpenAI.


EXEC 
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name   => 'OPENAI_CRED', 
username          =>  'OPENAI', 
password          =>  '<your_api_token>');

Los parámetros son:

  • 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.

  • 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 IA y depende del proveedor:

    Proveedor de IA Claves de API

    OpenAI

    Consulte Uso de OpenAI para obtener las claves de API.

    Cohere

    Consulte Uso de Cohere para obtener sus claves de API.

    Servicio OpenAI de Azure

    Consulte Uso del servicio OpenAI de Azure para obtener sus claves de API y configurar el servicio.

    Nota

    Si utiliza la entidad de servicio OpenAI de Azure para autenticarse, puede omitir el procedimiento DBMS_CLOUD.CREATE_CREDENTIAL. Consulte Examples of Using Select AI para obtener un ejemplo de autenticación mediante la entidad de servicio OpenAI de Azure.

    OCI Generative AI

    Consulte Uso de OCI Generative AI para generar claves de firma de API.

    Google

    Consulte Uso de Google para generar las claves de API.

    Antrópico

    Consulte Uso de Anthropic para generar sus claves de API.

    Cara abrazada

    Consulte Uso de Hugging Face para generar sus claves de API.

En el siguiente ejemplo se otorgan cuotas en el tablespace a ADB_USER para utilizar Select AI con RAG:

ALTER USER ADB_USER QUOTA 1T ON <tablespace_name>;

Para comprobar la cuota de tablespace otorgada a un usuario, ejecute lo siguiente:

SELECT TABLESPACE_NAME, BYTES, MAX_BYTES 
FROM DBA_TS_QUOTAS 
WHERE USERNAME = '<username>' AND
      TABLESPACE_NAME LIKE 'DATA%';

Los parámetros son:

  • TABLESPACE_NAME: tablespace para el que se asigna la cuota. En Autonomous Database, los tablespaces se gestionan automáticamente y tienen DATA como prefijo.
  • BYTES: cantidad de espacio que utiliza actualmente el usuario en el tablespace.
  • MAX_BYTES: cuota máxima asignada (en bytes). Si MAX_BYTES es -1, significa que el usuario tiene una cuota ilimitada en el tablespace. El usuario de base de datos que crea el índice vectorial debe tener MAX_BYTES suficientemente grande que los bytes para acomodar el índice vectorial, o MAX_BYTES debe ser -1 para una cuota ilimitada.

Temas

Utilice OpenAI

Para permitir que OpenAI genere respuestas de texto y SQL a sus peticiones de datos en lenguaje natural, obtenga las claves de API de su cuenta de pago OpenAI.

Puede encontrar su clave de API secreta en el panel de control de perfil, en Claves de API.

Usar Cohere

Para permitir que Cohere genere respuestas de texto y SQL a sus peticiones de datos en lenguaje natural, obtenga claves de API de su cuenta de pago de 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 permitir que el servicio OpenAI de Azure genere respuestas de texto y SQL a sus peticiones de datos en 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 API secretas. Puede encontrar sus claves de API en la sección Resource Management de su portal de Azure. En la página Recurso de servicio OpenAI de Azure, haga clic en Claves y punto final. Puede copiar KEY1 o KEY2.
  2. Cree un recurso de servicio OpenAI de Azure y despliegue un modelo: Cree y despliegue un recurso de servicio OpenAI de Azure.

    Consejo:

    • Anote el nombre de recurso y el nombre de despliegue, ya que estos parámetros se utilizan para proporcionar permiso de acceso de red y para crear el perfil de servicio OpenAI de Azure 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:

Uso de OCI Generative AI

Para permitir que OCI Generative AI genere respuestas de texto y SQL a sus peticiones de datos en lenguaje natural, genere una clave de firma de API.

Utilice la consola o la línea de comandos para generar una clave de firma de API para cualquier instancia de Oracle Database. Consulte Cómo generar la clave de firma de API.

Usar Google

Para permitir que Google AI Studio genere respuestas de texto y SQL a sus peticiones de datos en lenguaje natural, obtenga claves de API de su cuenta de pago de Google AI Studio.

  1. Vaya a Google AI Studio.
  2. Haga clic en Iniciar sesión en Google AI Studio.
  3. Haga clic en Obtener clave de API en la pantalla de petición de datos.
  4. Seleccione todas las opciones aplicables en la página siguiente.
  5. Haga clic en Create API key.
  6. Haga clic en Create API key en el nuevo proyecto.
    La pantalla muestra el progreso y genera una clave de API. Copie la clave y guárdela.

Usar antrópico

Para permitir que Anthropic Developer Console genere respuestas de texto y SQL a sus peticiones de datos en lenguaje natural, obtenga claves de API de su cuenta de pago de Anthropic Developer Console.

  1. Vaya a Anthropic Developer Console.
  2. Regístrate para obtener una cuenta si aún no tienes una.
  3. Una vez conectado, vaya a la sección API o al panel de control.
  4. Busque una opción para generar o ver claves de API.
  5. Haga clic para crear una nueva clave de API.
  6. Copie la clave de API generada y guárdela.
    La API de Claude es un servicio de pago. Tendrás que agregar créditos a tu cuenta para poder usar la clave de API.

Usar cara abrazada

Para permitir que Hugging Face como proveedor de IA genere respuestas de texto y SQL a sus peticiones de datos en lenguaje natural, obtenga claves de API de su cuenta de pago de Hugging Face.

  1. Vaya a Hugging Face.
  2. Regístrate para obtener una cuenta si aún no tienes una.
  3. Vaya a la configuración de la cuenta.
  4. En el menú de navegación, busque los tokens de acceso.
  5. Haga clic para crear una nueva clave de API.
  6. Copie la clave de API generada y guárdela.

Creación y definició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. Ejecute DBMS_CLOUD_AI.SET_PROFILE para activar el perfil AI para 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 con estado (conexión) antes de utilizar SELECT AI. Si utiliza una conexión sin estado, debe utilizar la función DBMS_CLOUD_AI.GENERATE, que le permite especificar el nombre de perfil en cada llamada.

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
--BEGIN
  DBMS_CLOUD_AI.CREATE_PROFILE(
  profile_name   => 'OPENAI',
  attributes     =>'{"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
--
EXEC DBMS_CLOUD_AI.set_profile('OPENAI');
 
PL/SQL procedure successfully completed.