Ensemble DBMS_CLOUD_AI
L'ensemble 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 énoncés SQL. Permet également d'extraire la génération augmentée et les interactions basées sur le langage naturel, y compris le clavardage avec les LLM.
- Aperçu de DBMS_CLOUD_AI
Décrit l'utilisation de l'ensembleDBMS_CLOUD_AI. - Sommaire des sous-programmes DBMS_CLOUD_AI
Cette section traite des sous-programmesDBMS_CLOUD_AIfournis avec Autonomous AI Database.
Aperçu de DBMS_CLOUD_AI
Décrit l'utilisation de l'ensemble DBMS_CLOUD_AI.
Utilisez l'ensemble DBMS_CLOUD_AI pour créer des profils d'IA et les configurer pour l'accès à un modèle de langage volumineux (LLM). Définissez le profil IA dans la session utilisateur de base de données courante pour effectuer des tâches telles que la génération, l'exécution et l'explication du code SQL. En outre, activez la génération augmentée d'extraction et les interactions basées sur le langage naturel, y compris le clavardage avec les LLM.
Pour en savoir plus sur les plates-formes et les LLM pris en charge, voir À propos de Select AI.
Rubrique parent : Ensemble DBMS_CLOUD_AI
Sommaire des sous-programmes DBMS_CLOUD_AI
Cette section décrit les sous-programmes DBMS_CLOUD_AI fournis avec Autonomous AI Database.
| Sous-programme | Description |
|---|---|
|
Cette procédure crée un nouveau profil d'IA pour traduire les invites de langage naturel en instructions SQL. |
|
|
Fournit les attributs de profil d'intelligence artificielle que vous pouvez configurer. |
|
|
Cette procédure efface un profil d'intelligence artificielle actif dans la session courante. |
|
|
Cette procédure désactive un profil d'intelligence artificielle dans la base de données courante. |
|
|
Cette procédure supprime un profil IA existant. |
|
|
Cette procédure permet à un profil IA d'être utilisé dans la base de données courante. |
|
| Cette fonction vous permet d'utiliser Select AI d'une manière sans état avec votre profil existant. | |
|
Cette fonction génère des données synthétiques. |
|
|
Cette fonction retourne le nom de profil utilisé dans la session courante. |
|
|
Cette procédure définit les attributs de profil d'intelligence artificielle. |
|
|
Cette procédure vous permet de définir un ou plusieurs attributs de profil IA en acceptant des paires nom d'attribut et valeur au format JSON. |
|
|
Cette procédure définit le profil d'intelligence artificielle pour la base de données courante. |
|
|
Utilisez cette procédure pour activer l'envoi de données à votre GML. |
|
|
Utilisez cette procédure pour désactiver l'envoi de données à votre GML. |
|
|
Utilisez cette procédure pour améliorer potentiellement la précision de génération d'interrogation en fournissant une rétroaction à Select AI. |
|
|
Il s'agit d'un index vectoriel par défaut créé lorsque vous utilisez |
|
|
Cette procédure vous aide à créer une conversation. |
|
|
Cette fonction vous aide à créer une conversation et à utiliser l'ID conversation dans d'autres procédures. |
|
|
Utilisez les attributs de conversation pour personnaliser vos conversations. |
|
|
Cette procédure met à jour une procédure existante avec des paramètres spécifiés par l'utilisateur. |
|
|
Cette procédure définit la prise en charge de la conversation dans la session courante. |
|
|
Cette procédure vous aide à obtenir le paramètre |
|
|
Cette procédure vous aide à effacer tout |
|
|
Cette procédure supprime une invite particulière. |
|
|
Cette procédure supprime l'intégralité d'une conversation et ses métadonnées. |
|
|
Cette fonction résume votre contenu en fonction des paramètres. |
|
|
Utilisez les attributs de regroupement pour personnaliser la génération de sommaire. |
|
|
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'un magasin d'objets à l'aide d'un travail asynchrone du programmateur. |
|
|
Cette procédure supprime un index de stockage vectoriel. Il supprime normalement l'objet d'index de stockage vectoriel et supprime la base de données vectorielle. |
|
|
Cette procédure désactive un objet d'index vectoriel dans la base de données courante. Lorsqu'elle est désactivée, un profil d'IA ne peut pas utiliser l'index vectoriel et le système ne charge pas de données dans la banque de vecteurs. |
|
|
Cette procédure active ou active un objet d'index vectoriel précédemment désactivé. |
|
|
Cette procédure met à jour un index de stockage vectoriel existant avec une valeur spécifiée de l'attribut d'index vectoriel. |
|
|
Fournit les attributs de profil d'index vectoriel que vous pouvez configurer. |
- Procédure CREATE_PROFILE
La procédure crée un nouveau profil d'intelligence artificielle pour traduire les invites de langage naturel en énoncé SQL. - Attributs de profil
Les attributs d'un profil d'IA permettent de gérer et de configurer le comportement du profil d'IA. Certains attributs sont facultatifs et ont une valeur par défaut. - Procédure CLEAR_PROFILE
Cette procédure efface tout profil d'intelligence artificielle actif défini dans la session courante. Une fois que vous avez effacé un profil actif, vous ne pouvez plus utiliserSELECT AIsur la ligne de commande SQL ni utiliser le profil d'intelligence artificielle défini lors de l'appel deDBMS_CLOUD_AI.GENERATE. Cette procédure ne supprime pas le profil. - Procédure DROP_PROFILE
La procédure supprime un profil d'IA existant. Si le profil n'existe pas, la procédure génère une erreur. - Procédure ENABLE_PROFILE
Cette procédure active le profil d'intelligence artificielle que l'utilisateur spécifie. La procédure modifie le statut du profil d'intelligence artificielle àENABLED. - Procédure DISABLE_PROFILE
Cette procédure désactive le profil IA dans la base de données courante. Le statut du profil d'intelligence artificielle est modifié àDISABLEDpar cette procédure. - Procédure FEEDBACK
Cette procédure vous permet de fournir une rétroaction à Select AI afin d'améliorer la précision de la génération d'interrogation. Vous avez la possibilité de fournir une rétroaction positive ou négative, ainsi que des commentaires textuels ou des interrogations SQL révisées. - Index vectoriel pour FEEDBACK
Sélectionnez AI pour créer un index vectoriel par défaut nommé<profile_name>_FEEDBACK_VECINDEXavec des attributs par défaut lorsque vous utilisez la fonction de rétroaction pour la première fois. - Fonction GET_PROFILE
Cette fonction retourne le nom du profil d'intelligence artificielle défini dans la session courante. - Procédure SET_ATTRIBUTE
Cette procédure vous permet de définir des attributs de profil IA. Il est surchargé d'accepter des valeurs d'attribut de différents types. - Procédure SET_ATTRIBUTES
Cette procédure vous permet de définir un ou plusieurs attributs de profil IA. Les paires nom d'attribut et valeur sont fournies en tant que document JSON. - Fonction GENERATE
Cette fonction fournit une traduction de l'IA lors de l'utilisation d'une connexion de base de données sans état. Avec votre profil d'intelligence artificielle existant, vous pouvez utiliser cette fonction pour effectuer les actions prises en charge telles queshowsql,runsql,explainsql,narrate,summarizeetchat. L'action par défaut estshowsql. - Procédure SET_PROFILE
Cette procédure définit le profil d'intelligence artificielle pour la session courante. - Procédure CREATE_CONVERSATION
Cette procédure vous permet de créer une conversation et de définir automatiquementconversation_iddans la procédure. - Fonction CREATE_CONVERSATION
Cette fonction crée une conversation et retourne sa valeurconversation_idqui peut être utilisée dans d'autres procédures ou fonctions telles queDBMS_CLOUD_AI.SET_CONVERSATION_IDetDBMS_CLOUD_AI.GENERATE. - Attributs CREATE_CONVERSATION
Ces attributs gèrent le contexte de conversation, y compris la durée de conservation, le nombre d'invites avec des réponses à stocker ou à afficher, et des métadonnées telles que le titre et la description pour référence. Certains attributs sont facultatifs et ont une valeur par défaut. - Procédure UPDATE_CONVERSATION
Cette procédure met à jour une conversation existante avec une valeur spécifiée des attributs de conversation. - Procédure SET_CONVERSATION_ID
Cette procédure règle la conversation courante à l'ID spécifié. Les invites suivantes incluent les invites de conversation existantes basées sur les attributs configurés de la conversation. - Fonction GET_CONVERSATION_ID
Cette fonction retourne l'ID conversation actuellement défini dans la session à l'aide de la procédureDBMS_CLOUD_AI.SET_CONVERSATION_IDouDBMS_CLOUS_AI.CREATE_CONVERSATION. Si vous n'avez pas défini de conversation, la fonction retourne la valeur NULL. Si vous supprimez la conversation, le système l'efface également dans la session. - Procédure CLEAR_CONVERSATION_ID
Cette procédure efface un ID conversation défini dans la session pour désactiver la fonction de conversation pourSELECT AI <ACTION> <PROMPT>. Si vous n'avez pas défini de conversation, le système ne génère aucune erreur. - Procédure DELETE_CONVERSATION_PROMPT
La procédure supprime une certaine invite de la conversation. - Procédure DROP_CONVERSATION
La procédure supprime la conversation et toutes les invites associées, ainsi que les réponses associées. Une fois supprimé,conversation_iddevient non valide. Si une conversation est supprimée alors qu'elle est définie dans la session, elle est effacée automatiquement. - Fonction SUMMARIZE
Cette fonction résume votre contenu en fonction des options de personnalisation que vous fournissez en tant que paramètres. - Paramètres SUMMARIZE
Ces attributs gèrent la génération de sommaire avec des paramètres personnalisés. Certains attributs sont facultatifs et ont une valeur par défaut. - Fonction TRANSLATE
Cette fonction vous permet de traduire votre texte dans le fichiertarget_languagespécifié. - Fonction GENERATE_SYNTHETIC_DATA
Utilisez cette procédure pour générer des données synthétiques pour une seule table, plusieurs tables ou un schéma complet. - Procédure ENABLE_DATA_ACCESS
Cette procédure permet d'envoyer des données au LLM pour les fonctions Select AI applicables, qui sont le comportement par défaut. Seul un administrateur peut exécuter cette procédure. - Procédure DISABLE_DATA_ACCESS
Cette procédure désactive l'envoi de données au GML pour les fonctions de sélection d'IA applicables. Seul un administrateur peut exécuter cette procédure. - 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'un magasin d'objets à l'aide d'une tâche de programmateur asynchrone. - Procédure DROP_VECTOR_INDEX
Cette procédure supprime un index de stockage vectoriel. Il supprime normalement l'objet d'index de stockage vectoriel et supprime le stockage vectoriel. Si la valeur est réglée àFALSE, l'argumentinclude_datagarantit que la procédure supprime uniquement l'objet d'index de stockage vectoriel tout en conservant le stockage vectoriel. - Procédure DISABLE_VECTOR_INDEX
Cette procédure désactive un objet d'index vectoriel dans la base de données courante. Lorsqu'elle est désactivée, un profil d'IA ne peut pas utiliser l'index vectoriel et le système ne charge pas de données dans le magasin vectoriel car de nouvelles données sont ajoutées au magasin d'objets et n'effectue pas d'indexation, de recherche ou d'interrogation en fonction de l'index. - 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 IA puisse l'utiliser pour effectuer l'indexation et la recherche. - Procédure UPDATE_VECTOR_INDEX
Cette procédure met à jour un index de stockage vectoriel existant avec une valeur spécifiée de l'attribut d'index vectoriel. - Attributs d'index vectoriel
Les attributs d'un index vectoriel permettent de gérer et de configurer le comportement de l'index vectoriel. Vous pouvez ajouter des attributs d'index personnalisés si nécessaire. Certains attributs sont facultatifs et ont une valeur par défaut.
Rubrique parent : Ensemble DBMS_CLOUD_AI
CREATE_PROFILE Procédure
La procédure crée un nouveau profil d'intelligence artificielle pour traduire les invites de 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 d'intelligence artificielle. Le nom du profil doit respecter les règles d'attribution de nom de l'identificateur SQL Oracle. La longueur maximale du nom de profil est de 125 caractères. Il s'agit d'un paramètre obligatoire. |
|
|
Attributs de profil au format JSON. Pour plus de détails, voir Attributs de profil du service d'intelligence artificielle. La valeur par défaut est NULL. |
status |
Statut du profil. La valeur par défaut est activée. |
|
|
Description du profil d'intelligence artificielle. La valeur par défaut est NULL. |
Exemple
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE(
profile_name => 'OpenAI',
attributes => JSON_OBJECT('provider' value 'openai',
'credential_name' value 'openai_cred'),
status => 'enabled',
description => 'AI profile to use OpenAI for SQL translation'
);
END;
/
Attributs de profil
Attributs
| Nom d'attribut | Description |
|---|---|
|
|
Fournit des métadonnées supplémentaires sur les tables et les colonnes de la base de données à l'aide de la fonction d'annotations 26ai. Les valeurs valides sont
|
|
|
Nom du modèle déployé du service Azure OpenAI. Le nom ne peut inclure que des caractères alphanumériques, des traits de soulignement (_) et un tiret (-). Le nom ne peut pas se terminer par un trait de soulignement (_) ou un tiret (-). Pour savoir comment obtenir |
|
|
Nom du modèle d'intégration déployé Azure OpenAI. Le nom ne peut inclure que des caractères alphanumériques, des traits de soulignement et des tirets. Le nom ne peut pas commencer ni se terminer par un tiret ou un trait de soulignement. |
|
|
Nom de la ressource de service Azure OpenAI. Le nom de la ressource ne peut inclure que des caractères alphanumériques et des tirets, et ne peut pas commencer ni se terminer par un tiret. Pour savoir comment obtenir |
|
|
Indique si Select AI doit demander au LLM de générer des énoncés SQL non sensibles à la casse pour les colonnes contenant des valeurs de chaîne ou de texte. Les valeurs prises en charge sont les suivantes :
La valeur par défaut est |
|
|
Inclut les commentaires de table et de colonne dans les métadonnées utilisées pour traduire les invites en langage naturel à l'aide de l'intelligence artificielle. Le type de données
|
|
|
Permet d'inclure ou non des contraintes d'intégrité référentielle telles que les clés primaires et étrangères dans les métadonnées envoyées au LLM. Les valeurs valides sont
|
|
|
Attribut |
|
|
Vous pouvez spécifier |
|
|
Nom des données d'identification permettant d'accéder aux API du fournisseur d'intelligence artificielle. Les données d'identification à l'aide de jetons de porteur peuvent être créées en utilisant le nom du fournisseur comme nom d'utilisateur et le jeton de porteur comme mot de passe. Les données d'identification de clé secrète de la chambre forte sont également prises en charge. L'authentification principale, par exemple, le principal de service Azure, est également prise en charge. Pour plus d'informations sur la configuration, voir Utiliser le principal de service Azure pour accéder aux ressources Azure. Il s'agit d'un attribut obligatoire. Voir ProcédureCREATE_CREDENTIAL. |
|
|
Modèle d'intégration défini dans le profil d'intelligence artificielle. Voici les fournisseurs d'intelligence artificielle pris en charge pour les modèles d'intégration avec leurs valeurs par défaut :
Note
|
|
|
Indique s'il faut restreindre le LLM pour générer du code SQL qui utilise uniquement les tables couvertes par la liste d'objets. Les valeurs prises en charge sont les suivantes :
Les valeurs ne sont pas sensibles à la casse. La valeur par défaut est |
|
|
Indique le nombre de jetons à prédire par génération. La valeur par défaut est 1024. Pour plus de détails, voir Jetons et jetons. |
|
|
Nom du modèle d'intelligence artificielle utilisé pour générer des réponses. Voir Sélectionner votre fournisseur d'intelligence artificielle et vos LLM et spécifier le nom du modèle. Note
|
|
|
Tableau d'objets JSON spécifiant le responsable et les noms d'objet admissibles à la traduction en langage naturel en langage SQL. Pour inclure tous les objets d'un utilisateur donné, omettez le "nom" et spécifiez uniquement la clé "propriétaire" dans l'objet JSON. Les types d'objet suivants peuvent être utilisés :
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 d'intelligence artificielle à l'aide de demandes HTTPS. Évitez 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 de langage naturel par les utilisateurs de votre application. Formater :
Les tables externes créées à l'aide de la synchronisation du catalogue de données OCI ou de la colle AWS peuvent également être utilisées dans la liste d'objets. Cela facilite la gestion des métadonnées dans les catalogues de données centraux et l'utilisation des métadonnées directement pour la traduction des invites de langage naturel à l'aide de l'intelligence artificielle. |
|
|
Indique s'il faut envoyer les métadonnées des tables les plus pertinentes ou toutes les tables au LLM. Les valeurs prises en charge sont les suivantes :
Lorsque |
|
|
Spécifie le format dans lequel l'API s'attend à ce que les données soient envoyées et reçues. Utilisez cet attribut pour générer des réponses texte. Cet attribut s'applique aux modèles de clavardage du service d'intelligence artificielle générative pour OCI dans une grappe dédiée au service d'intelligence artificielle. Spécifiez cet attribut lorsque vous spécifiez un OCID de modèle dans l'attribut Les valeurs prises en charge sont les suivantes :
Note
Utilisez cet attribut pour les modèles de clavardage du service d'intelligence artificielle générative pour OCI |
|
|
Spécifie l'OCID du compartiment auquel vous êtes autorisé à accéder lors de l'appel du service d'intelligence artificielle générative pour OCI. L'ID compartiment peut contenir des caractères alphanumériques, des tirets et des points. La valeur par défaut est l'ID compartiment de la base de données enfichable. |
|
|
Cet attribut indique l'OCID du point d'extrémité de la grappe d'hébergement dédiée à l'IA Oracle. L'ID point d'extrémité peut contenir des caractères alphanumériques, des tirets et des points. Pour trouver l'OCID du point d'extrémité, voir Obtention des détails d'un point d'extrémité dans le service d'intelligence artificielle générative. Lorsque vous voulez utiliser la grappe dédiée à l'IA Oracle, vous devez fournir l'OCID du point d'extrémité de la grappe d'hébergement. Par défaut, l'ID point d'extrémité est vide et le modèle est sur demande dans une infrastructure partagée. |
|
|
Cet attribut indique le type d'exécution du modèle fourni. Cet attribut s'applique aux modèles de génération de texte OCI dans une grappe dédiée à l'IA. Spécifiez cet attribut lorsque vous spécifiez un OCID de modèle dans l'attribut Toutes les valeurs autorisées se trouvent dans le service d'intelligence artificielle générative pour OCI runtimeType. Voir Informations de référence sur le type LlmInferenceRequest. Les valeurs prises en charge sont les suivantes :
Note
Cet attribut est obsolète. Utilisez oci_apiformat.
|
|
|
Fournisseur d'IA pour le profil d'IA. Fournisseurs pris en charge :
Il s'agit d'un attribut obligatoire. |
|
|
Spécifie le point d'extrémité d'API pour les fournisseurs compatibles OpenAI. Cet attribut est propre uniquement aux fournisseurs compatibles OpenAI. Spécifiez Exemple : |
|
|
Cet attribut indique l'emplacement de la grappe d'IA générative à utiliser. La région peut contenir des caractères alphanumériques et des tirets.
Note
La grappe Oracle Generative AI est disponible à Chicago, Francfort, Londres et dans d'autres régions sélectionnées. Pour en savoir plus, voir Régions dotées de l'IA générative. La région par défaut pour AWS est La région par défaut est |
|
|
Le texte généré prend fin au début de la première séquence d'arrêt. La séquence sera incorporée dans le texte. La valeur de l'attribut doit être un tableau valide de valeurs de chaîne au format JSON. |
|
|
L'échantillonnage à partir des modèles de génération de texte incorpore le caractère aléatoire, de sorte que la même invite peut produire 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. Voir Température pour plus de détails. Ce paramètre s'applique à tous les fournisseurs de services pris en charge. |
|
|
Nom de l'index vectoriel. Le nom de l'index vectoriel doit suivre les règles d'attribution de nom de l'identificateur SQL Oracle. La longueur maximale du nom du magasin de vecteurs est de 125 caractères. |
|
|
Langue du texte d'entrée envoyé au fournisseur pour traduction. Accepte le nom complet de la langue ou le code de langue (language_code) pris en charge par les fournisseurs. Les valeurs ne sont pas sensibles à la casse.
|
|
|
Langue dans laquelle le fournisseur traduit le texte. Accepte le nom complet de la langue ou le code de langue ( |
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,
"source_language": "en",
"target_language": "french"
}');
END;
/
L'exemple suivant présente des attributs de profil personnalisés utilisant le service d'intelligence artificielle générative pour OCI :
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_apiformat": "COHERE"
}');
END;
/ Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
CLEAR_PROFILE Procédure
Cette procédure efface tout profil d'intelligence artificielle actif défini dans la session courante. Une fois que vous avez effacé un profil actif, vous ne pouvez plus utiliser SELECT AI sur la ligne de commande SQL ni utiliser le profil d'intelligence artificielle défini lors de l'appel de DBMS_CLOUD_AI.GENERATE. Cette procédure ne supprime pas le profil.
Syntaxe
DBMS_CLOUD_AI.CLEAR_PROFILE;
Exemple
BEGIN
DBMS_CLOUD_AI.CLEAR_PROFILE;
END;
/
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
DROP_PROFILE Procédure
La procédure supprime un profil IA 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 d'intelligence artificielle |
|
|
Si La valeur par défaut pour ce paramètre est |
Exemple
BEGIN
DBMS_CLOUD_AI.DROP_PROFILE(profile_name => 'OPENAI');
END;
/Notes d'utilisation
Utilisez force pour supprimer un profil et ignorer les erreurs si le profil d'intelligence artificielle n'existe pas.
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
ENABLE_PROFILE Procédure
Cette procédure active le profil d'intelligence artificielle que l'utilisateur spécifie. La procédure modifie le statut du profil d'intelligence artificielle à ENABLED.
Syntaxe
DBMS_CLOUD_AI.ENABLE_PROFILE(
profile_name IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom du profil d'intelligence artificielle à activer Ce paramètre est obligatoire. |
Exemple pour activer le profil d'intelligence artificielle
BEGIN
DBMS_CLOUD_AI.ENABLE_PROFILE(
profile_name => 'OPENAI'
);
END;
/
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
DISABLE_PROFILE Procédure
Cette procédure désactive le profil IA dans la base de données courante. Le statut du profil d'intelligence artificielle est modifié à DISABLED par cette procédure.
Syntaxe
DBMS_CLOUD_AI.DISABLE_PROFILE(
profile_name IN VARCHAR2
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom du profil d'intelligence artificielle. Ce paramètre est obligatoire. |
Exemple
BEGIN
DBMS_CLOUD_AI.DISABLE_PROFILE(
profile_name => 'OPENAI'
);
END;
/
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
Procédure de retour d'information
Syntaxe
DBMS_CLOUD_AI.FEEDBACK(
profile_name IN VARCHAR2,
sql_id IN DBMS_ID,
feedback_type IN VARCHAR2 DEFAULT NULL,
response IN CLOB DEFAULT NULL,
feedback_content IN CLOB DEFAULT NULL,
operation IN VARCHAR2 DEFAULT 'ADD'
);
DBMS_CLOUD_AI.FEEDBACK(
profile_name IN VARCHAR2,
sql_text IN CLOB,
feedback_type IN VARCHAR2 DEFAULT NULL,
response IN CLOB DEFAULT NULL,
feedback_content IN CLOB DEFAULT NULL,
operation IN VARCHAR2 DEFAULT 'ADD'
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Indique le profil d'intelligence artificielle à utiliser. Si vous n'indiquez pas Il s'agit d'un paramètre obligatoire. |
|
|
Identifie l'interrogation SQL. Un Il s'agit d'un paramètre obligatoire. |
|
|
Contient le texte intégral de l'interrogation SQL. Il s'agit d'un paramètre obligatoire. |
|
|
Indique le type de rétroaction. Les valeurs disponibles sont :
Note
La procédure DBMS_CLOUD_AI.FEEDBACK vous permet de spécifier sql_id ou sql_text. Par conséquent, feedback_type est nécessaire alors que si vous utilisez l'action feedback, le GML détermine ou interprète dynamiquement le type de rétroaction.
Il s'agit d'un paramètre obligatoire lorsque |
|
|
Représente le résultat d'interrogation SQL correct attendu par l'utilisateur. Il s'agit d'un paramètre obligatoire lorsque |
|
|
Saisit la rétroaction en langue naturelle de l'utilisateur. Vous avez la possibilité d'utiliser ce paramètre avec |
|
|
Spécifie l'opération à effectuer. Les valeurs acceptées sont les suivantes :
|
Exemple
L'exemple suivant illustre l'utilisation de la procédure DBMS_CLOUD_AI.FEEDBACK pour accepter ou améliorer le code SQL généré en spécifiant les paramètres de la procédure.
EXEC DBMS_CLOUD_AI.FEEDBACK(profile_name=>'OCI_FEEDBACK1',
sql_id=> '852w8u83gktc1',
feedback_type=>'positive',
operation=>'add');
EXEC DBMS_CLOUD_AI.FEEDBACK(profile_name=>'OCI_FEEDBACK1',
sql_text=> 'select ai showsql how many movies',
feedback_type=> 'negative',
response=>'SELECT SUM(1) FROM "ADB_USER"."MOVIES"',
feedback_content=>'Use SUM instead of COUNT');
EXEC DBMS_CLOUD_AI.FEEDBACK(profile_name=>'OCI_FEEDBACK1',
sql_id=> '852w8u83gktc1',
operation=>'delete');Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
Index vectoriel pour FEEDBACK
<profile_name>_FEEDBACK_VECINDEX avec les attributs par défaut lorsque vous utilisez la fonction de rétroaction pour la première fois.
Vous pouvez modifier ses attributs tels que similarity_threshold et match_limit à l'aide de la procédure DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX. Cet index permet d'affiner les énoncés SQL générés ultérieurement en fonction de la rétroaction fournie. Cette table est supprimée lorsque le profil IA associé est supprimé. Vous pouvez également supprimer <profile_name>_FEEDBACK_VECINDEX. Lorsque vous le faites, Select AI n'utilise plus de rétroaction comme conseils pour les actions runsql, showsql et explainsql. Toutefois, si vous soumettez une nouvelle rétroaction à l'aide de la fonction Sélectionner une rétroaction IA, Select AI crée automatiquement un nouvel index de vecteur de rétroaction
La valeur par défaut de
match_limit pour feedback est 3.
Nom de la table vectorielle
La table <profile_name>_FEEDBACK_VECINDEX$VECTAB contient des représentations vectorielles (intégrations) des commentaires des utilisateurs ainsi que d'autres paramètres, que Select AI utilise pour améliorer la génération SQL au fil du temps.
Paramètres
| Colonne | Description |
|---|---|
|
|
Inclut les attributs d'objet JSON conformément à la procédure FEEDBACK. |
|
|
Contient l'invite de l'utilisateur. |
|
|
Contient des représentations vectorielles (embeddings) de l'invite utilisateur. |
Exemple
L'exemple suivant illustre l'utilisation de la table d'index vectoriels générée automatiquement pour interroger et fournir une rétroaction.
SQL> select content, attributes from OCI_FEEDBACK1_FEEDBACK_VECINDEX$VECTAB where JSON_VALUE(attributes, '$.sql_text') = 'select ai showsql how many movies';
CONTENT
----------------------------------------------------------------------------------------------------
how many movies
ATTRIBUTES
----------------------------------------------------------------------------------------------------
{"response":"SELECT SUM(1) FROM \"ADB_USER\".\"MOVIES\"","feedback_type":"negative","sql_id":null,"sql_text":"select ai showsql how many movies","feedback_content":null}
DBMS_CLOUD_AI.feedback Procedure(Positive Feedback)
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
Fonction GET_PROFILE
Cette fonction retourne le nom de profil d'intelligence artificielle défini dans la session courante.
Syntaxe
DBMS_CLOUD_AI.GET_PROFILE
;
Exemple
Cet exemple montre comment afficher le nom du profil dans la session en cours.
SELECT DBMS_CLOUD_AI.GET_PROFILE
from DUAL;
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
SET_ATTRIBUTE Procédure
Cette procédure vous permet de définir des attributs de profil IA. Il est surchargé d'accepter des valeurs d'attribut de différents types.
Syntaxe
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN {BOOLEAN|VARCHAR2}
);
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN CLOB DEFAULT NULL
);
Paramètres
Seul le responsable peut définir ou modifier les attributs du profil IA. Pour obtenir la liste des attributs pris en charge, voir Attributs de profil.
| Paramètre | Description |
|---|---|
|
|
Nom du profil d'intelligence artificielle pour lequel vous voulez définir les attributs. Ce paramètre est obligatoire. |
|
|
Nom de l'attribut de profil d'intelligence artificielle Ce paramètre est obligatoire. |
|
|
Valeur de l'attribut du profil. La valeur peut être de type La valeur par défaut est NULL. |
Exemples
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name => 'OPENAI',
attribute_name => 'credential_name',
attribute_value => 'OPENAI_CRED_NEW'
);
END;
/
L'exemple suivant accepte le type NUMBER comme attribute_value.
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name => 'OCI_PROFILE',
attribute_name => 'temperature',
attribute_value => 0.5
);
END;
/
L'exemple suivant accepte le type BOOLEAN comme attribute_value.
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name => 'OCI_PROFILE',
attribute_name => 'comments',
attribute_value => 'true'
);
END;
/
L'exemple suivant accepte le type VARCHAR2 comme attribute_value.
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name => 'OCI_PROFILE',
attribute_name => 'model',
attribute_value => 'meta.llama-3.3-70b-instruct'
);
END;
/
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
SET_ATTRIBUTES Procédure
Cette procédure vous permet de définir un ou plusieurs attributs de profil IA. Les paires nom d'attribut et valeur sont fournies en tant que document JSON.
Syntaxe
DBMS_CLOUD_AI.SET_ATTRIBUTES(
profile_name IN VARCHAR2,
attributes IN CLOB
);
Paramètres
Seul le responsable peut définir ou modifier les attributs du profil IA. Pour obtenir la liste des attributs pris en charge, voir Attributs de profil.
| Paramètre | Description |
|---|---|
|
|
Nom du profil d'intelligence artificielle pour lequel vous voulez définir les attributs. Ce paramètre est obligatoire. |
|
|
Attributs de profil d'intelligence artificielle au format JSON. Ce paramètre est obligatoire. |
Exemple
L'exemple suivant accepte les attributs au format JSON.
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTES(
profile_name => 'OCI_PROFILE',
attributes => '{"temperature": 0.2,
"max_tokens": 3000}'
);
END;
/
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
GÉNÉRER une fonction
showsql, runsql, explainsql, narrate, summarize et chat. L'action par défaut est showsql.
Le remplacement d'une partie ou de la totalité 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,
params IN CLOB
) RETURN CLOB;
Paramètres
| Paramètre | Description |
|---|---|
|
|
Invite de langage naturel à traduire à l'aide de l'intelligence artificielle. L'invite peut inclure Ce paramètre est obligatoire. |
|
|
Nom du profil d'intelligence artificielle. Ce paramètre est facultatif si un profil d'intelligence artificielle est déjà défini dans la session à l'aide de La valeur par défaut est NULL. Les conditions suivantes s'appliquent :
Note
Pour Database Actions, vous pouvez spécifier l'argument profile_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 pour traduire l'invite naturelle à l'aide de l'intelligence artificielle. Les actions prises en charge sont les suivantes :
Descriptions des actions incluses dans Utiliser le mot clé AI pour entrer des invites. |
attributes |
Remplacer des attributs de profil d'intelligence artificielle spécifiques en fournissant des attributs au format JSON. Voir Attributs de profil pour plus de détails. |
params |
Spécifiez le paramètre de conversation. Voir Attributs CREATE_CONVERSATION. Vous ne pouvez spécifier que le paramètre suivant :
|
Exemples
Exemple : Utilisation de la fonction GENERATE pour Select AI Actions
Les exemples suivants illustrent les actions runsql, showsql, explainsql, narrate, summarize, translate et chat qui peuvent être utilisées avec la fonction DBMS_CLOUD_AI.GENERATE. Pour plus de détails, voir aussi Utiliser le mot clé d'intelligence artificielle pour entrer des invites.
Voici un exemple avec l'action runsql :
SELECT DBMS_CLOUD_AI.GENERATE(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'runsql)
FROM dual;
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 explainsql :
SELECT DBMS_CLOUD_AI.GENERATE(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'explainsql)
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;
summarize :SELECT DBMS_CLOUD_AI.GENERATE(
prompt => TO_CLOB(
DBMS_CLOUD.GET_OBJECT(
credential_name => 'STORE_CRED',
object_uri => 'https://objectstorage.ca-toronto-1.oraclecloud.com' ||
'/n/namespace-string/b/bucketname/o/data_folder/' ||
'summary/test_4000_words.txt')),
profile_name => 'GENAI_LLAMA',
action => 'SUMMARIZE')
from DUAL;Résultat :
The music streaming industry, led by Spotify, has revolutionized the way
people consume music, with streaming accounting for 80% of the American
recording industry's revenue. However, this shift has also complicated the
lives of artists trying to survive in an on-demand, hyper-abundant present.
Spotify's business model, which pays royalties based on an artist's
popularity, has led to concerns about the fairness of the system, with some
artists earning little to no royalties. The company's dominance has also
changed the way people listen to music, with a focus on convenience and
personalized playlists. Liz Pelly's book, "Mood Machine: The Rise of Spotify
and the Costs of the Perfect Playlist," explores the impact of Spotify's rise
on the music industry and listeners, arguing that the platform's emphasis on
affect and mood has led to a homogenization of music and a loss of autonomy
for listeners. As the music industry continues to evolve, questions remain
about the future of music creation and consumption, and whether artists will
be able to thrive in a system that prioritizes convenience and profit over
artistic expression.Ces exemples montrent l'action translate :
translate dans l'invite.
Votre profil d'intelligence artificielle doit spécifier la langue cible.
SELECT DBMS_CLOUD_AI.GENERATE('select ai translate text to be translated')
FROM dual;
L'exemple suivant montre l'action translate fournie dans la fonction DBMS_CLOUD_AI.GENERATE avec target_language et source_language. Cet exemple utilise la traduction de l'IA générative. Le texte d'entrée this is a document en anglais (source_language: "en") est traduit en français (target_language: "fr").
DECLARE
l_attributes clob := '{"target_language": "fr", "source_language": "en"}';
output clob;
BEGIN
output := DBMS_CLOUD_AI.GENERATE(
prompt => 'this is a document',
profile_name => 'oci_translate',
action => 'translate',
attributes => l_attributes
);
Vous pouvez utiliser DBMS_CLOUD_AI.GENERATE dans une procédure et exécuter la fonction. L'exemple suivant prend ai_prompt, profile_name et action comme paramètres d'entrée et appelle DBMS_CLOUD_AI.GENERATE
create or replace FUNCTION call_select_ai (ai_prompt IN VARCHAR2,
ai_profile IN VARCHAR2,
ai_action IN VARCHAR2) -- valid for 'chat', 'narrate', 'showsql'
RETURN CLOB AS sai_resp clob;
BEGIN
sai_resp := DBMS_CLOUD_AI.GENERATE(prompt => ai_prompt,
profile_name => ai_profile,
action => ai_action);
return(sai_resp);
END call_select_ai;L'exemple suivant montre comment utiliser la fonction DBMS_CLOUD_AI.GENERATE dans un paramètre de conversation. Cet exemple suppose qu'une conversation a déjà été créée.
SELECT DBMS_CLOUD_AI.GENERATE(
prompt => 'What is the difference in weather between Seattle and San Francisco?',
profile_name => 'GENAI',
action => 'CHAT',
params => '{"conversation_id":"30C9DB6E-EA4D-AFBA-E063-9C6D46644B92"}') AS RESPONSE;Résultat :
RESPONSE
--------------------------------------------------------------------------------
Seattle and San Francisco, both located in the Pacific Northwest and Northern
California respectively, experience a mild oceanic climate. However, there are
some notable differences in their weather patterns:
1. **Temperature**: San Francisco tends to be slightly warmer than Seattle,
especially during the summer months. San Francisco's average temperature ranges
from 45?F (7?C) in winter to 67?F (19?C) in summer, while Seattle's average
temperature ranges from 38?F (3?C) in winter to 64?F (18?C) in summer.
2. **Rainfall**: Seattle is known for its rainy reputation, with an average
annual rainfall of around 37 inches (94 cm). San Francisco receives less rainfall,
with an average of around 20 inches (51 cm) per year. However, San Francisco's
rainfall is more concentrated during the winter months, while Seattle's rainfall
is more evenly distributed throughout the year.
......Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
SET_PROFILE Procédure
Cette procédure définit le profil d'intelligence artificielle pour la session courante.
Après avoir défini un profil d'intelligence artificielle pour la session de base de données, tout énoncé SQL ayant le préfixe SELECT AI est considéré comme une invite en langage naturel. Selon l'action que vous spécifiez avec le préfixe AI, une réponse est générée à l'aide de l'intelligence artificielle. Pour utiliser le préfixe AI, voir Exemples d'utilisation de Select AI et Use AI Keyword to Enter Prompts (Utiliser le mot clé AI pour entrer des invites). Facultativement, il est possible de remplacer les attributs de profil ou de modifier les attributs en les spécifiant au format JSON. Voir Procédure SET_ATTRIBUTE pour définir les attributs.
Le profil IA ne peut être défini pour la session courante que si le responsable du profil IA est l'utilisateur de la session.
Pour définir un profil d'intelligence artificielle pour toutes les sessions d'un utilisateur de base de données spécifique ou pour toutes les sessions d'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 de détails, voir Énoncé CREATE TRIGGER.
Syntaxe
DBMS_CLOUD_AI.SET_PROFILE(
profile_name IN VARCHAR2,
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom du profil d'intelligence artificielle dans la session courante. Ce paramètre est obligatoire. |
Exemple
BEGIN
DBMS_CLOUD_AI.SET_PROFILE(
profile_name => 'OPENAI'
);
END;
/
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
CREATE_CONVERSATION Procédure
Cette procédure vous permet de créer une conversation et de définir automatiquement conversation_id dans la procédure.
Si vous utilisez la procédure
DBMS_CLOUD_AI.CREATE_CONVERSATION, vous pouvez ignorer la définition de conversation_id car la procédure la définit automatiquement.
Syntaxe
DBMS_CLOUD_AI.CREATE_CONVERSATION(
attributes IN CLOB DEFAULT NULL
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Attributs pour la conversation au format JSON. Voir Attributs CREATE_CONVERSATION pour plus de détails. La valeur par défaut est NULL. |
Exemple
L'exemple suivant montre comment créer une conversation sans personnalisation.
EXEC DBMS_CLOUD_AI.CREATE_CONVERSATION;Résultat :
PL/SQL procedure successfully completed.L'exemple suivant montre comment créer une conversation avec des paramètres personnalisés tels que title, description, retention_days et conversation_length.
-- Create conversation with custom attributes
SELECT DBMS_CLOUD_AI.CREATE_CONVERSATION(
attributes => '{"title":"Conversation 1",
"description":"this is a description",
"retention_days":5,
"conversation_length":5}')
AS conversation_id FROM dual;Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
Fonction CREATE_CONVERSATION
Cette fonction crée une conversation et retourne sa valeur conversation_id qui peut être utilisée dans d'autres procédures ou fonctions telles que DBMS_CLOUD_AI.SET_CONVERSATION_ID et DBMS_CLOUD_AI.GENERATE.
Oracle recommande de définir conversation_id pour activer la conversation. Vous pouvez également définir conversation_id dans la fonction DBMS_CLOUD_AI.GENERATE.
Si vous utilisez la procédure
DBMS_CLOUD_AI.CREATE_CONVERSATION, vous pouvez ignorer la définition de conversation_id car la procédure la définit automatiquement.
Syntaxe
DBMS_CLOUD_AI.CREATE_CONVERSATION(
attributes IN CLOB DEFAULT NULL
) RETURN VARCHAR2;Paramètres
| Paramètre | Description |
|---|---|
|
|
Attributs pour la conversation au format JSON. Voir Attributs CREATE_CONVERSATION pour plus de détails. La valeur par défaut est NULL. |
Exemple
L'exemple suivant montre comment utiliser la fonction DBMS_CLOUD_AI.CREATE_CONVERSATION pour créer une conversation sans personnalisation.
SELECT DBMS_CLOUD_AI.CREATE_CONVERSATION FROM DUAL;Résultat :
CREATE_CONVERSATION
------------------------------------
30C9DB6E-EA4D-AFBA-E063-9C6D46644B92L'exemple suivant montre comment utiliser la fonction DBMS_CLOUD_AI.CREATE_CONVERSATION pour spécifier des attributs tels que title, retention_days et conversation_length.
SELECT DBMS_CLOUD_AI.CREATE_CONVERSATION(
attributes => '{"title":"This is a test conversation",
"retention_days":7,
"conversation_length":20}')
FROM DUAL;Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
Attributs CREATE_CONVERSATION
Attributs
| Nom d'attribut | Par défaut | Description |
|---|---|---|
|
|
Nouvelle conversation |
Nom affecté par l'utilisateur pour la conversation. S'il n'est pas fourni, le LLM sera généré lorsque la conversation sera utilisée pour la première fois avec une invite. |
|
|
NULL |
Fournit une description définie par l'utilisateur résumant l'objectif ou le contexte de la conversation. S'il n'est pas fourni, le LLM en génère un lorsque la conversation est utilisée pour la première fois avec une invite et la met à jour de nouveau à la 5e utilisation pour inclure des informations plus précises et pertinentes. |
|
|
7 |
Indiquez le nombre de jours de conservation de l'historique de conversation. Il est stocké dans la base de données à partir de sa date de création. Si vous omettez la valeur, le système la règle à la valeur par défaut 7. Si vous la réglez à 0, le système conserve la conversation jusqu'à ce que vous la supprimiez manuellement à l'aide de la procédure |
|
|
NULL |
Indiquez le nombre d'invites et de réponses récentes à inclure dans l'invite courante. La valeur maximale autorisée est 999. Vous pouvez remplacer cette valeur en spécifiant le paramètre
conversation_length dans la fonction DBMS_CLOUD_AI.GENERATE ou en la définissant dans le profil d'intelligence artificielle à l'aide de SELECT AI <ACTION> <PROMPT>. Appliquez les règles de priorité suivantes pour conversation_length :
Si aucun d'entre eux ne spécifie |
DBMS_CLOUD_AI.CREATE_CONVERSATION.-- Create conversation with custom attributes
SELECT DBMS_CLOUD_AI.CREATE_CONVERSATION(
attributes => '{"title":"Conversation 1",
"description":"this is a description",
"retention_days":5,
"conversation_length":5}')
AS conversation_id FROM dual;Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
UPDATE_CONVERSATION Procédure
Cette procédure met à jour une conversation existante avec une valeur spécifiée des attributs de conversation.
Syntaxe
DBMS_CLOUD_AI.UPDATE_CONVERSATION(
conversation_id IN VARCHAR2,
attributes IN CLOB
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Numéro unique affecté à une conversation. Il s'agit d'un paramètre obligatoire. |
|
|
Attributs pour la conversation au format JSON. Voir Attributs CREATE_CONVERSATION pour plus de détails. |
Exemple
EXEC DBMS_CLOUD_AI.UPDATE_CONVERSATION(
conversation_id => '30C9DB6E-EA4E-AFBA-E063-9C6D46644B92',
attributes => '{"retention_days":20,
"description":"This a sample description",
"title":"Sample title",
"conversation_length":20}');
Résultat :
PL/SQL procedure successfully completed.
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
SET_CONVERSATION_ID Procédure
Cette procédure règle la conversation courante à l'ID spécifié. Les invites suivantes incluent les invites de conversation existantes basées sur les attributs configurés de la conversation.
Syntaxe
DBMS_CLOUD_AI.SET_CONVERSATION_ID(
conversation_id IN VARCHAR2
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Numéro unique affecté à une conversation dans la session courante. Ce paramètre est obligatoire. |
Exemple
EXEC DBMS_CLOUD_AI.SET_CONVERSATION_ID('30C9DB6E-EA4D-AFBA-E063-9C6D46644B92');
Résultat :
PL/SQL procedure successfully completed.
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
Fonction GET_CONVERSATION_ID
DBMS_CLOUD_AI.SET_CONVERSATION_ID ou DBMS_CLOUS_AI.CREATE_CONVERSATION. Si vous n'avez pas défini de conversation, la fonction retourne la valeur NULL. Si vous abandonnez la conversation, le système l'efface dans la session en tant que well.See Procédure CLEAR_CONVERSATION_ID.
Syntaxe
DBMS_CLOUD_AI.GET_CONVERSATION_ID
RETURN VARCHAR2;
Exemple
Cet exemple montre comment afficher l'ID conversation défini dans la session courante.
SELECT DBMS_CLOUD_AI.GET_CONVERSATION_ID;
Résultat :
--------------------------------------------------------------------------------
30C9DB6E-EA4F-AFBA-E063-9C6D46644B92
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
CLEAR_CONVERSATION_ID Procédure
Cette procédure efface un ID conversation défini dans la session pour désactiver la fonction de conversation pour SELECT AI <ACTION> <PROMPT>. Si vous n'avez pas défini de conversation, le système ne génère aucune erreur.
Syntaxe
DBMS_CLOUD_AI.CLEAR_CONVERSATION_ID;
Exemple
Cet exemple illustre l'affichage de l'ID conversation courant dans la session, la suppression de l'ID et la vérification de la modification.
-- A conversation id is set in the session
SELECT DBMS_CLOUD_AI.GET_CONVERSATION_ID FROM dual;
GET_CONVERSATION_ID
--------------------------------------------------------------------------------
3A88BFF0-1D7E-B3B8-E063-9C6D46640ECD
-- Clear the conversation id
EXEC DBMS_CLOUD_AI.CLEAR_CONVERSATION_ID;
PL/SQL procedure successfully completed.
-- The conversation id is removed from the session
SELECT DBMS_CLOUD_AI.GET_CONVERSATION_ID FROM dual;
GET_CONVERSATION_ID
--------------------------------------------------------------------------------
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
DELETE_CONVERSATION_PROMPT Procédure
La procédure supprime une certaine invite de la conversation.
Syntaxe
DBMS_CLOUD_AI.DELETE_CONVERSATION_PROMPT(
conversation_prompt_id IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);Paramètres
| Paramètre | Description |
|---|---|
|
|
Numéro unique affecté à une invite dans une conversation. Vous pouvez trouver l'ID invite en interrogeant la vue Il s'agit d'un paramètre obligatoire. |
|
|
Si La valeur par défaut pour ce paramètre est |
Exemple
EXEC DBMS_CLOUD_AI.DELETE_CONVERSATION_PROMPT('30C9DB6E-EA61-AFBA-E063-9C6D46644B92');
Résultat :
PL/SQL procedure successfully completed.Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
DROP_CONVERSATION Procédure
La procédure supprime la conversation et toutes les invites associées ainsi que les réponses associées. Une fois supprimé, conversation_id devient non valide. Si une conversation est supprimée alors qu'elle est définie dans la session, elle est effacée automatiquement.
Syntaxe
DBMS_CLOUD_AI.DROP_CONVERSATION(
conversation_id IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);Paramètres
| Paramètre | Description |
|---|---|
|
|
Numéro unique affecté à une conversation. Il s'agit d'un paramètre obligatoire. |
|
|
Si La valeur par défaut pour ce paramètre est |
Exemple
EXEC DBMS_CLOUD_AI.DROP_CONVERSATION('30C9DB6E-EA4D-AFBA-E063-9C6D46644B92');
Résultat :
PL/SQL procedure successfully completed.Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
Fonction SUMMARIZE
Syntaxe
DBMS_CLOUD_AI.SUMMARIZE(
content IN CLOB DEFAULT NULL,
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2 DEFAULT NULL,
profile_name IN VARCHAR2 DEFAULT NULL,
user_prompt IN CLOB DEFAULT NULL,
params IN CLOB DEFAULT NULL
) RETURN CLOB;
Paramètres
| Paramètre | Description |
|---|---|
|
|
Spécifie le texte à résumer. Il ne s'agit pas d'un paramètre obligatoire. |
|
|
Identifie l'objet de données d'identification utilisé pour l'authentification auprès du magasin d'objets. Vous devez créer ces données d'identification à l'aide de
DBMS_CLOUD.CREATE_CREDENTIAL.
Note
Utilisez ce paramètre uniquement lorsque vous fournissez location_uri.
|
|
|
Fournit l'URI où le texte est stocké ou le chemin d'accès à un fichier local. Exemple : Stockage d'objets : Fichier local : |
|
|
Indique le profil d'intelligence artificielle à utiliser. Si vous n'indiquez pas La valeur par défaut est NULL. |
|
|
Fournit une invite en langage naturel pour guider ou personnaliser le sommaire. Vous pouvez inclure des instructions supplémentaires au-delà des paramètres sommaires. Par exemple, Le sommaire doit commencer par ''Le sommaire de l'article est : ''' Ce paramètre n'est pas obligatoire. |
params |
Sert à définir les paramètres de regroupement. Voir Paramètres SUMMARIZE. |
Exemple
Voir Exemple : Sélectionner le sommaire de l'intelligence artificielle à explorer.
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
Paramètres SUMMARIZE
Attributs
| Nom d'attribut | Par défaut | Description |
|---|---|---|
|
|
0 |
Spécifie le nombre minimal approximatif de mots que le sommaire généré doit contenir. Note
Ce paramètre sert de directive plutôt que de limite stricte : la longueur réelle du sommaire peut varier en fonction du contenu fourni et de l'interprétation du modèle. |
|
|
200 |
Spécifie le nombre maximal approximatif de mots que le sommaire généré doit contenir.
Note
Ce paramètre sert de directive plutôt que de limite stricte. La longueur réelle du sommaire peut varier en fonction du contenu fourni et de l'interprétation du modèle. |
|
|
Paragraphe |
Spécifie le style de format pour le sommaire. Les options de format sommaire disponibles sont les suivantes :
|
|
|
map_reduce |
Lorsque le texte dépasse la limite de jeton que le LLM peut traiter, il doit être fractionné en fragments gérables. Ce paramètre vous permet de choisir la méthode de traitement de ces fragments. Les options suivantes sont offertes :
|
|
|
low |
Détermine dans quelle mesure le résumé suit le libellé initial de l'entrée. Il contrôle le degré d'extraction du modèle par rapport à sa reformulation. Les options sont les suivantes :
Note
Ce paramètre sert de guide pour le comportement de récapitulation du modèle. Il n'applique pas de règle stricte. Le style et le libellé réels du résumé peuvent varier en fonction du contenu d'entrée et des décisions du modèle. |
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
Fonction TRANSLATE
target_language spécifié.
Vous pouvez fournir les paramètres source_language et target_language dans la fonction ou ils peuvent être extraits du profil d'intelligence artificielle de l'utilisateur. Si votre profil d'IA n'inclut pas d'attribut source_language, le fournisseur d'IA générative détecte automatiquement la langue d'entrée. Si l'attribut target_language est manquant, Select AI retourne une erreur.
Syntaxe
DBMS_CLOUD_AI.TRANSLATE(
profile_name IN VARCHAR2,
text IN CLOB,
source_language IN VARCHAR2 DEFAULT NULL,
target_language IN VARCHAR2 DEFAULT NULL
) RETURN CLOB;
Paramètres
| Paramètre | Description |
|---|---|
|
|
Indique le profil d'intelligence artificielle à utiliser. Il ne s'agit pas d'un paramètre obligatoire. |
|
|
Spécifie le texte à traduire. Il s'agit d'un paramètre obligatoire. |
|
|
Langue du texte d'entrée |
|
|
Langue dans laquelle le texte est traduit. |
Exemple
Voir Exemple : Sélectionner la traduction de l'intelligence artificielle à explorer.
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
Fonction GENERATE_SYNTHETIC_DATA
Voici la syntaxe permettant 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
);
Voici la syntaxe permettant 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 indiquée. Cela, en effet, désactive l'action narrate.
Paramètres
| Paramètre | Obligatoire | Description |
|---|---|---|
|
|
Oui |
Profil d'IA contenant les informations nécessaires sur le service LLM. Cette opération peut être créée par la procédure CREATE_PROFILE. |
|
|
Oui | Spécifiez un nom de table pour alimenter les données synthétiques.
|
owner_name |
Nombre |
Indiquez l'utilisateur de base de données responsable de l'objet référencé. Si aucun propriétaire spécifique n'est indiqué, la procédure utilise par défaut le schéma de l'utilisateur qui l'exécute. |
record_count |
Nombre |
Nombre d'enregistrements à générer synthétiquement. |
|
|
Nombre | 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 nommée MOVIE avec une colonne release_date, user_prompt peut être :
La date de sortie des films devrait être en 2019 |
|
|
Nombre |
Attributs facultatifs fournis au format de chaîne d'objet JSON pour modifier le comportement d'une API. Voir Paramètres facultatifs. |
|
|
Oui | Utilisez ce paramètre pour générer des données synthétiques sur plusieurs tables. Ce paramètre prend les informations d'objet de table avec ses arguments et contient les mêmes arguments fournis dans la table unique. Voir Paramètresobject_list. |
Paramètres facultatifs
| Paramètre | Type de données de valeur | Valeur | Description |
|---|---|---|---|
|
|
Nombre |
|
Spécifier le nombre de rangées de la table à utiliser comme exemple pour guider le LLM dans la génération de données. Une valeur de 0 signifie qu'aucun exemple de rangée ne sera utilisé. La valeur par défaut est |
|
|
Boolean |
|
Activer ou désactiver l'utilisation des informations statistiques sur les tables. 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 ayant une priorité supérieure consomment plus de ressources de base de données et s'exécutent plus rapidement. La valeur par défaut est
Le nombre maximal de processus parallèles simultanés utilisés pour la génération de données synthétiques est limité à 64. |
|
|
Boolean |
|
Activer ou désactiver l'envoi de commentaires au GML 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 responsable de l'objet référencé. Si aucun propriétaire spécifique n'est indiqué, la procédure utilise par défaut le schéma de l'utilisateur qui l'exécute. |
|
|
Chaîne |
Nombre |
Spécifiez 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 l'utilisateur qui utilise la table it.The est vide ou contient des enregistrements.
|
|
|
Nombre |
Nombre |
Nombre d'enregistrements à générer synthétiquement. Indiquez un nombre supérieur à 0. Indiquez |
|
|
Nombre |
Nombre |
Pourcentage du nombre d'enregistrements à générer de manière synthétique. Indiquez un nombre supérieur à 0. Pour une base de données de clonage de métadonnées, où les métadonnées de table, y compris les statistiques, sont conservées, le paramètre Indiquez Lors de l'utilisation du paramètre
record_count_percentage, le nombre final d'enregistrements dans la table est calculé comme suit :
|
|
|
Chaîne | Nombre | Identique à user_prompt dans Paramètres. user_prompt est associé à un objet de table spécifique.
|
Exemples
Les exemples suivants montrent la fonction DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA pour générer des données synthétiques pour une seule table et plusieurs tables. Pour un exemple complet et pour voir d'autres exemples, voir Exemple : Générer des données synthétiques.
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.
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
ENABLE_DATA_ACCESS Procédure
Cette procédure permet d'envoyer des données au LLM pour les fonctions Select AI applicables, qui sont 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 par extraction (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 pour activer l'accès aux données
BEGIN
DBMS_CLOUD_AI.ENABLE_DATA_ACCESS();
END;
/
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
DISABLE_DATA_ACCESS Procédure
Cette procédure désactive l'envoi de données au LLM pour les fonctions Sélectionner l'IA 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 par extraction (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 pour désactiver l'accès aux données
BEGIN
DBMS_CLOUD_AI.DISABLE_DATA_ACCESS();
END;
/
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
CREATE_VECTOR_INDEX Procédure
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'un magasin d'objets à l'aide d'un travail asynchrone du programmateur.
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
| Paramètre | Description |
|---|---|
|
|
Nom de l'index vectoriel. Le nom de l'index vectoriel doit suivre les règles d'attribution de nom de l'identificateur SQL Oracle. La longueur maximale du nom du magasin de vecteurs est de 125 caractères. Il s'agit d'un paramètre obligatoire. |
|
|
Attributs personnalisés pour l'index vectoriel dans JSON. Pour voir la liste des paramètres configurables, voir Attributs d'index vectoriel. La valeur par défaut est NULL. |
status |
Statut de l'index vectoriel. Les valeurs possibles sont :
La valeur par défaut est Désactivé. |
|
|
Description de l'index vectoriel. La valeur par défaut est NULL. |
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;
/
DROP_VECTOR_INDEX Procédure
Cette procédure supprime un index de stockage vectoriel. Il supprime normalement l'objet d'index de stockage vectoriel et supprime le stockage vectoriel. Si la valeur est réglée à FALSE, l'argument include_data garantit que la procédure supprime uniquement l'objet d'index de stockage vectoriel tout en conservant le stockage vectoriel.
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 vectoriel. Le nom de l'index vectoriel doit suivre les règles d'attribution de nom de l'identificateur SQL Oracle. La longueur maximale du nom du magasin de vecteurs est de 125 caractères. Il s'agit d'un paramètre obligatoire. |
|
|
Indique s'il faut supprimer le magasin de vecteurs et l'index vectoriel du client avec l'objet d'index vectoriel. Valeurs possibles :
La valeur par défaut est |
force |
Indique s'il faut ignorer les erreurs qui se produisent si l'index vectoriel n'existe pas. Valeurs possibles :
Si ce paramètre est réglé à La valeur par défaut est |
Exemple
BEGIN
DBMS_CLOUD_AI.DROP_VECTOR_INDEX(
index_name => 'MY_INDEX',
include_data => FALSE,
force => TRUE
);
END;
/
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
DISABLE_VECTOR_INDEX Procédure
Cette procédure désactive un objet d'index vectoriel dans la base de données courante. Lorsqu'elle est désactivée, un profil d'IA ne peut pas utiliser l'index vectoriel et le système ne charge pas de données dans le magasin vectoriel car de nouvelles données sont ajoutées au magasin 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 vectoriel. Le nom de l'index vectoriel doit suivre les règles d'attribution de nom de l'identificateur SQL Oracle. La longueur maximale du nom du magasin de vecteurs est de 125 caractères. Il s'agit d'un paramètre 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;
/
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
ENABLE_VECTOR_INDEX Procédure
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 IA puisse l'utiliser pour effectuer l'indexation et la recherche.
Lorsqu'elle est activée, un index vectoriel permet à un profil d'IA de l'utiliser pour charger de nouvelles données à partir d'un magasin d'objets dans un magasin vectoriel à un taux de rafraîchissement spécifié par l'utilisateur. Vous pouvez spécifier le paramètre refresh_rate au moyen de la liste d'objets JSON. Pour configurer les attributs JSON, voir Attributs d'index vectoriel.
Syntaxe
DBMS_CLOUD_AI.ENABLE_VECTOR_INDEX(
index_name IN VARCHAR2
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom de l'index vectoriel. Le nom de l'index vectoriel doit suivre les règles d'attribution de nom de l'identificateur SQL Oracle. La longueur maximale du nom du magasin de vecteurs est de 125 caractères. Il s'agit d'un paramètre obligatoire. |
Exemple
Vous pouvez activer ou activer un index vectoriel en spécifiant le nom de l'index vectoriel comme suit :
BEGIN
DBMS_CLOUD_AI.ENABLE_VECTOR_INDEX(index_name => 'MY_INDEX');
END;
/
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
UPDATE_VECTOR_INDEX Procédure
- valeurs d'attributs de différents types.
- les attributs d'index vectoriel en tant que document JSON et met à jour un ou plusieurs attributs d'un index de stockage vectoriel existant avec le nom d'attribut et la paire de valeurs spécifié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 vectoriel. Le nom de l'index vectoriel doit suivre les règles d'attribution de nom de l'identificateur SQL Oracle. La longueur maximale du nom du magasin de vecteurs est de 125 caractères. Il s'agit d'un paramètre obligatoire. |
|
|
Spécifie les attributs d'index vectoriel au format JSON. Il s'agit d'un paramètre obligatoire. |
|
|
Nom des attributs personnalisés spécifiés en tant que paramètres JSON dans la procédure Vous ne pouvez pas modifier les attributs suivants :
Il s'agit d'un paramètre obligatoire. |
attribute_value |
Valeur spécifiée par l'utilisateur pour La valeur par défaut est NULL. |
Utilisez le paramètre
attributes pour spécifier attribute_name et des paires 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 comme 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 comme 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;
/
Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI
Attributs d'index vectoriel
Attributs
| Nom d'attribut | Valeur | Obligatoire | Description |
|---|---|---|---|
chunk_size |
1024 (par défaut)
|
Nombre |
Taille du texte de fragmentation des données d'entrée. Pour les données textuelles, cela signifie le nombre de caractères. |
chunk_overlap |
128 (par défaut)
|
Nombre |
Indique la quantité de caractères qui se chevauchent entre les fragments de texte adjacents. Cet attribut est utile pour assurer la continuité et la précision contextuelles dans le traitement de texte en permettant les chevauchements entre les segments, ce qui permet d'éviter la perte d'informations contextuelles aux limites des fragments. |
|
|
Non disponible | Oui |
Ce paramètre spécifie l'URI du fichier source ou les répertoires et les fichiers sources. Les modèles génériques sont pris en charge pour les URI et les répertoires de fichiers sources. URI des fichiers sources en nuage : Vous pouvez spécifier un URI de fichier source pour le seau ou le sous-dossier. Vous pouvez utiliser des caractères génériques pour spécifier des sous-dossiers ou des noms de fichier. Le caractère " Exemple utilisant des caractères génériques : location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o/year=????/month=??/*.csv Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez, pour plus de détails, voir Formats d'URI DBMS_CLOUD. Répertoire : Vous pouvez spécifier un répertoire et un nom de fichier. Le format pour spécifier un répertoire est : Vous ne pouvez utiliser que des caractères génériques pour spécifier des noms de fichier dans un répertoire. Le caractère Utilisez des guillemets doubles pour spécifier un nom de répertoire sensible à la casse. Par exemple : Pour inclure un caractère de guillemet, utilisez deux guillemets. Par exemple : Les fichiers de cet emplacement peuvent être des documents dans des formats tels que PDF, DOC, JSON, XML ou HTML. Voir Formats de document pris en charge. |
|
|
5 (par défaut)
|
Nombre |
Spécifie le nombre maximal de résultats à retourner dans une interrogation de recherche vectorielle, en contrôlant la taille de sortie et en améliorant l'efficacité des opérations d'extraction de données. |
|
|
Non disponible | Oui |
Spécifie le nom des données d'identification pour l'accès à un stockage d'objets. |
|
|
<vector_index_name>$VECPIPELINE |
Nombre |
Spécifie le nom du pipeline de chargement de données d'index vectoriel. Cet attribut est automatiquement défini pour l'index vectoriel, vous ne pouvez pas le spécifier ou le modifier. Le nom du pipeline peut être utilisé pour surveiller le chargement des données d'index vectoriel à l'aide de Surveiller et dépanner les pipelines. |
|
|
Non disponible | Oui |
Nom du profil d'intelligence artificielle utilisé pour l'intégration des données sources et des invites d'utilisateur. |
|
|
1440 minutes (par défaut)
|
Nombre |
Intervalle de mise à jour des données dans la banque de vecteurs. L'unité est en minutes. |
|
|
0 (par défaut)
|
Nombre |
Définit le niveau minimal de similarité requis pour que deux éléments soient considérés comme une correspondance, utile pour filtrer les résultats dans les algorithmes de correspondance afin d'assurer leur pertinence. |
|
|
Chaîne correspondant à l'une des valeurs spécifiées dans la description. |
Nombre |
Spécifie le type de calcul de distance utilisé pour comparer des vecteurs dans une base de données, en déterminant comment la similarité entre les éléments est quantifiée. Valeurs valides pour Oracle 23ai :
|
|
|
|
Oui |
Spécifie le nom du fournisseur qui gère et sert de magasin de vecteurs. |
|
|
Non disponible | Nombre |
Spécifie le nombre d'éléments dans chaque vecteur dans la banque de vecteurs, définissant la taille et la structure de la représentation des données. |
|
|
|
Nombre |
Spécifie le nom de la table ou de la collection pour stocker les plongements vectoriels et les données fragmentées. |
BEGIN
DBMS_CLOUD_AI.CREATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attributes => '{"vector_db_provider": "oracle",
"location": "https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/my_namespace/my_bucket/my_data_folder",
"object_storage_credential_name": "OCI_CRED",
"profile_name": "OPENAI_ORACLE",
"vector_dimension": 1024,
"vector_distance_metric": "cosine",
"chunk_overlap":128,
"chunk_size":1024
}');
END;
/
/
Cet exemple spécifie un modèle de caractère générique (*) dans l'URI du stockage d'objets en tant que paramètre location. Il charge tous les fichiers CSV à partir de l'URI du stockage d'objets.
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.myregion.oraclecloud.com/n/my$namespace/b/bucketname/o/year=????/month=??/file*.csv)',
'object_storage_credential_name' value 'OS_CRED',
'chunk_size' value 2048,
'chunk_overlap' value 256,
'refresh_rate' value 720)
);
END;
/Cet exemple spécifie des objets de répertoire dans le paramètre location à l'aide d'un modèle à caractère générique. Il charge tous les fichiers CSV dans le répertoire MY_DIR.
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 'MY_DIR:*.csv',
'object_storage_credential_name' value 'OS_CRED',
'chunk_size' value 2048,
'chunk_overlap' value 256,
'refresh_rate' value 720)
);
END;
/Cet exemple spécifie des objets de répertoire sensibles à la casse dans le paramètre location à l'aide d'un modèle avec caractères génériques. Il charge tous les fichiers CSV dans le répertoire My_Dir.
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 '"My_Dir":*.csv',
'object_storage_credential_name' value 'OS_CRED',
'chunk_size' value 2048,
'chunk_overlap' value 256,
'refresh_rate' value 720)
);
END;
/Cet exemple spécifie un objet de répertoire sensible à la casse dans le paramètre location à l'aide d'un caractère générique (*). Il charge tous les fichiers situés dans le répertoire My_Dir.
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 '"My_Dir":*',
'object_storage_credential_name' value 'OS_CRED',
'chunk_size' value 2048,
'chunk_overlap' value 256,
'refresh_rate' value 720)
);
END;
/Cet exemple spécifie un objet de répertoire et utilise un préfixe de nom de fichier, tel que test, dans le paramètre location. Il charge tous les fichiers du répertoire MY_DIR dont le nom commence par test.
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 'MY_DIR:test*',
'object_storage_credential_name' value 'OS_CRED',
'chunk_size' value 2048,
'chunk_overlap' value 256,
'refresh_rate' value 720)
);
END;
/Rubrique parent : Sommaire des sous-programmes DBMS_CLOUD_AI