Gérer les profils d'intelligence artificielle

Vous pouvez créer et gérer vos profils d'intelligence artificielle au moyen de l'ensemble DBMS_CLOUD_AI.

Utiliser DBMS_CLOUD_AI pour configurer les profils d'intelligence artificielle

Autonomous AI 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 des énoncés SQL en fonction des invites de langage naturel. Il facilite également la génération augmentée d'extraction à l'aide de modèles d'intégration et d'index vectoriels et permet de clavarder avec le LLM.

Les profils d'intelligence artificielle incluent les objets de base de données qui sont la cible des interrogations 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 d'IA à l'aide des procédures DBMS_CLOUD_AI.CREATE_PROFILE et DBMS_CLOUD_AI.SET_PROFILE.

En plus de spécifier des tables et des vues dans le profil d'intelligence artificielle, vous pouvez également spécifier des tables mappées avec des tables externes, notamment celles décrites sous Interroger les données externes avec le catalogue de données. Cela vous permet d'interroger des données non seulement dans la base de données, mais également dans le magasin d'objets d'un lac de données.

Effectuer les préalables pour sélectionner l'intelligence artificielle

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

Les conditions suivantes sont requises pour utiliser DBMS_CLOUD_AI :

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

    OpenAI

    Voir Utiliser OpenAI pour obtenir vos clés d'API.

    Fournisseurs compatibles avec OpenAI

    Voir Utiliser les fournisseurs compatibles OpenAI pour obtenir vos clés d'API et provider_endpoint.

    Cohere

    Voir Utiliser Cohere pour obtenir vos clés d'API de clé secrète.

    Service Azure OpenAI

    Voir Utiliser le service Azure OpenAI pour plus d'informations sur la configuration du service Azure OpenAI.

    Service d'intelligence artificielle générative pour OCI

    Voir Utiliser l'intelligence artificielle générative pour OCI.

    Google

    Voir Utiliser Google pour obtenir vos clés d'API.

    Anthropique

    Voir Utiliser Anthropic pour obtenir vos clés d'API.

    S'étreindre le visage

    Voir Utiliser le visage Hugging pour obtenir vos clés d'API.

    AWS

    Voir Utiliser AWS pour obtenir vos clés d'API et votre ID modèle.

  • Privilèges de liste de contrôle d'accès réseau pour accéder à votre fournisseur d'IA externe.
    Note

    Les privilèges de liste de contrôle d'accès réseau ne sont pas requis pour le service d'intelligence artificielle générative pour OCI.
  • Données d'identification qui donnent accès au fournisseur d'intelligence artificielle.

Accorder des privilèges pour sélectionner l'intelligence artificielle

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

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

    Par défaut, seul l'administrateur de 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 l'IA avec la RAG.

    Note

    Si l'utilisateur a déjà le rôle DWROLE, ce privilège est inclus et aucune autorisation supplémentaire n'est requise.
  3. Accorder l'accès à la liste de contrôle d'accès réseau à l'utilisateur qui souhaite utiliser Select AI et au point d'extrémité du fournisseur d'IA.

    L'administrateur de système peut accorder l'accès à la liste de contrôle d'accès réseau. Pour plus d'informations, voir ProcédureAPPEND_HOST_ACE.

  4. Créez des données d'identification pour permettre l'accès à votre fournisseur d'intelligence artificielle.

    Pour plus d'informations, voir ProcédureCREATE_CREDENTIAL.

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

Exemples de privilèges pour exécuter Select AI

Examinez 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 l'ensemble DBMS_CLOUD_PIPELINE requis pour la RAG :

GRANT EXECUTE on DBMS_CLOUD_PIPELINE to ADB_USER;

Pour vérifier les privilèges accordés à un utilisateur pour les ensembles 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 le point d'extrémité api.openai.com.
Note

Cette procédure ne s'applique pas au service d'intelligence artificielle générative pour OCI.
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. L'hôte ou le nom de domaine n'est pas sensible à la casse.

    Fournisseur d'intelligence artificielle Hôte

    OpenAI

    api.openai.com

    Fournisseurs compatibles avec OpenAI

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

    Cohere

    api.cohere.ai

    Service Azure OpenAI

    <azure_resource_name>.openai.azure.com

    Voir Attributs de profil pour en savoir plus sur azure_resource_name.

    Google

    generativelanguage.googleapis.com

    Anthropique

    api.anthropic.com

    S'étreindre le visage

    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 la liste de contrôle d'accès. Pour plus de détails, voir Création de listes de contrôle d'accès et de candidatures exceptionnelles.

L'exemple suivant crée des données d'identification pour permettre 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 données d'identification à stocker. Le paramètre credential_name doit être conforme aux conventions d'attribution de nom d'objet Oracle.

  • username : Les arguments username et password spécifient ensemble les données d'identification du fournisseur d'intelligence artificielle.

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

  • password : Les arguments username et password spécifient ensemble les données d'identification du fournisseur d'intelligence artificielle.

    password est la clé d'API de clé secrète de votre fournisseur d'intelligence artificielle et dépend du fournisseur :

    Fournisseur d'intelligence artificielle Clés d'API

    OpenAI

    Voir Utiliser OpenAI pour obtenir vos clés d'API.

    Fournisseurs compatibles avec OpenAI

    Voir Utiliser les fournisseurs compatibles OpenAI pour obtenir vos clés d'API et provider_endpoint.

    Cohere

    Voir Utiliser Cohere pour obtenir vos clés d'API.

    Service Azure OpenAI

    Voir Utiliser le service Azure OpenAI pour obtenir vos clés d'API et configurer le service.

    Note

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

    Service d'intelligence artificielle générative pour OCI

    Voir Utiliser le service d'intelligence artificielle générative pour OCI pour générer des clés de signature d'API.

    Google

    Voir Utiliser Google pour générer vos clés d'API.

    Anthropique

    Voir Utiliser Anthropic pour générer vos clés d'API.

    S'étreindre le visage

    Voir Utiliser le visage Hugging pour générer vos clés d'API.

    AWS

    Voir Utiliser AWS pour obtenir vos clés d'API et votre ID modèle.

