Package DBMS_CLOUD_AI
Le package DBMS_CLOUD_AI, avec Select AI, facilite et configure la traduction des invites en 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.
- DBMS_CLOUD_AI Présentation
Décrit l'utilisation du packageDBMS_CLOUD_AI. - Récapitulatif des sous-programmes DBMS_CLOUD_AI
Cette section couvre les sous-programmesDBMS_CLOUD_AIfournis avec la base de données Autonomous AI.
Rubrique parent : Référence de package fourni par la base de données Autonomous AI
DBMS_CLOUD_AI Présentation
Décrit l'utilisation du package DBMS_CLOUD_AI.
Utilisez le package DBMS_CLOUD_AI pour créer des profils AI et les configurer pour accéder à un grand modèle de langage (LLM). Définissez le profil AI dans la session utilisateur de base de données en cours 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 chat avec les LLM.
Pour en savoir plus sur les plates-formes et les LLM pris en charge, reportez-vous à A propos de Select AI.
Rubrique parent : Package DBMS_CLOUD_AI
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 profil AI pour traduire les invites en langage naturel en instructions SQL. |
|
|
Fournit des attributs de profil AI que vous pouvez configurer. |
|
|
Cette procédure efface un profil AI actif dans la session en cours. |
|
|
Cette procédure désactive un profil AI dans la base de données en cours. |
|
|
Cette procédure supprime un profil AI existant. |
|
|
Cette procédure permet à un profil AI d'être utilisé dans la base de données en cours. |
|
| Cette fonction vous permet d'utiliser Select AI sans conservation de statut avec votre profil existant. | |
|
Cette fonction génère des données synthétiques. |
|
|
Cette fonction renvoie le nom de profil utilisé dans la session en cours. |
|
|
Cette procédure définit les attributs de profil AI. |
|
|
Cette procédure définit le profil AI pour la base de données en cours. |
|
|
Cette procédure permet d'activer l'envoi de données à votre LLM. |
|
|
Utilisez cette procédure pour désactiver l'envoi de données à votre LLM. |
|
|
Utilisez cette procédure pour améliorer la précision de la génération de requêtes en fournissant un retour à Select AI. |
|
|
Il s'agit d'un index vectoriel par défaut créé lors de la première utilisation de |
|
|
Cette procédure vous aide à créer une conversation. |
|
|
Cette fonction vous aide à créer une conversation et à utiliser l'ID de 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 des conversations dans la session en cours. |
|
|
Cette procédure vous aide à obtenir le paramètre |
|
|
Cette procédure vous aide à effacer tous les éléments |
|
|
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 synthèse pour personnaliser la génération de synthèse. |
|
|
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. |
|
|
Cette procédure supprime un index de banque de vecteurs. Il enlève normalement l'objet d'index de banque de vecteurs et supprime la base de données de vecteurs. |
|
|
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. |
|
|
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 de vecteurs existant avec une valeur spécifiée de l'attribut d'index de vecteurs. |
|
|
Fournit des attributs de profil d'index vectoriel que vous pouvez configurer. |
- CREATE_PROFILE Procédure
La procédure crée un profil AI pour traduire les invites en langage naturel en instruction SQL. - Attributs de profil
Les attributs d'un profil AI permettent de gérer et de configurer le comportement du profil AI. Certains attributs sont facultatifs et ont une valeur par défaut. - CLEAR_PROFILE Procédure
Cette procédure efface tout profil AI actif défini dans la session en cours. Une fois que vous avez effacé un profil actif, vous ne pouvez plus utiliserSELECT AIsur la ligne de commande SQL ni utiliser le profil AI défini lors de l'appel deDBMS_CLOUD_AI.GENERATE. Cette procédure ne supprime pas le profil. - 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. - 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 enENABLED. - DISABLE_PROFILE Procédure
Cette procédure désactive le profil AI dans la base de données en cours. Le statut du profil AI est remplacé parDISABLEDpar cette procédure. - Procédure FEEDBACK
Cette procédure vous permet de fournir un retour à Select AI pour améliorer la précision de la génération de requêtes. Vous avez la possibilité de fournir des commentaires positifs ou négatifs, ainsi que des commentaires textuels ou des requêtes SQL révisées. - Index de vecteur pour FEEDBACK
Sélectionnez AI pour créer un index de vecteur par défaut nommé<profile_name>_FEEDBACK_VECINDEXavec des attributs par défaut lorsque vous utilisez la fonctionnalité de retour pour la première fois. - GET_PROFILE Fonction
Cette fonction renvoie le nom de profil AI défini dans la session en cours. - SET_ATTRIBUTE Procédure
Cette procédure vous permet de définir des attributs de profil AI. Elle est surchargée pour accepter des valeurs d'attribut de différents types. - Fonction GENERATE
Cette fonction fournit la traduction AI lors de l'utilisation d'une connexion de base de données sans conservation de statut. Avec votre profil AI 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. - SET_PROFILE Procédure
Cette procédure définit le profil AI pour la session en cours. - Procédure CREATE_CONVERSATION
Cette procédure vous permet de créer une conversation et de définir automatiquement le paramètreconversation_iddans la procédure. - Fonction CREATE_CONVERSATION
Cette fonction crée une conversation et renvoie sa valeurconversation_idqui peut être utilisée dans d'autres procédures ou fonctions telles queDBMS_CLOUD_AI.SET_CONVERSATION_IDetDBMS_CLOUD_AI.GENERATE. - CREATE_CONVERSATION Attributs
Ces attributs gèrent le contexte de conversation, y compris la durée de conservation, le nombre d'invites avec réponses à stocker ou à afficher et les 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. - UPDATE_CONVERSATION Procédure
Cette procédure met à jour une conversation existante avec une valeur spécifiée des attributs de conversation. - SET_CONVERSATION_ID Procédure
Cette procédure définit la conversation en cours sur l'ID spécifié. Les invites suivantes incluent des invites de conversation existantes en fonction des attributs configurés de la conversation. - GET_CONVERSATION_ID Fonction
Cette fonction renvoie l'ID de 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 renvoie 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 de conversation défini dans la session afin de désactiver la fonctionnalité de conversation pourSELECT AI <ACTION> <PROMPT>. Si vous n'avez pas défini de conversation, le système ne génère aucune erreur. - DELETE_CONVERSATION_PROMPT Procédure
La procédure supprime une invite donnée de la conversation. - DROP_CONVERSATION Procédure
La procédure supprime la conversation, ainsi que toutes les invites associées et les réponses associées. Une fois supprimé,conversation_idn'est plus 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écapitule 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 d'un récapitulatif 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 le texte dans le fichiertarget_languagespécifié. - Fonction GENERATE_SYNTHETIC_DATA
Cette procédure permet de générer des données synthétiques pour une seule table, plusieurs tables ou un schéma complet. - ENABLE_DATA_ACCESS Procédure
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. - DISABLE_DATA_ACCESS Procédure
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. - CREATE_VECTOR_INDEX Procédure
Cette procédure crée un index vectoriel dans la base de données vectorielle indiquée et l'alimente avec les données d'une banque d'objets à l'aide d'un travail de planificateur asynchrone. - 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 estFALSE, l'argumentinclude_datagarantit que la procédure supprime uniquement l'objet d'index de banque de vecteurs tout en conservant la banque de vecteurs. - DISABLE_VECTOR_INDEX Procédure
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. - 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. - Procédure UPDATE_VECTOR_INDEX
Cette procédure met à jour un index de banque de vecteurs existant avec une valeur spécifiée de l'attribut d'index de vecteur. - 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 : Package DBMS_CLOUD_AI
Procédure CREATE_PROFILE
La procédure crée un 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. Par défaut, cette option est activée. |
|
|
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'),
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 vos tables et colonnes de base de données à l'aide de la fonctionnalité d'annotations 26ai. Les valeurs autorisées sont
|
|
|
Nom du modèle déployé de service Azure OpenAI. Le nom ne peut inclure que des caractères alphanumériques, des traits de soulignement (_) et un trait d'union (-). Le nom ne peut pas se terminer par un trait de soulignement (_) ou un tiret (-). Pour savoir comment obtenir le service |
|
|
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 ou se terminer par un trait d'union ou un trait de soulignement. |
|
|
Nom de la ressource de service Azure OpenAI. Le nom de ressource ne peut inclure que des caractères alphanumériques et des traits d'union, et ne peut pas commencer ou se terminer par un trait d'union. Pour savoir comment obtenir le service |
|
|
Indique si Select AI doit demander au LLM de générer des instructions SQL non sensibles à la casse pour les colonnes contenant des valeurs de chaîne ou de texte. Les valeurs prises en charge sont :
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 du programme d'installation automatisée. Le type de données
|
|
|
Gère si les contraintes d'intégrité référentielle telles que les clés primaires et étrangères doivent être incluses dans les métadonnées envoyées au LLM. Les valeurs autorisées sont
|
|
|
Attribut |
|
|
Nom des infos d'identification permettant d'accéder aux API du fournisseur d'IA. Vous pouvez créer des informations d'identification à l'aide de jetons de support en utilisant le nom du fournisseur comme nom d'utilisateur et le jeton de support comme mot de passe. Les informations d'identification de clé secrète de coffre 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, reportez-vous à Utilisation du principal de service Azure pour accéder aux ressources Azure. 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 :
Remarque
|
|
|
Indique si le LLM doit limiter la génération d'instructions SQL qui utilise uniquement les tables couvertes par la liste d'objets. Les valeurs prises en charge sont :
Ces valeurs ne distinguent pas les majuscules des minuscules. La valeur par défaut est |
|
|
Indique le nombre de jetons à 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 d'IA utilisé pour générer des réponses. Reportez-vous à Sélectionner votre fournisseur d'IA et vos LLM et indiquez le nom du modèle. Remarque
|
|
|
Tableau d'objets JSON indiquant le propriétaire et les noms d'objet admissibles pour la traduction en langage naturel en langage SQL. Pour inclure tous les objets d'un utilisateur donné, omettez le "nom" et indiquez 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 de l'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 de langage naturel par les utilisateurs de votre application. Format:
Les tables externes créées à l'aide de la synchronisation d'OCI Data Catalog ou d'AWS Glue peuvent également être utilisées dans la liste d'objets. Cela permet de gérer les métadonnées dans les catalogues de données centraux et d'utiliser les métadonnées directement pour traduire les invites en langage naturel à l'aide de l'IA. |
|
|
Indique si les métadonnées des tables les plus pertinentes ou de toutes les tables doivent être envoyées au LLM. Les valeurs admises sont les suivantes :
Lorsque |
|
|
Indique 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 textuelles. Cet attribut s'applique aux modèles de discussion OCI Generative AI dans un cluster d'IA dédié. Indiquez cet attribut lorsque vous indiquez un OCID de modèle dans l'attribut Les valeurs admises sont les suivantes :
|
|
|
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 traits d'union et des points. La valeur par défaut est l'ID de compartiment de la base de données pluggable. |
|
|
Ces attributs indiquent l'OCID d'adresse du cluster d'hébergement d'IA dédié Oracle. L'ID endpoint peut contenir des caractères alphanumériques, des traits d'union et des points. Pour rechercher l'OCID d'adresse, reportez-vous à Obtention des détails d'une adresse dans l'IA générative. Lorsque vous voulez 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 applicable aux modèles OCI Generate Text dans un cluster d'IA dédié. Indiquez cet attribut lorsque vous indiquez un OCID de modèle dans 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 :
Remarque
Cet attribut est en phase d'abandon. Utilisez oci_apiformat.
|
|
|
Fournisseur AI pour le profil AI. Fournisseurs pris en charge :
Il s'agit d'un attribut obligatoire. |
|
|
Indique l'adresse d'API pour les fournisseurs compatibles avec OpenAI. Cet attribut est spécifique uniquement aux fournisseurs compatibles OpenAI. Indiquez Exemple : |
|
|
Cet attribut indique l'emplacement du cluster d'IA générative que vous souhaitez utiliser. La région peut contenir des caractères alphanumériques et des traits d'union.
Remarque
Le cluster d'IA générative Oracle est disponible à Chicago, Francfort, Londres et dans d'autres régions sélectionnées. Pour en savoir plus, reportez-vous à Régions avec 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é prendra fin au début de la séquence d'arrêt la plus ancienne. La séquence sera incorporée au 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 appuyez sur "Générer". La température est un nombre flottant non négatif utilisé pour régler le degré de randomité. Des températures plus basses signifient des générations moins aléatoires. Pour plus d'informations, reportez-vous à Température. Ce paramètre est applicable à tous les fournisseurs de services pris en charge. |
|
|
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 la banque de vecteurs est de 125 caractères. |
|
|
Langue du texte d'entrée envoyé au fournisseur pour traduction. Accepte le nom de langue complet ou le code de langue (language_code) pris en charge par les fournisseurs. Ces valeurs ne distinguent pas les minuscules des majuscules.
|
|
|
Langue dans laquelle le fournisseur traduit le texte. Accepte le nom de langue complet 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 illustre 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_apiformat": "COHERE"
}');
END;
/ Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Procédure CLEAR_PROFILE
Cette procédure efface tout profil AI actif défini dans la session en cours. 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 AI 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 : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Procédure DROP_PROFILE
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;
/Notes d'utilisation
Utilisez force pour supprimer un profil et ignorer les erreurs si le profil AI n'existe pas.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Procédure ENABLE_PROFILE
Cette procédure active le profil AI que l'utilisateur spécifie. 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;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Procédure DISABLE_PROFILE
Cette procédure désactive le profil AI dans la base de données en cours. 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;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Procédure FEEDBACK
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 |
|---|---|
|
|
Spécifie le profil AI à utiliser. Si vous n'indiquez pas de valeur Ce paramètre est obligatoire. |
|
|
Identifie l'interrogation SQL. Un élément Ce paramètre est obligatoire. |
|
|
Contient le texte complet de la requête SQL. Ce paramètre est obligatoire. |
|
|
Indique le type d'informations en retour. Les valeurs suivantes sont disponibles :
Remarque
La procédure DBMS_CLOUD_AI.FEEDBACK vous permet d'indiquer sql_id ou sql_text. Par conséquent, feedback_type est nécessaire, tandis que si vous utilisez l'action feedback, le LLM détermine ou interprète dynamiquement le type de retour.
Il s'agit d'un paramètre obligatoire lorsque |
|
|
Représente le résultat de requête SQL correct attendu par l'utilisateur. Il s'agit d'un paramètre obligatoire lorsque |
|
|
Capture les commentaires en langage naturel 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 indiquant 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 : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Index de vecteur pour FEEDBACK
<profile_name>_FEEDBACK_VECINDEX avec des attributs par défaut lorsque vous utilisez la fonctionnalité de retour 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 instructions SQL générées ultérieurement en fonction des commentaires fournis. Cette table est supprimée lorsque le profil AI associé est supprimé. Vous pouvez également supprimer <profile_name>_FEEDBACK_VECINDEX. Dans ce cas, Select AI n'utilise plus les commentaires en tant que conseils pour les actions runsql, showsql et explainsql. Toutefois, si vous soumettez un nouveau retour à l'aide de la fonctionnalité Sélectionner un retour d'IA, Select AI crée automatiquement un nouvel index vectoriel de retour
La valeur par défaut de
match_limit pour feedback est 3.
Nom de la table de vecteurs
La table <profile_name>_FEEDBACK_VECINDEX$VECTAB contient des représentations vectorielles (comparaisons) 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 utilisateur. |
|
|
Contient des représentations vectorielles (embeddings) de l'invite utilisateur. |
Exemple
L'exemple suivant illustre l'utilisation de la table d'index vectoriel générée automatiquement pour interroger et fournir des commentaires.
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 : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Fonction GET_PROFILE
Cette fonction renvoie le nom de profil AI défini dans la session en cours.
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 : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Procédure SET_ATTRIBUTE
Cette procédure vous permet de définir des attributs de profil AI. Elle est surchargée pour 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 propriétaire peut définir ou modifier les attributs du profil AI. Pour obtenir la liste des attributs pris en charge, reportez-vous à Attributs de profil.
| Paramètre | Description |
|---|---|
|
|
Nom du profil AI pour lequel vous souhaitez 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. La valeur peut être de type Valeur par défaut : 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 en tant que 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 en tant que 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 en tant que 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 : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Fonction GENERATE
showsql, runsql, explainsql, narrate, summarize et chat. L'action par défaut est showsql.
Il est également possible de remplacer tout ou partie des attributs de profil à 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 en langage naturel pour la traduction à 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 :
Remarque
Pour Database Actions, vous pouvez indiquer 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 de traduction de l'invite naturelle à l'aide de l'IA. Ces actions sont prises en charge :
Les descriptions des actions sont incluses dans Utiliser le mot-clé AI pour saisir des invites. |
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. |
params |
Indiquez les paramètres de conversation. Reportez-vous à la section CREATE_CONVERSATION Attributes. Vous ne pouvez spécifier que les paramètres suivants :
|
Exemples
Exemple : utilisation de la fonction GENERATE pour sélectionner des actions AI
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 d'informations, reportez-vous également à Utilisation du mot-clé AI pour saisir 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.Les exemples suivants montrent l'action translate :
translate dans l'invite.
Votre profil AI doit indiquer la langue cible.
SELECT DBMS_CLOUD_AI.GENERATE('select ai translate text to be translated')
FROM dual;
L'exemple suivant illustre l'action translate fournie dans la fonction DBMS_CLOUD_AI.GENERATE avec target_language et source_language. Cet exemple utilise la traduction d'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 les paramètres d'entrée ai_prompt, profile_name et action 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 : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Procédure SET_PROFILE
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. Selon l'action que vous indiquez 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 à Exemples d'utilisation de Select AI et à 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 de détails, reportez-vous à Instruction CREATE TRIGGER.
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;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Procédure CREATE_CONVERSATION
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_COVERSATION, vous pouvez ignorer la définition de conversation_id car la procédure la définit automatiquement.
Syntaxe
DBMS_CLOUD_AI.CREATE_COVERSATION(
attributes IN CLOB DEFAULT NULL
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Attributs de conversation au format JSON. Pour plus de détails, reportez-vous à Attributs CREATE_CONVERSATION. Valeur par défaut : NULL. |
Exemple
L'exemple suivant illustre la création d'une conversation sans personnalisation.
EXEC DBMS_CLOUD_AI.CREATE_COVERSATION;Résultat :
PL/SQL procedure successfully completed.L'exemple suivant illustre la création d'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_COVERSATION(
attributes => '{"title":"Conversation 1",
"description":"this is a description",
"retention_days":5,
"conversation_length":5}')
AS conversation_id FROM dual;Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Fonction CREATE_CONVERSATION
Cette fonction crée une conversation et renvoie son conversation_id qui peut être utilisé 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_COVERSATION, vous pouvez ignorer la définition de conversation_id car la procédure la définit automatiquement.
Syntaxe
DBMS_CLOUD_AI.CREATE_COVERSATION(
attributes IN CLOB DEFAULT NULL
) RETURN VARCHAR2;Paramètres
| Paramètre | Description |
|---|---|
|
|
Attributs de conversation au format JSON. Pour plus de détails, reportez-vous à Attributs CREATE_CONVERSATION. Valeur par défaut : NULL. |
Exemple
L'exemple suivant illustre l'utilisation de la fonction DBMS_CLOUD_AI.CREATE_COVERSATION pour créer une conversation sans aucune personnalisation.
SELECT DBMS_CLOUD_AI.CREATE_COVERSATION FROM DUAL;Résultat :
CREATE_CONVERSATION
------------------------------------
30C9DB6E-EA4D-AFBA-E063-9C6D46644B92L'exemple suivant illustre l'utilisation de la fonction DBMS_CLOUD_AI.CREATE_COVERSATION pour spécifier des attributs tels que title, retention_days et conversation_length.
SELECT DBMS_CLOUD_AI.CREATE_COVERSATION(
attributes => '{"title":"This is a test conversation",
"retention_days":7,
"conversation_length":20}')
FROM DUAL;Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
CREATE_CONVERSATION Attributs
Attributs
| Nom d'attribut | Valeur par défaut | Description |
|---|---|---|
|
|
Nouvelle conversation |
Nom de la conversation assigné par l'utilisateur. S'il n'est pas fourni, le LLM en générera un lors de la première utilisation de la conversation avec une invite. |
|
|
NULL |
Fournit une description définie par l'utilisateur résumant le but ou le contexte de la conversation. S'il n'est pas fourni, le LLM en génère un lors de la première utilisation de la conversation avec une invite et le met à jour à nouveau lors de la 5e utilisation pour inclure des informations plus précises et pertinentes. |
|
|
7 |
Indiquez le nombre de jours pendant lesquels l'historique des conversations doit être conservé. Elle est stockée dans la base de données à partir de sa date de création. Si vous omettez la valeur, le système la définit sur la valeur par défaut 7. Si vous la définissez sur 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 actuelle. 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 le définissant dans le profil AI à l'aide de SELECT AI <ACTION> <PROMPT>. Appliquez les règles de priorité suivantes pour conversation_length :
Si aucun d'entre eux n'indique |
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 : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Procédure UPDATE_CONVERSATION
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. Ce paramètre est obligatoire. |
|
|
Attributs de conversation au format JSON. Pour plus de détails, reportez-vous à Attributs CREATE_CONVERSATION. |
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 : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Procédure SET_CONVERSATION_ID
Cette procédure définit la conversation actuelle sur l'ID spécifié. Les invites suivantes incluent des invites de conversation existantes en fonction des 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 attribué à une conversation dans la session en cours. 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 : Récapitulatif 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 renvoie NULL. Si vous supprimez la conversation, le système la supprime 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 affiche l'ID de conversation défini dans la session en cours.
SELECT DBMS_CLOUD_AI.GET_CONVERSATION_ID;
Résultat :
--------------------------------------------------------------------------------
30C9DB6E-EA4F-AFBA-E063-9C6D46644B92
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Procédure CLEAR_CONVERSATION_ID
Cette procédure efface un ID de conversation défini dans la session pour désactiver la fonctionnalité 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 de conversation actuel dans la session, l'effacement 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 : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Procédure DELETE_CONVERSATION_PROMPT
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 attribué à une invite dans une conversation. Vous pouvez trouver l'ID d'invite en interrogeant la vue Ce paramètre est obligatoire. |
|
|
Si La valeur par défaut de 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 : Récapitulatif des sous-programmes DBMS_CLOUD_AI
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_id n'est plus 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. Ce paramètre est obligatoire. |
|
|
Si La valeur par défaut de 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 : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Fonction de résumé
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 que vous souhaitez résumer. Vous devez indiquer Ce paramètre n'est pas obligatoire. |
|
|
Identifie l'objet d'informations d'identification utilisé pour l'authentification auprès de la banque d'objets. Vous devez créer ces informations d'identification à l'aide de
DBMS_CLOUD.CREATE_CREDENTIAL.
Remarque
Utilisez ce paramètre uniquement lorsque vous indiquez location_uri.
|
|
|
Fournit l'URI où le texte est stocké ou le chemin d'accès à un fichier local. Vous devez indiquer Par exemple : Stockage d'objets : Fichier local : |
|
|
Spécifie le profil AI à utiliser. Si vous n'indiquez pas de valeur Valeur par défaut : NULL. |
|
|
Fournit une invite en langage naturel pour guider ou personnaliser le récapitulatif. Vous pouvez inclure des instructions supplémentaires au-delà des paramètres récapitulatifs. Par exemple, Le récapitulatif doit commencer par ''Le récapitulatif de l'article est : ''' Ce paramètre n'est pas obligatoire. |
params |
Définit les paramètres d'agrégation. Reportez-vous à la section Paramètres de la synthèse. |
Exemple
Reportez-vous à Exemple : sélection de la synthèse AI à explorer.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Paramètres de résumé
Attributs
| Nom d'attribut | Valeur par défaut | Description |
|---|---|---|
|
|
0 |
Indique le nombre minimum approximatif de mots que le résumé généré doit contenir. Remarque
Ce paramètre sert de règle plutôt que de limite stricte : la longueur réelle du récapitulatif peut varier en fonction du contenu fourni et de l'interprétation du modèle. |
|
|
200 |
Indique le nombre maximal approximatif de mots que le résumé généré doit contenir.
Remarque
Ce paramètre sert de règle plutôt que de limite stricte. La longueur réelle du récapitulatif peut varier en fonction du contenu fourni et de l'interprétation du modèle. |
|
|
Paragraphe |
Spécifie le style de format du récapitulatif. Les options de format de résumé disponibles sont les suivantes :
|
|
|
map_reduce |
Lorsque le texte dépasse la limite de jeton que le LLM peut traiter, il doit être divisé en blocs gérables. Ce paramètre vous permet de choisir la méthode de traitement de ces blocs. Les fonctions sont les suivantes:
|
|
|
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. Voici les options disponibles :
Remarque
Ce paramètre sert de guide pour le comportement d'agrégation 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 : Récapitulatif 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 AI de l'utilisateur. Si votre profil AI n'inclut pas d'attribut source_language, le fournisseur d'IA générative détecte automatiquement le langage d'entrée. Si l'attribut target_language est manquant, Select AI renvoie 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 |
|---|---|
|
|
Spécifie le profil AI à utiliser. Ce paramètre n'est pas obligatoire. |
|
|
Indique le texte à traduire. Ce paramètre est obligatoire. |
|
|
Langue du texte saisi |
|
|
Langue dans laquelle le texte est traduit. |
Exemple
Reportez-vous à Exemple : sélection de AI Translate à explorer.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
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 |
Non |
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 |
Non |
Nombre d'enregistrements devant être générés de manière synthétique. |
|
|
Non | 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 |
|
|
Non |
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 optionnels
| Paramètre | Type de données de valeur | Valeur | Description |
|---|---|---|---|
|
|
Nombre |
|
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 |
Non |
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.
|
|
|
Nombre |
Non |
Nombre d'enregistrements devant être générés de manière synthétique. Indiquez un nombre supérieur à 0. Fournissez |
|
|
Nombre |
Non |
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 | Non | 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 à Exemple : génération de 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 : Récapitulatif des sous-programmes DBMS_CLOUD_AI
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;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
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;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
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
| 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. |
|
|
Attributs personnalisés pour l'index vectoriel dans JSON. Pour afficher la liste des paramètres configurables, reportez-vous à la section Vector Index Attributes. Valeur par défaut : NULL. |
status |
Statut de l'index vectoriel. Les valeurs possibles sont les suivantes :
La valeur par défaut est Désactivé. |
|
|
Description de l'index vectoriel. Valeur par défaut : 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;
/
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;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
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;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
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 à Attributs d'index vectoriel.
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;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
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. |
Utilisez le paramètre
attributes 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;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_AI
Attributs d'index de vecteur
Attributs
| Nom d'attribut | Valeur | Obligatoire | Description |
|---|---|---|---|
chunk_size |
1024 (valeur par défaut)
|
Non |
Taille de texte du découpage des données d'entrée. Pour les données de texte, cela signifie le nombre de caractères. |
chunk_overlap |
128 (valeur par défaut)
|
Non |
Indique la quantité de caractères qui se chevauchent entre des blocs de texte adjacents. Cet attribut est utile pour assurer la continuité contextuelle et la précision du traitement du texte en autorisant les chevauchements entre les segments, ce qui permet d'éviter la perte d'informations contextuelles aux limites des blocs. |
|
|
S/O | Oui |
Ce paramètre spécifie l'URI ou les répertoires du fichier source et les fichiers source. Les modèles de caractères génériques sont pris en charge pour les URI de fichier source et les répertoires. URI de fichier source cloud : Vous pouvez indiquer un URI de fichier source pour le bucket ou le sous-dossier. Vous pouvez utiliser des caractères génériques pour indiquer des sous-dossiers ou des noms de fichier. Le caractère " Exemple avec 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 Cloud Object Storage que vous utilisez. Pour en savoir plus, reportez-vous àFormats d'URI DBMS_CLOUD. Annuaire : Vous pouvez indiquer un répertoire et un nom de fichier. Le format pour spécifier un répertoire est : Vous pouvez uniquement utiliser des caractères génériques pour indiquer des noms de fichier dans un répertoire. Le caractère Utilisez des guillemets doubles pour indiquer un nom de répertoire sensible à la casse. Par exemple : Pour inclure un 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. Reportez-vous à Formats de document pris en charge. |
|
|
5 (valeur par défaut)
|
Non |
Indique le nombre maximal de résultats à renvoyer dans une requête de recherche vectorielle, en contrôlant la taille de la sortie et en améliorant l'efficacité des opérations d'extraction de données. |
|
|
S/O | Oui |
Indique le nom des informations d'identification permettant d'accéder à un stockage d'objet. |
|
|
<vector_index_name>$VECPIPELINE |
Non |
Indique 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 ni le modifier. Le nom de pipeline peut être utilisé pour surveiller le chargement des données d'index vectoriel à l'aide de Surveiller et dépanner les pipelines. |
|
|
S/O | Oui |
Nom du profil AI utilisé pour l'intégration des données source et des invites utilisateur. |
|
|
1440 minutes (par défaut)
|
Non |
Intervalle de mise à jour des données dans la banque de vecteurs. L'unité est en minutes. |
|
|
0 (valeur par défaut)
|
Non |
Définit le niveau minimum 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 de garantir leur pertinence. |
|
|
Chaîne correspondant à l'une des valeurs indiquées dans la description. |
Non |
Indique le type de calcul de distance utilisé pour comparer les vecteurs d'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 banque de vecteurs. |
|
|
S/O | Non |
Spécifie le nombre d'éléments dans chaque vecteur dans le magasin de vecteurs, définissant la taille et la structure de la représentation de données. |
|
|
|
Non |
Spécifie le nom de la table ou de la collection pour stocker les incorporations vectorielles et les données découpées en blocs. |
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 Object Storage en tant que paramètre location. Il charge tous les fichiers CSV à partir de l'URI Object Storage.
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 les objets de répertoire dans le paramètre location à l'aide d'un modèle de 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 indique un objet de répertoire sensible à la casse dans le paramètre location à l'aide d'un modèle de 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 indique un objet de répertoire sensible à la casse dans le paramètre location à l'aide d'un modèle de 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 indique 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 : Récapitulatif des sous-programmes DBMS_CLOUD_AI