Gérer les profils AI

Vous pouvez créer et gérer vos profils AI via le package DBMS_CLOUD_AI.

Utilisation de DBMS_CLOUD_AI pour configurer les profils AI

Autonomous Database utilise des profils d'IA pour faciliter et configurer l'accès à un LLM et pour configurer la génération, l'exécution et l'explication de SQL en fonction d'invites en langage naturel. Il facilite également la génération augmentée de récupération à l'aide de modèles d'intégration et d'index vectoriels et permet de discuter avec le LLM.

Les profils AI incluent les objets de base de données qui sont la cible des requêtes en langage naturel. Les métadonnées utilisées à partir de ces cibles peuvent inclure des noms de table de base de données, des noms de colonne, des types de données de colonne et des commentaires. Vous créez et configurez des profils AI à l'aide des procédures DBMS_CLOUD_AI.CREATE_PROFILE et DBMS_CLOUD_AI.SET_PROFILE.

Outre la spécification de tables et de vues dans le profil AI, vous pouvez également indiquer des tables mises en correspondance avec des tables externes, y compris celles décrites dans Interrogation de données externes avec Data Catalog. Cela vous permet d'interroger des données non seulement à l'intérieur de la base de données, mais également des données stockées dans la banque d'objets d'un lac de données.

Effectuer les prérequis pour la sélection d'IA

Avant d'utiliser Select AI, voici les étapes à suivre pour activer DBMS_CLOUD_AI.

Les éléments suivants sont requis pour utiliser DBMS_CLOUD_AI :

  • Accès à un compte cloud Oracle Cloud Infrastructure et à une instance Autonomous Database.
  • Compte d'API payant d'un fournisseur d'IA pris en charge, parmi les suivants :
    Fournisseur d'intelligence artificielle Clés d'API

    OpenAI

    Reportez-vous à Utilisation de OpenAI pour obtenir vos clés d'API.

    Fournisseurs compatibles OpenAI

    Reportez-vous à Utilisation des fournisseurs compatibles avec OpenAI pour obtenir vos clés d'API et provider_endpoint.

    Cohere

    Reportez-vous à Utilisation de Cohere pour obtenir vos clés d'API secrètes.

    Service OpenAI Azure

    Pour plus d'informations sur la configuration du service Azure OpenAI, reportez-vous à Utilisation du service Azure OpenAI.

    OCI Generative AI

    Reportez-vous à Utilisation d'OCI Generative AI.

    Google

    Reportez-vous à Utilisation de Google pour obtenir vos clés d'API.

    Anthropique

    Reportez-vous à Utilisation d'Anthropic pour obtenir vos clés d'API.

    Visage en étreinte

    Reportez-vous à Utilisation de Hugging Face pour obtenir vos clés d'API.

    AWS

    Reportez-vous à Utilisation d'AWS pour obtenir vos clés d'API et votre ID de modèle.

  • Privilèges d'ACL réseau pour accéder à votre fournisseur d'IA externe.
    Remarque

    Les privilèges d'ACL réseau ne sont pas requis pour OCI Generative AI.
  • Informations d'identification qui fournissent l'accès au fournisseur AI.

Octroi de privilèges pour Select AI

Pour utiliser Select AI, l'administrateur doit accorder le privilège EXECUTE sur le package DBMS_CLOUD_AI. Découvrez les privilèges supplémentaires requis pour Select AI et ses fonctionnalités.

Pour configurer DBMS_CLOUD_AI :
  1. Accordez le privilège EXECUTE sur le package DBMS_CLOUD_AI à l'utilisateur qui souhaite utiliser Select AI.

    Par défaut, seul l'administrateur système dispose du privilège EXECUTE. L'administrateur peut accorder le privilège EXECUTE à d'autres utilisateurs.

  2. Accordez le privilège EXECUTE sur DBMS_CLOUD_PIPELINE à l'utilisateur qui souhaite utiliser Sélectionner AI avec RAG.

  3. Accordez l'accès aux listes de contrôle d'accès réseau à l'utilisateur qui souhaite utiliser Select AI et à l'adresse du fournisseur AI.

    L'administrateur système peut accorder l'accès à l'ACL réseau. Pour plus d'informations, reportez-vous à Procédure APPEND_HOST_ACE.

  4. Créez des informations d'identification pour activer l'accès à votre fournisseur AI.

    Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

  5. Accordez des quotas dans le tablespace pour gérer la quantité d'espace dans un tablespace spécifique à l'utilisateur qui souhaite utiliser Select AI avec RAG.

Exemples de privilèges à exécuter Select AI