L'exemple suivant accorde des quotas sur l'espace-table à ADB_USER pour utiliser Select AI avec la RAG :

ALTER USER ADB_USER QUOTA 1T ON <tablespace_name>;

Pour vérifier le quota de tablespace accordé à un utilisateur, exécutez les opérations suivantes :

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 : Espace-table pour lequel le quota est affecté. Dans Autonomous AI Database, les espaces-tables sont gérés automatiquement et ont DATA comme préfixe.
  • BYTES : Quantité d'espace actuellement utilisée par l'utilisateur dans l'espace-table.
  • 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 l'espace-table. L'utilisateur de base de données qui crée l'index vectoriel doit avoir une taille de MAX_BYTES suffisamment supérieure à celle des octets pour accueillir l'index vectoriel, ou la valeur de MAX_BYTES doit être -1 pour un quota illimité.

Configurer l'intelligence artificielle sélectionnée pour utiliser les fournisseurs d'intelligence artificielle pris en charge

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

Utiliser Anthropic

Pour permettre à Anthropic Developer Console 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 Anthropic Developer Console.

  1. Allez à Anthropic Developer Console.
  2. Inscrivez-vous pour un compte si vous n'en avez pas déjà un.
  3. Une fois connecté, naviguez jusqu'à la section API ou au tableau de bord.
  4. Recherchez une option pour générer ou voir des clés d'API.
  5. Cliquer 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 modèle.

Obtenez votre clé d'API et utilisez-la pour créer des données d'identification au moyen de DBMS_CLOUD.CREATE_CREDENTIAL.

Procédez de la façon suivante pour obtenir votre clé d'API et le nom du 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 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. Voir Accéder aux modèles de fondation Amazon Bedrock.
  5. Obtenez l'ID modèle. Vous avez besoin de l'ID modèle dans la procédure DBMS_CLOUD_AI.CREATE_PROFILE. Le code de modèle dépend des ressources que vous utilisez. Si vous utilisez :
    Note

    Le modèle importé n'est pas pris en charge par l'API Bedrock Converse.
Pour utiliser AWS comme fournisseur, voir Exemple : Sélectionner l'IA avec AWS.
Utiliser le service Azure OpenAI

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

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

    Conseil :

    • Notez le nom de la ressource et le nom du déploiement, car ces paramètres sont utilisés pour fournir une autorisation d'accès au réseau et pour créer votre profil de service Azure OpenAI à 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 dans un modèle, voir Quotas et limites du service Azure OpenAI.
  3. Autoriser l'accès au service Azure OpenAI :
Utiliser 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 identifiants. Le tableau de bord Cohere s'affiche par défaut.

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

  3. Cliquez sur Clés d'API dans la barre de navigation de gauche. Copiez la clé d'API par défaut ou créez une autre clé. Voir Clés d'API pour plus d'informations.

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. Allez à Google AI Studio.
  2. Cliquez sur Se connecter à Google AI Studio.
  3. Cliquez sur Get API key dans l'écran d'invite.
  4. Sélectionnez toutes les options applicables dans la page suivante.
  5. Cliquez sur Create API key.
  6. Cliquez sur Create API key in new project.
    L'écran affiche la progression et génère une clé d'API. Copiez la clé et enregistrez-la.
Utiliser le visage câblé

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. Allez à Hugging Face.
  2. Inscrivez-vous pour un compte si vous n'en avez pas déjà un.
  3. Naviguez jusqu'aux paramètres de votre compte.
  4. Dans le menu de navigation, localisez les jetons d'accès.
  5. Cliquer pour créer une clé d'API.
  6. Copiez la clé d'API générée et enregistrez-la.
Utiliser l'intelligence artificielle générative pour OCI

Pour permettre au service d'intelligence artificielle générative d'OCI de générer des réponses SQL et textuelles à vos invites de langage naturel, générez une clé de signature d'API.

Utilisez la console ou la ligne de commande pour générer une clé de signature d'API pour toute instance Oracle Database. Voir Comment générer la clé de signature d'API.
Utiliser OpenAI

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

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

Utiliser les 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 données d'identification au moyen de DBMS_CLOUD.CREATE_CREDENTIAL. Par exemple, Fireworks AI est un fournisseur compatible avec OpenAI.

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

  1. Inscrivez-vous pour un compte Fireworks AI si vous n'en avez pas déjà un.
  2. Créez une clé d'API à partir de la console d'intelligence artificielle Fireworks.
  3. Copiez la clé d'API générée et enregistrez-la.
  4. Obtenez le point d'extrémité 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. Faites défiler jusqu'à l'exemple d'API et obtenez le chemin de l'URL de base compatible OpenAI.
      Pour le modèle Llama 3.2 3B Instruct, l'URL du chemin de base est : https://api.fireworks.ai/inference/v1/chat/completions. Pour le paramètre provider_endpoint, excluez /v1/chat/completions. provider_endpoint pour le modèle mentionné est https://api.fireworks.ai/inference.
      Note

      Certains fournisseurs peuvent nécessiter un préfixe pour le nom du modèle. Consultez la documentation du fournisseur d'intelligence artificielle pour connaître le format correct.
  5. Dans le 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 comme fournisseur compatible OpenAI, voir Exemple : Sélectionner AI avec des fournisseurs compatibles OpenAI.

Créer et définir un profil d'intelligence artificielle

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

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

Note

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

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

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