Package DBMS_CLOUD_AI
Le package DBMS_CLOUD_AI, avec Select AI, facilite et configure la traduction des invites de langage naturel pour générer, exécuter et expliquer des instructions SQL. Permet également l'extraction de la génération augmentée et des interactions basées sur le langage naturel, y compris le chat avec les LLM.
Prérequis
- Créez une passerelle NAT dans le réseau cloud virtuel (VCN) où résident vos ressources Autonomous AI Database en suivant les instructions fournies dans Création d'une passerelle NAT dans la documentation Oracle Cloud Infrastructure.
- Après avoir créé la passerelle NAT, ajoutez une règle de routage et une règle de sécurité sortante à chaque sous-réseau (dans le VCN) où résident les ressources Autonomous AI Database afin que ces ressources puissent utiliser la passerelle pour obtenir une clé publique à partir de votre instance Azure AD :
- Accédez à la page Détails du sous-réseau.
- Dans l'onglet Informations sur le sous-réseau, cliquez sur le nom de la table de routage du sous-réseau pour afficher la page Détails de la table de routage correspondante.
- Dans la table des règles de routage existantes, vérifiez s'il existe déjà une règle avec les caractéristiques suivantes :
- Destination : 0.0.0.0/0
- Type de cible : passerelle NAT
- Cible : nom de la passerelle NAT que vous venez de créer dans le VCN
Si une telle règle n'existe pas, cliquez sur Ajouter des règles de routage et ajoutez une règle possédant ces caractéristiques.
- Revenez à la page Détails du sous-réseau.
- Dans la table Listes de sécurité du sous-réseau, cliquez sur le nom de la liste de sécurité du sous-réseau pour afficher la page Détails de la liste de sécurité correspondante.
- Dans le menu latéral, sous Resources, cliquez sur Egress Rules.
- Dans la table des règles sortantes existantes, vérifiez s'il existe déjà une règle avec les caractéristiques suivantes :
- Type de destination : CIDR
- Destination : 0.0.0.0/0
- Protocole IP : TCP
- Plage de ports source: 443
- Plage de ports de destination : Tout
Si une telle règle n'existe pas, cliquez sur Ajouter des règles sortantes et ajoutez une règle présentant ces caractéristiques.
Les paramètres de proxy HTTP de votre environnement doivent permettre à la base de données d'accéder au fournisseur de services cloud.
Remarques :
La configuration réseau, y compris le proxy HTTP, ne peut être modifiée que jusqu'à ce que l'infrastructure Exadata présente l'état Activation requise. Une fois activé, vous ne pouvez plus modifier ces paramètres.La configuration d'un proxy HTTP pour une infrastructure Exadata déjà provisionnée nécessite une demande de service (SR) dans My Oracle Support. Pour plus d'informations, reportez-vous à Création d'une demande d'assistance dans My Oracle Support.
Récapitulatif des sous-programmes DBMS_CLOUD_AI
Cette section couvre les sous-programmes DBMS_CLOUD_AI fournis avec Autonomous AI Database.
| Sous-programme | Description |
|---|---|
|
Cette procédure crée un nouveau profil AI pour traduire les invites en langage naturel en instructions SQL. |
|
|
Cette procédure désactive un profil AI dans la base de données actuelle. |
|
|
Cette procédure supprime un profil AI existant. |
|
|
Cette procédure permet d'utiliser un profil AI dans la base de données actuelle. |
|
| Cette fonction génère une instruction SQL utilisant AI pour traduire. | |
|
Cette procédure définit les attributs de profil AI. |
|
|
Cette procédure définit le profil AI pour la base de données actuelle. |
CREATE_PROFILE Procédure
La procédure crée un nouveau profil AI pour traduire les invites en langage naturel en instruction SQL.
Syntaxe
DBMS_CLOUD_AI.CREATE_PROFILE
profile_name IN VARCHAR2,
attributes IN CLOB DEFAULT NULL,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom du profil AI. Le nom du profil doit respecter les règles de dénomination de l'identificateur SQL Oracle. La longueur maximale du nom de profil est de 125 caractères. Ce paramètre est obligatoire. |
|
|
Attributs de profil au format JSON. Pour plus d'informations, reportez-vous à Attributs de profil AI. Valeur par défaut : NULL. |
status |
Statut du profil. La valeur par défaut est Activer. |
|
|
Description du profil AI. Valeur par défaut : NULL. |
Exemple
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE(
profile_name => 'OpenAI,
attributes => JSON_OBJECT('provider' value 'openai',
'credential_name' value 'openai_cred'),
description => 'AI profile to use OpenAI for SQL translation'
);
END;
/
DROP_PROFILE Procédure
La procédure supprime un profil AI existant. Si le profil n'existe pas, la procédure génère une erreur.
Syntaxe
DBMS_CLOUD_AI.DROP_PROFILE(
profile_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom du profil AI |
|
|
Si La valeur par défaut de ce paramètre est |
Exemple
BEGIN
DBMS_CLOUD_AI.DROP_PROFILE(profile_name => 'OPENAI');
END;
/Remarques sur l'utilisation
Utilisez force pour supprimer un profil et ignorer les erreurs si le profil AI n'existe pas.
ENABLE_PROFILE Procédure
Cette procédure active le profil AI spécifié par l'utilisateur. La procédure modifie le statut du profil AI en ENABLED.
Syntaxe
DBMS_CLOUD_AI.ENABLE_PROFILE(
profile_name IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom du profil AI à activer Ce paramètre est obligatoire. |
Exemple d'activation du profil AI
BEGIN
DBMS_CLOUD_AI.ENABLE_PROFILE(
profile_name => 'OPENAI'
);
END;
/
DISABLE_PROFILE Procédure
Cette procédure désactive le profil AI dans la base de données actuelle. Le statut du profil AI est remplacé par DISABLED par cette procédure.
Syntaxe
DBMS_CLOUD_AI.DISABLE_PROFILE(
profile_name IN VARCHAR2
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom du profil AI. Ce paramètre est obligatoire. |
Exemple
BEGIN
DBMS_CLOUD_AI.DISABLE_PROFILE(
profile_name => 'OPENAI'
);
END;
/
SET_ATTRIBUTE Procédure
Cette procédure vous permet de définir des attributs de profil AI.
Syntaxe
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN CLOB
);
Paramètres
Seul le propriétaire peut définir ou modifier les attributs du profil AI. Pour obtenir une liste des attributs pris en charge, reportez-vous à la section Profile Attributes.
| Paramètre | Description |
|---|---|
|
|
Nom du profil AI pour lequel vous voulez définir les attributs. Ce paramètre est obligatoire. |
|
|
Nom de l'attribut de profil AI Ce paramètre est obligatoire. |
|
|
Valeur de l'attribut de profil. Valeur par défaut : NULL. |
Exemple
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name => 'OPENAI',
attribute_name => 'credential_name',
attribute_value => 'OPENAI_CRED_NEW'
);
END;
/
SET_PROFILE Procédure
Cette procédure définit le profil AI pour la session en cours.
Après avoir défini un profil AI pour la session de base de données, toute instruction SQL avec le préfixe SELECT AI est considérée comme une invite en langage naturel. En fonction de l'action indiquée avec le préfixe AI, une réponse est générée à l'aide du programme d'installation automatisée. Pour utiliser le préfixe AI, reportez-vous à Utilisation du mot-clé AI pour saisir des invites. Vous pouvez éventuellement remplacer les attributs de profil ou les modifier en les spécifiant au format JSON. Pour définir les attributs, reportez-vous à Procédure SET_ATTRIBUTE.
Le profil AI peut uniquement être défini pour la session en cours si le propriétaire du profil AI est l'utilisateur de la session.
Pour définir un profil AI pour toutes les sessions d'un utilisateur de base de données spécifique ou pour toutes les sessions utilisateur de la base de données, envisagez d'utiliser un déclencheur d'événement de base de données pour l'événement AFTER LOGON sur l'utilisateur spécifique ou sur l'ensemble de la base de données. Pour plus d'informations, reportez-vous à Instruction CREATE TRIGGER dans Référence de langage PL/SQL Database Oracle Database 19c ou Référence de langage PL/SQL Oracle Database 26ai Database.
Syntaxe
DBMS_CLOUD_AI.SET_PROFILE(
profile_name IN VARCHAR2,
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom du profil AI dans la session en cours. Ce paramètre est obligatoire. |
Exemple
BEGIN
DBMS_CLOUD_AI.SET_PROFILE(
profile_name => 'OPENAI'
);
END;
/
Fonction GENERATE
showsql, narrate ou chat. L'action par défaut est showsql.
Le remplacement de tout ou partie des attributs de profil est également possible à l'aide de cette fonction.
Syntaxe
DBMS_CLOUD_AI.GENERATE(
prompt IN CLOB,
profile_name IN VARCHAR2 DEFAULT NULL,
action IN VARCHAR2 DEFAULT NULL,
attributes IN CLOB DEFAULT NULL
) RETURN CLOB;
Paramètres
| Paramètre | Description |
|---|---|
|
|
Invite de langage naturel à traduire à l'aide de l'IA. L'invite peut inclure Ce paramètre est obligatoire. |
|
|
Nom du profil AI. Ce paramètre est facultatif si un profil AI est déjà défini dans la session à l'aide de Valeur par défaut : NULL. Les conditions suivantes s'appliquent :
Remarques : Pour Database Actions, vous pouvez indiquer l'argumentprofile_name dans DBMS_CLOUD_AI.GENERATE ou exécuter deux étapes en tant que script PL/SQL : DBMS_CLOUD_AI.SET_PROFILE et DBMS_CLOUD_AI.GENERATE.
|
action |
Action permettant de traduire une invite naturelle à l'aide de l'IA. Les actions prises en charge sont Remarques : Cette fonction ne prend pas en charge l'actionrunsql. Si vous fournissez l'action runsql, elle renvoie l'erreur suivante : |
attributes |
Remplacer des attributs de profil AI spécifiques en fournissant des attributs au format JSON. Pour plus d'informations, reportez-vous à Attributs de profil. |
Exemples
Les exemples suivants illustrent les actions showsql, narrate et chat qui peuvent être utilisées avec la fonction DBMS_CLOUD_AI.GENERATE.
Voici un exemple avec l'action showsql :
SELECT DBMS_CLOUD_AI.GENERATE(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'showsql')
FROM dual;
Voici un exemple avec l'action narrate :
SELECT DBMS_CLOUD_AI.GENERATE(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'narrate')
FROM dual;
Voici un exemple avec l'action chat :
SELECT DBMS_CLOUD_AI.GENERATE(prompt => 'what is oracle autonomous database',
profile_name => 'OPENAI',
action => 'chat')
FROM dual;
Fonction GENERATE_SYNTHETIC_DATA
La syntaxe suivante permet de générer des données synthétiques pour une seule table.
Syntaxe
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name IN VARCHAR2,
object_name IN DBMS_ID,
owner_name IN DBMS_ID,
record_count IN NUMBER,
user_prompt IN CLOB DEFAULT NULL,
params IN CLOB DEFAULT NULL
);
La syntaxe suivante permet de générer des données synthétiques pour plusieurs tables.
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name IN VARCHAR2,
object_list IN CLOB,
params IN CLOB DEFAULT NULL
);
Si vous ne voulez pas que les données de table ou les documents de recherche vectorielle soient envoyés à un LLM, un utilisateur disposant de privilèges d'administrateur peut désactiver cet accès pour tous les utilisateurs de la base de données donnée. Cela désactive en effet l'action narrate.
Paramètres
| Paramètre | Obligatoire | Description |
|---|---|---|
|
|
Oui |
Profil AI contenant les informations de service LLM nécessaires. Cette opération peut être créée par la procédure CREATE_PROFILE. |
|
|
Oui | Indiquez un nom de table pour alimenter les données synthétiques.
|
owner_name |
No |
Indiquez l'utilisateur de base de données propriétaire de l'objet référencé. Si aucun propriétaire spécifique n'est fourni, la procédure utilise par défaut le schéma de l'utilisateur qui l'exécute. |
record_count |
No |
Nombre d'enregistrements devant être générés de manière synthétique. |
|
|
No | Informations supplémentaires qu'un utilisateur peut mentionner pour générer des données synthétiques. Par exemple, pour générer un enregistrement pour une table appelée MOVIE avec une colonne release_date, user_prompt peut être :
la date de sortie des films devrait être en 2019 |
|
|
No |
Attributs facultatifs fournis au format de chaîne d'objet JSON pour modifier le comportement d'une API. Reportez-vous à Paramètres facultatifs. |
|
|
Oui | Utilisez ce paramètre pour générer des données synthétiques sur plusieurs tables. Ce paramètre prend des informations sur les objets de table avec ses arguments et contient les mêmes arguments que ceux fournis dans la table unique. Reportez-vous à Paramètres object_list. |
Paramètres facultatifs
| Paramètre | Type de données de valeur | Value | Description |
|---|---|---|---|
|
|
Chiffre |
|
Indiquez le nombre de lignes de la table à utiliser comme exemple pour guider le LLM dans la génération de données. La valeur 0 signifie qu'aucune ligne d'exemple ne sera utilisée. La valeur par défaut est |
|
|
Booléen |
|
Activez ou désactivez l'utilisation des informations de statistiques de table. La valeur par défaut est |
|
|
Chaîne |
Valeurs valides :
|
Affectez une valeur de priorité qui définit le nombre de demandes parallèles envoyées au LLM pour générer des données synthétiques. Les tâches avec une priorité plus élevée consommeront plus de ressources de base de données et se termineront plus rapidement. La valeur par défaut est
Le nombre maximum de traitements parallèles simultanés utilisés pour la génération de données synthétiques est limité à 64. |
|
|
Booléen |
|
Activer ou désactiver l'envoi de commentaires au LLM pour guider la génération des données. La valeur par défaut est |
Paramètres object_list
| Paramètre | Type de données de valeur | Obligatoire | Description |
|---|---|---|---|
|
|
Chaîne |
Oui |
Indique l'utilisateur de base de données propriétaire de l'objet référencé. Si aucun propriétaire spécifique n'est fourni, la procédure utilise par défaut le schéma de l'utilisateur qui l'exécute. |
|
|
Chaîne |
No |
Indiquez un nom de table pour alimenter les données synthétiques. Les privilèges SELECT et INSERT sur les objets de table sont nécessaires pour que l'utilisateur qui utilise la table it.The soit vide, soit qu'il y ait des enregistrements.
|
|
|
Chiffre |
No |
Nombre d'enregistrements devant être générés de manière synthétique. Indiquez un nombre supérieur à 0. Fournissez |
|
|
Chiffre |
No |
Pourcentage du nombre d'enregistrements à générer synthétiquement. Indiquez un nombre supérieur à 0. Pour une base de données de clone de métadonnées, où les métadonnées de table, y compris les statistiques, sont conservées, le paramètre Fournissez Lorsque vous utilisez le paramètre
record_count_percentage, le nombre d'enregistrements finaux dans la table est calculé comme suit :
|
|
|
Chaîne | No | Identique à user_prompt dans Paramètres. user_prompt est associé à un objet de table spécifique.
|
Exemples
Les exemples suivants illustrent la fonction DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA permettant de générer des données synthétiques pour une seule table et plusieurs tables. Pour obtenir un exemple complet et voir d'autres exemples, reportez-vous à la section .
BEGIN
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name => 'GENAI',
object_name => 'Director',
owner_name => 'ADB_USER',
record_count => 5
);
END;
/
PL/SQL procedure successfully completed.
BEGIN
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name => 'GENAI',
object_list => '[{"owner": "ADB_USER", "name": "Director","record_count":5},
{"owner": "ADB_USER", "name": "Movie_Actor","record_count":5},
{"owner": "ADB_USER", "name": "Actor","record_count":10},
{"owner": "ADB_USER", "name": "Movie","record_count":5,"user_prompt":"all movies are released in 2009"}]'
);
END;
/
PL/SQL procedure successfully completed.
Procédure ENABLE_DATA_ACCESS
Cette procédure permet d'envoyer des données au LLM pour les fonctionnalités Select AI applicables, qui est le comportement par défaut. Seul un administrateur peut exécuter cette procédure.
Cette procédure contrôle l'accès aux données pour les fonctionnalités Select AI suivantes :
- Action
narrate - Génération augmentée de récupération (RAG).
- Génération de données synthétiques
Syntaxe
DBMS_CLOUD_AI.ENABLE_DATA_ACCESS();Paramètres
Cette procédure ne nécessite aucun paramètre.
Exemple d'activation de l'accès aux données
BEGIN
DBMS_CLOUD_AI.ENABLE_DATA_ACCESS();
END;
/
Procédure DISABLE_DATA_ACCESS
Cette procédure désactive l'envoi de données au LLM pour les fonctionnalités Select AI applicables. Seul un administrateur peut exécuter cette procédure.
Cette procédure limite les fonctionnalités Select AI suivantes :
- Action
narrate - Génération augmentée de récupération (RAG).
- Génération de données synthétiques
Syntaxe
DBMS_CLOUD_AI.DISABLE_DATA_ACCESS();Paramètres
Cette procédure ne nécessite aucun paramètre.
Exemple de désactivation de l'accès aux données
BEGIN
DBMS_CLOUD_AI.DISABLE_DATA_ACCESS();
END;
/
Procédure CREATE_VECTOR_INDEX
Cette procédure crée un index vectoriel dans la base de données vectorielle spécifiée et l'alimente avec les données d'une banque d'objets à l'aide d'un travail de planificateur asynchrone.
Syntaxe
PROCEDURE CREATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attributes IN CLOB DEFAULT NULL,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
); Paramètres
Exemple
L'exemple suivant montre comment créer un index vectoriel et configurer les attributs en tant que paramètres JSON.
BEGIN
DBMS_CLOUD_AI.CREATE_VECTOR_INDEX(
index_name => 'MY_INDEX'
attributes => JSON_OBJECT(
'vector_db_provider' value 'oracle',
'vector_table_name' value 'oracle_mycollection',
'profile_name' value 'OCIGENAI',
'location' value
'https://objectstorage.us-phoenix-1.' ||
'oraclecloud.com/n/mynamespace/b/mybucket',
'object_store_credential_name' value 'OS_CRED',
'chunk_size' value 2048,
'chunk_overlap' value 256,
'refresh_rate' value 720)
);
END;
/
Procédure DROP_VECTOR_INDEX
Cette procédure supprime un index de banque de vecteurs. Il supprime normalement l'objet d'index de banque de vecteurs et supprime la banque de vecteurs. Si la valeur est FALSE, l'argument include_data garantit que la procédure supprime uniquement l'objet d'index de banque de vecteurs tout en conservant la banque de vecteurs.
Syntaxe
PROCEDURE DROP_VECTOR_INDEX(
index_name IN VARCHAR2,
include_data IN BOOLEAN DEFAULT TRUE,
force IN BOOLEAN DEFAULT FALSE
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom de l'index de vecteur. Le nom de l'index vectoriel doit respecter les règles de dénomination de l'identificateur SQL Oracle. La longueur maximale du nom de banque de vecteurs est de 125 caractères. Ce paramètre est obligatoire. |
|
|
Indique si l'index vectoriel et l'index vectoriel du client doivent être supprimés avec l'objet d'index vectoriel. Valeurs possibles :
La valeur par défaut est |
force |
Indique si les erreurs qui se produisent doivent être ignorées si l'index vectoriel n'existe pas. Valeurs possibles :
Si la valeur est La valeur par défaut est |
Exemple
BEGIN
DBMS_CLOUD_AI.DROP_VECTOR_INDEX(
index_name => 'MY_INDEX',
include_data => FALSE,
force => TRUE
);
END;
/
Procédure DISABLE_VECTOR_INDEX
Cette procédure désactive un objet d'index vectoriel dans la base de données en cours. Lorsqu'il est désactivé, un profil AI ne peut pas utiliser l'index vectoriel et le système ne charge pas de données dans le magasin de vecteurs car de nouvelles données sont ajoutées à la banque d'objets et n'effectue pas d'indexation, de recherche ou d'interrogation en fonction de l'index.
Syntaxe
DBMS_CLOUD_AI.DISABLE_VECTOR_INDEX(
index_name IN VARCHAR2
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom de l'index de vecteur. Le nom de l'index vectoriel doit respecter les règles de dénomination de l'identificateur SQL Oracle. La longueur maximale du nom de banque de vecteurs est de 125 caractères. Ce paramètre est obligatoire. |
Exemple
Vous pouvez désactiver un index vectoriel en indiquant le nom de l'index vectoriel.
BEGIN
DBMS_CLOUD_AI.DISABLE_VECTOR_INDEX(index_name => 'MY_INDEX');
END;
/
Procédure ENABLE_VECTOR_INDEX
Cette procédure active ou active un objet d'index vectoriel précédemment désactivé. En général, lorsque vous créez un index vectoriel, il est activé par défaut de sorte que le profil AI puisse l'utiliser pour effectuer une indexation et une recherche.
Lorsqu'il est activé, un index vectoriel permet à un profil AI de l'utiliser pour charger de nouvelles données à partir d'une banque d'objets dans une banque de vecteurs à un taux d'actualisation spécifié par l'utilisateur. Vous pouvez indiquer le paramètre refresh_rate via la liste d'objets JSON. Pour configurer les attributs JSON, reportez-vous à .
Syntaxe
DBMS_CLOUD_AI.ENABLE_VECTOR_INDEX(
index_name IN VARCHAR2
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom de l'index de vecteur. Le nom de l'index vectoriel doit respecter les règles de dénomination de l'identificateur SQL Oracle. La longueur maximale du nom de banque de vecteurs est de 125 caractères. Ce paramètre est obligatoire. |
Exemple
Vous pouvez activer ou activer un index vectoriel en indiquant le nom de l'index vectoriel comme suit :
BEGIN
DBMS_CLOUD_AI.ENABLE_VECTOR_INDEX(index_name => 'MY_INDEX');
END;
/
Procédure UPDATE_VECTOR_INDEX
- valeurs d'attribut de différents types.
- attributs d'index vectoriel en tant que document JSON et met à jour les attributs d'un index de stockage vectoriel existant avec le nom d'attribut et la paire de valeurs indiqués.
Syntaxe
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attributes IN CLOB
);
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN VARCHAR2
);
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN CLOB DEFAULT NULL
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom de l'index de vecteur. Le nom de l'index vectoriel doit respecter les règles de dénomination de l'identificateur SQL Oracle. La longueur maximale du nom de banque de vecteurs est de 125 caractères. Ce paramètre est obligatoire. |
|
|
Spécifie les attributs d'index vectoriel au format JSON. Ce paramètre est obligatoire. |
|
|
Nom des attributs personnalisés indiqués en tant que paramètres JSON dans la procédure Vous ne pouvez pas modifier les attributs suivants :
Ce paramètre est obligatoire. |
attribute_value |
Valeur indiquée par l'utilisateur pour le fichier Valeur par défaut : NULL. |
Remarques :
Utilisez le paramètreattributes pour indiquer les paires attribute_name et valeur au format JSON ou les paramètres attribute_name et attribute_value ensemble.
Exemples
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attribute_name => 'object_storage_credential_name',
attribute_value => 'NEW_CRED'
);
END;
/
L'exemple suivant accepte le type NUMBER en tant que attribute_value.
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attribute_name => 'match_limit',
attribute_value => 10
);
END;
/
L'exemple suivant accepte le type VARCHAR2 en tant que attribute_value.
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attribute_name => 'profile_name',
attribute_value => 'AI_PROF2'
);
END;
/
L'exemple suivant accepte attributes au format JSON.
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_VECTOR_INDEX',
attributes => '{"match_limit": 10,
"refresh_rate": 30}'
);
END;
/
Attributs de profil
Attributs
| Nom d'attribut | Description |
|---|---|
|
|
Nom du modèle déployé de service OpenAI Azure. Le nom ne peut inclure que des caractères alphanumériques, un trait de soulignement (_) et un tiret (-). Le nom ne peut pas se terminer par un trait de soulignement (_) ou un trait d'union (-). Pour savoir comment obtenir |
|
|
Nom de la ressource de service OpenAI Azure. Le nom de la ressource peut uniquement inclure des caractères alphanumériques et des tirets, et ne peut pas commencer ni se terminer par un tiret. Pour savoir comment obtenir |
|
|
Incluez les commentaires de colonne dans les métadonnées utilisées pour traduire les invites en langage naturel à l'aide du programme AI. Le type de données Remarques : Les valeurs booléennes ne sont pas applicables dans la procédureDBMS_CLOUD_AI.SET_ATTRIBUTE lors de la définition d'un attribut unique car le paramètre attribute_value est de type de données CLOB.
|
|
|
Attribut |
|
|
Nom des informations d'identification permettant d'accéder aux API du fournisseur AI. Vous pouvez créer des informations d'identification à l'aide de jetons de porteur en utilisant le nom de fournisseur comme nom d'utilisateur et le jeton de porteur comme mot de passe. Il s'agit d'un attribut obligatoire. Reportez-vous à Procédure CREATE_CREDENTIAL. |
|
|
Modèle d'intégration défini dans le profil AI. Les fournisseurs d'IA pris en charge pour l'intégration de modèles avec leurs valeurs par défaut sont les suivants :
Remarques : Le paramètreembedding_model n'est pas applicable pour Anthropic et Hugging Face.
|
|
|
Indique le nombre de sèmes à prévoir par génération. La valeur par défaut est 1024. Pour plus d'informations, reportez-vous à Jetons et jetons. |
|
|
Nom du modèle AI utilisé pour générer les réponses. Modèles pris en charge pour :
Remarques : Ce paramètre n'est pas utilisé pour Azure car le modèle est déterminé lorsque vous créez votre déploiement dans le portail Service OpenAI Azure. |
|
|
Tableau d'objets JSON indiquant le propriétaire et les noms d'objet éligibles pour la traduction en langage naturel en SQL. Pour inclure tous les objets d'un utilisateur donné, omettez le "nom" et indiquez uniquement la clé "propriétaire" dans l'objet JSON. Pour la traduction du langage naturel en langage SQL, le nom de l'objet, le propriétaire de l'objet, les colonnes d'objet et les commentaires sont envoyés au fournisseur AI à l'aide de demandes HTTPS. Evitez de spécifier des objets avec un nom d'objet sensible, des noms de colonne ou des commentaires dans la liste d'objets. Les fournisseurs d'IA peuvent avoir une limite sur la taille des métadonnées autorisées dans les demandes de traduction. Envisagez de limiter la liste des objets adaptés aux invites en langage naturel par les utilisateurs de l'application. Format:
|
|
|
Indique l'OCID du compartiment auquel vous êtes autorisé à accéder lors de l'appel du service OCI Generative AI. L'ID de compartiment peut contenir des caractères alphanumériques, des tirets et des points. La valeur par défaut est l'ID de compartiment de la base de données AI autonome. |
|
|
Cet attribut indique l'OCID d'adresse du cluster d'hébergement d'IA dédié Oracle. L'ID d'adresse peut contenir des caractères alphanumériques, des tirets et des points. Pour rechercher l'OCID d'adresse, reportez-vous à Obtention des détails d'une adresse dans Generative AI. Pour utiliser le cluster d'IA dédié Oracle, vous devez fournir l'OCID d'adresse du cluster d'hébergement. Par défaut, l'ID d'adresse est vide et le modèle est à la demande sur une infrastructure partagée. |
|
|
Cet attribut indique le type d'exécution du modèle fourni. Cet attribut est requis lorsque l'attribut Toutes les valeurs autorisées sont disponibles dans OCI Generative AI runtimeType. Reportez-vous à Référence LlmInferenceRequest. Les valeurs prises en charge sont les suivantes :
|
|
|
Fournisseur d'IA pour le profil d'IA. Fournisseurs pris en charge :
Il s'agit d'un attribut obligatoire. |
|
|
Cet attribut indique l'emplacement du cluster Generative AI que vous souhaitez utiliser. La région peut contenir des caractères alphanumériques et des tirets.
Remarques : Le cluster d'IA générative Oracle est disponible dans les régions de Chicago, Francfort et Londres. Reportez-vous à Modèles de base préentraînés dans Generative AI.us-chicago-1.
|
|
|
Le texte généré se terminera au début de la séquence d'arrêt la plus ancienne. La séquence sera incorporée dans le texte. La valeur d'attribut doit être un tableau valide de valeurs de chaîne au format JSON. |
|
|
L'échantillonnage à partir des modèles Générer du texte intègre le caractère aléatoire, de sorte que la même invite peut générer des sorties différentes chaque fois que vous cliquez sur "Générer". La température est un nombre flottant non négatif utilisé pour régler le degré d'aléatoire. Des températures plus basses signifient des générations moins aléatoires. Pour plus d'informations, reportez-vous à la section Temperature. Ce paramètre est applicable à tous les fournisseurs de services pris en charge. |
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE(
profile_name => 'COHERE',
attributes =>
'{"provider": "cohere",
"credential_name": "COHERE_CRED",
"object_list": [{"owner": "ADB_USER"}],
"max_tokens":512,
"stop_tokens": [";"],
"model": "command-nightly",
"temperature": 0.5,
"comments": true
}');
END;
/
L'exemple suivant présente les attributs de profil personnalisés utilisant OCI Generative AI :
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE(
profile_name => 'GENAI',
attributes => '{"provider": "oci",
"credential_name": "GENAI_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"}],
"oci_compartment_id": "ocid1.compartment.oc1...",
"oci_endpoint_id": "ocid1.generativeaiendpoint.oc1.us-chicago-1....",
"region": "us-chicago-1",
"model": "cohere.command-light",
"oci_runtimetype": "COHERE"
}');
END;
/