Consultez des exemples de privilèges requis pour utiliser Select AI et ses fonctionnalités.

L'exemple suivant accorde le privilège EXECUTE à ADB_USER :
GRANT execute on DBMS_CLOUD_AI to ADB_USER;

L'exemple suivant accorde le privilège EXECUTE pour le package DBMS_CLOUD_PIPELINE requis pour RAG :

GRANT EXECUTE on DBMS_CLOUD_PIPELINE to ADB_USER;

Pour vérifier les privilèges accordés à un utilisateur pour les packages DBMS_CLOUD_AI et DBMS_CLOUD_PIPELINE, un administrateur peut exécuter les opérations suivantes :

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');
L'exemple suivant accorde à ADB_USER le privilège d'utiliser l'adresse api.openai.com.
Remarque

Cette procédure n'est pas applicable à 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;
/

Les paramètres sont les suivants :

  • host : hôte, qui peut être le nom ou l'adresse IP de l'hôte. Vous pouvez utiliser un caractère générique pour spécifier un domaine ou un sous-réseau IP. Le nom d'hôte ou de domaine ne distingue pas les majuscules des minuscules.

    Fournisseur d'intelligence artificielle Hôte

    OpenAI

    api.openai.com

    Fournisseurs compatibles OpenAI

    Par exemple, pour Fireworks AI, utilisez api.fireworks.ai

    Cohere

    api.cohere.ai

    Service OpenAI Azure

    <azure_resource_name>.openai.azure.com

    Pour en savoir plus sur azure_resource_name, reportez-vous à Attributs de profil.

    Google

    generativelanguage.googleapis.com

    Anthropique

    api.anthropic.com

    Visage en étreinte

    api-inference.huggingface.co

    AWS

    bedrock-runtime.us-east-1.amazonaws.com

  • ace : entrées de contrôle d'accès (ACE). Le type XS$ACE_TYPE est fourni pour construire chaque entrée ACE pour l'ACL. Pour plus d'informations, reportez-vous à Création d'ACL et d'ACE.

L'exemple suivant crée des informations d'identification pour activer l'accès à OpenAI.


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

Les paramètres sont les suivants :

  • credential_name : nom des informations d'identification à stocker. Le paramètre credential_name doit être conforme aux conventions de dénomination des objets Oracle.

  • username : ensemble, les arguments username et password indiquent vos informations d'identification de fournisseur AI.

    username est un nom utilisateur spécifié par l'utilisateur.

  • password : ensemble, les arguments username et password indiquent vos informations d'identification de fournisseur AI.

    password est la clé d'API secrète du fournisseur d'IA et dépend du fournisseur :

    Fournisseur d'intelligence artificielle Clés d'API

    OpenAI

    Reportez-vous à Utilisation de OpenAI pour obtenir vos clés d'API.

    Fournisseurs compatibles OpenAI

    Reportez-vous à Utilisation des fournisseurs compatibles avec OpenAI pour obtenir vos clés d'API et provider_endpoint.

    Cohere

    Reportez-vous à Utilisation de Cohere pour obtenir vos clés d'API.

    Service OpenAI Azure

    Reportez-vous à Utilisation du service OpenAI Azure pour obtenir vos clés d'API et configurer le service.

    Remarque

    Si vous utilisez le principal de service OpenAI Azure pour vous authentifier, vous pouvez ignorer la procédure DBMS_CLOUD.CREATE_CREDENTIAL. Reportez-vous à Exemples d'utilisation de Select AI pour obtenir un exemple d'authentification à l'aide du principal de service OpenAI Azure.

    OCI Generative AI

    Reportez-vous à Utilisation d'OCI Generative AI pour générer des clés de signature d'API.

    Google

    Reportez-vous à Utilisation de Google pour générer vos clés d'API.

    Anthropique

    Reportez-vous à Utilisation d'Anthropic pour générer vos clés d'API.

    Visage en étreinte

    Reportez-vous à Utilisation de Hugging Face pour générer vos clés d'API.

    AWS

    Reportez-vous à Utilisation d'AWS pour obtenir vos clés d'API et votre ID de modèle.

L'exemple suivant accorde des quotas sur le tablespace à ADB_USER pour utiliser Select AI avec RAG :

ALTER USER ADB_USER QUOTA 1T ON <tablespace_name>;

Pour vérifier le quota de tablespace accordé à un utilisateur, exécutez la commande suivante :

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

Les paramètres sont les suivants :

  • TABLESPACE_NAME : tablespace auquel le quota est affecté. Dans Autonomous Database, les tablespaces sont gérés automatiquement et comportent le préfixe DATA.
  • BYTES : quantité d'espace actuellement utilisée par l'utilisateur dans le tablespace.
  • MAX_BYTES : quota maximal affecté (en octets). Si MAX_BYTES a la valeur -1, cela signifie que l'utilisateur dispose d'un quota illimité sur le tablespace. L'utilisateur de base de données qui crée l'index vectoriel doit avoir une taille MAX_BYTES suffisamment grande que les octets pour prendre en charge l'index vectoriel, ou MAX_BYTES doit avoir une taille -1 pour un quota illimité.

Configuration de Select AI pour utiliser les fournisseurs d'IA pris en charge

Découvrez comment permettre à vos fournisseurs d'IA d'utiliser Select AI.

Utiliser l'anthropologie

Pour permettre à Anthropic Developer Console de générer des réponses SQL et textuelles à vos invites en langage naturel, obtenez les clés d'API à partir de votre compte payant Anthropic Developer Console.

  1. Accédez à Console de développeur anthropique.
  2. Créez un compte si vous n'en avez pas déjà un.
  3. Une fois connecté, accédez à la section API ou au tableau de bord.
  4. Recherchez une option pour générer ou afficher les clés d'API.
  5. Cliquez sur cette option pour créer une clé d'API.
  6. Copiez la clé d'API générée et enregistrez-la.
    L'API Claude est un service payant. Vous devrez ajouter des crédits à votre compte avant de pouvoir utiliser la clé d'API.

Utiliser AWS

Pour activer AWS, obtenez votre clé d'API et votre ID de modèle.

Obtenez votre clé d'API et utilisez-la pour créer des informations d'identification via DBMS_CLOUD.CREATE_CREDENTIAL.

Suivez cette procédure pour obtenir votre clé d'API et votre nom de modèle :

  1. Inscrivez-vous à un compte AWS si vous n'en avez pas déjà un.
  2. Créez vos clés d'accès et vos clés secrètes à partir de la console AWS Bedrock.
  3. Copiez les clés générées et enregistrez-les.
  4. Demander l'accès à leurs modèles de base. Reportez-vous à Accès aux modèles de base Amazon Bedrock.
  5. Obtenez l'ID du modèle. Vous avez besoin de l'ID de modèle dans la procédure DBMS_CLOUD_AI.CREATE_PROFILE. L'ID de modèle dépend des ressources que vous utilisez. Si vous utilisez :
    Remarque

    Le modèle importé n'est pas pris en charge avec l'API Bedrock Converse.
Pour utiliser AWS en tant que fournisseur, reportez-vous à Exemple : sélection d'une IA avec AWS.

Utiliser le service OpenAI Azure

Pour permettre au service OpenAI Azure de générer des réponses SQL et texte à vos invites en langage naturel, configurez et fournissez l'accès au fournisseur d'IA.

Pour utiliser le service OpenAI Azure, procédez comme suit :
  1. Obtenez vos clés d'API secrètes. Vous pouvez trouver vos clés d'API dans la section Resource Management de votre portail Azure. Sur la page Ressource de service OpenAI Azure, cliquez sur Clés et adresse. Vous pouvez copier KEY1 ou KEY2.
  2. Créez une ressource de service OpenAI Azure et déployez un modèle : Créer et déployer une ressource de service OpenAI Azure.

    Conseil :

    • Notez le nom de la ressource et le nom du déploiement car ces paramètres sont utilisés pour fournir des droits d'accès réseau et pour créer le profil de service OpenAI Azure à l'aide de la procédure DBMS_CLOUD_AI.CREATE_PROFILE.
    • Pour en savoir plus sur les limites de débit pour le jeton par minute sur un modèle, reportez-vous à Quota et limites de service Azure OpenAI.
  3. Autoriser l'accès au service OpenAI Azure :

Utilisation de Cohere

Pour permettre à Cohere de générer des réponses SQL et textuelles à vos invites en langage naturel, obtenez des clés d'API à partir de votre compte payant Cohere.

  1. Connectez-vous au site Web de Cohere avec vos informations d'identification. Le tableau de bord Cohere apparaît par défaut.

  2. Vous pouvez également cliquer sur Tableau de bord.

  3. Cliquez sur Clés d'API dans la navigation de gauche. Copiez la clé d'API par défaut ou créez une autre clé. Pour plus d'informations, reportez-vous à API-Keys.

Utiliser Google

Pour permettre à Google AI Studio de générer des réponses SQL et textuelles à vos invites en langage naturel, obtenez des clés d'API à partir de votre compte payant Google AI Studio.

  1. Accédez à Google AI Studio.
  2. Cliquez sur Connexion à Google AI Studio.
  3. Cliquez sur Get API key dans l'écran d'invite.
  4. Sélectionnez toutes les options applicables sur la page suivante.
  5. Cliquez sur Create API key.
  6. Cliquez sur Créer une clé d'API dans le projet.
    L'écran affiche la progression et génère une clé d'API. Copiez la clé et enregistrez-la.

Utiliser le visage serré

Pour permettre à Hugging Face en tant que fournisseur d'IA de générer des réponses SQL et textuelles à vos invites en langage naturel, obtenez des clés d'API à partir de votre compte payant Hugging Face.

  1. Accédez à Hugging Face.
  2. Créez un compte si vous n'en avez pas déjà un.
  3. Accédez aux paramètres de votre compte.
  4. Dans le menu de navigation, localisez les jetons d'accès.
  5. Cliquez sur cette option pour créer une clé d'API.
  6. Copiez la clé d'API générée et enregistrez-la.

Utiliser OCI Generative AI

Pour permettre à OCI Generative AI de générer des réponses SQL et texte à vos invites en langage naturel, générez une clé de signature d'API.

Utilisez la console ou la ligne de commande afin de générer une clé de signature d'API pour n'importe quelle instance Oracle Database. Reportez-vous à How to Generate the API Signing Key.

Utiliser OpenAI

Pour activer OpenAI afin de générer des réponses SQL et texte à vos invites en langage naturel, obtenez les clés d'API à partir de votre compte payant OpenAI.

Vous trouverez votre clé d'API secrète dans le tableau de bord de votre profil sous Clés d'API.

Utiliser des fournisseurs compatibles avec OpenAI

Pour activer les fournisseurs compatibles avec OpenAI, obtenez votre clé d'API.

Les fournisseurs compatibles avec OpenAI utilisent l'authentification au porteur. Obtenez votre clé d'API et utilisez-la pour créer des informations d'identification via DBMS_CLOUD.CREATE_CREDENTIAL. Par exemple, Fireworks AI est un fournisseur compatible OpenAI.

Suivez le processus pour obtenir votre clé d'API AI Fireworks, l'URL du chemin de base du modèle et le nom du modèle :

  1. Inscrivez-vous à un compte Fireworks AI si vous n'en avez pas déjà un.
  2. Créez une clé d'API à partir de la console AI Fireworks.
  3. Copiez la clé d'API générée et enregistrez-la.
  4. Obtenez l'adresse de fournisseur dont vous avez besoin dans la procédure DBMS_CLOUD_AI.CREATE_PROFILE :
    1. Sélectionnez l'un des modèles disponibles en cliquant sur les modèles disponibles.
    2. Accédez à l'exemple d'API et obtenez le chemin d'URL de base compatible avec OpenAI.
      Pour le modèle Llama 3.2 3B Instruct, l'URL de chemin de base est : https://api.fireworks.ai/inference/v1/chat/completions. Pour le paramètre provider_endpoint, excluez /v1/chat/completions. La valeur provider_endpoint pour le modèle mentionné est https://api.fireworks.ai/inference.
      Remarque

      Certains fournisseurs peuvent nécessiter un préfixe pour le nom de modèle. Reportez-vous à la documentation du fournisseur d'IA pour connaître le format correct.
  5. A partir du même exemple d'API, copiez le nom du modèle. Vous devez indiquer le nom du modèle dans la procédure DBMS_CLOUD_AI.CREATE_PROFILE. Par exemple, accounts/fireworks/models/llama-v3p2-3b-instruct.
Pour utiliser Firework AI en tant que fournisseur compatible OpenAI, reportez-vous à Exemple : sélection d'IA avec des fournisseurs compatibles OpenAI.

Création et définition d'un profil AI

Décrit les étapes de création et d'activation d'un profil AI.

Utilisez DBMS_CLOUD_AI.CREATE_PROFILE pour créer un profil AI. Exécutez DBMS_CLOUD_AI.SET_PROFILE pour activer le profil AI afin de pouvoir utiliser SELECT AI avec une invite en langage naturel.

Remarque

Vous devez exécuter DBMS_CLOUD_AI.SET_PROFILE dans chaque nouvelle session de base de données avec conservation de statut (connexion) avant d'utiliser SELECT AI. Si vous utilisez une connexion sans conservation de statut, vous devez utiliser la fonction DBMS_CLOUD_AI.GENERATE qui vous permet d'indiquer le nom du profil dans chaque appel.

L'exemple suivant avec le fournisseur OpenAI crée un profil AI appelé OPENAI et définit le profil OPENAI pour la session utilisateur en cours.

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