Utiliser le mot-clé AI pour saisir des invites

Utilisez AI comme mot-clé dans une instruction SELECT pour interagir avec la base de données à l'aide d'invites en langage naturel.

Le mot-clé AI dans une instruction SELECT indique au moteur d'exécution SQL d'utiliser le LLM identifié dans le profil d'IA actif pour traiter le langage naturel et générer du code SQL.

Vous pouvez utiliser le mot-clé AI dans une requête avec des clients Oracle tels que SQL Developer, des blocs-notes OML et des outils tiers pour interagir avec la base de données en langage naturel.

Remarque

Vous ne pouvez pas exécuter d'instructions PL/SQL, DDL ou DML à l'aide du mot-clé AI.

Syntaxe

La syntaxe d'exécution de l'invite AI est la suivante :
SELECT AI action natural_language_prompt

Paramètres

Les paramètres disponibles pour le paramètre action sont les suivants :
Paramètre Description

runsql

Exécute la commande SQL sous-jacente pour l'invite en langage naturel et prend en charge la génération augmentée par extraction (RAG). Il s'agit de l'action par défaut et ne nécessite pas de spécifier ce paramètre.

showsql

Affiche l'instruction SQL d'une invite en langage naturel.

explainsql

Explique le code SQL généré à partir de l'invite dans un langage naturel. Cette option envoie le code SQL généré au fournisseur AI pour produire une explication en langage naturel.

narrate

L'action narrate prend en charge à la fois le langage naturel vers SQL (NL2SQL) et la RAG.

Pour NL2SQL, narrate envoie le résultat d'une requête SQL exécutée par la base de données au LLM, qui génère une description en langage naturel de ce résultat.

Pour la RAG, lorsque le profil AI inclut un index vectoriel, le système utilise le modèle de transformateur spécifié (ou transformateur par défaut) pour créer une intégration de vecteur à partir de l'invite de recherche de similarité sémantique par rapport à la banque de vecteurs. Le système ajoute ensuite le contenu extrait de la banque de vecteurs à l'invite utilisateur et l'envoie au LLM pour générer une réponse basée sur ces informations.

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.

chat

Transmet l'invite utilisateur directement au LLM pour générer une réponse, qui est fournie à l'utilisateur.

Pour les conversations à court terme basées sur une session, si conversation dans la fonction DBMS_CLOUD_AI.CREATE_PROFILE est défini sur true, cette option inclut le contenu des interactions ou invites précédentes, y compris éventuellement les métadonnées de schéma.

Pour plusieurs conversations nommées, seuls les historiques d'invite liés aux discussions sont envoyés au LLM. Pour en savoir plus, reportez-vous à Sélectionner des conversations AI.

showprompt

Cette action prend en charge NL2SQL et RAG. Cette action ne prend pas en charge la génération de données synthétiques, explainsql et narrate.

Affichez l'invite construite qui serait envoyée au modèle d'IA générative.

summarize

Génère un récapitulatif du contenu de vos fichiers texte et volumineux à l'aide de fournisseurs d'IA spécifiés par l'utilisateur. Si votre profil AI est défini dans la session, vous pouvez utiliser SELECT AI SUMMARIZE <TEXT>.

Pour en savoir plus, reportez-vous à Génération d'un récapitulatif avec Select AI et à Exemple : sélection d'actions AI.

Pour personnaliser la génération de récapitulatif, utilisez la fonction DBMS_CLOUD_AI.SUMMARIZE. Pour en savoir plus, reportez-vous à Exemple : sélection de la synthèse AI.

feedback

Permet de fournir des commentaires en langage naturel pour améliorer la capacité du LLM à générer des requêtes SQL plus précises. Vous pouvez l'utiliser avec les autres actions Select AI telles que runsql, showsql et explainsql. Pour en savoir plus, reportez-vous à Commentaires.

Remarque

Cette fonctionnalité n'est disponible que sur Oracle AI Database 26ai. Si vous utilisez narrate, assurez-vous que le profil est configuré pour la génération SQL et non pour la RAG.

translate

Permet d'utiliser l'IA générative du service de traduction OCI pour traduire votre invite dans la langue préférée indiquée en tant qu'attribut target_language dans votre profil d'IA.

agent

Appelle l'équipe de l'agent pour traiter l'invite en langage naturel. Pour plus d'informations, reportez-vous à Sélectionner un agent AI et à Exemples d'utilisation de Sélectionner un agent AI.

Pour savoir comment utiliser ces actions, reportez-vous à Exemples d'utilisation de Select AI.

Notes d'utilisation

  • Le mot-clé AI pour Select AI n'est pas pris en charge dans Database Actions ou le service APEX. Vous pouvez uniquement utiliser la fonction DBMS_CLOUD_AI.GENERATE.

    N'utilisez pas DBMS_CLOUD_AI.SET_PROFILE dans Database Actions ou le service APEX. Définissez plutôt le profil AI dans l'argument profile_name de DBMS_CLOUD_AI.GENERATE.

  • Le mot-clé AI est pris en charge uniquement dans une instruction SELECT.

  • Vous ne pouvez pas exécuter d'instructions PL/SQL, d'instructions LDD ou d'instructions LMD avec le mot-clé AI.

  • La séquence est SELECT, suivie de AI. Ces mots-clés ne sont pas sensibles à la casse. Après avoir défini votre profil AI à l'aide de DBMS_CLOUD_AI.SET_PROFILE et de l'action facultative, le texte après SELECT AI est une invite en langage naturel. Si aucun profil AI n'est défini, SELECT AI signale l'erreur suivante lors de l'exécution d'une instruction SELECT AI :

    ORA-00923: FROM keyword not found where expected
    00923. 00000 -  "FROM keyword not found where expected"
  • Les règles spéciales d'utilisation des caractères s'appliquent conformément aux directives d'Oracle. Par exemple, utilisez deux guillemets simples si vous utilisez une apostrophe dans une phrase.

    select ai how many customers in SF don''t own their own home
  • Les LLM sont soumis à des hallucinations et les résultats ne sont pas toujours corrects :

    • Il est possible que SELECT AI ne puisse pas exécuter la requête SQL générée pour une invite en langage naturel spécifique.

    • Il est possible que SELECT AI ne puisse pas générer de requête SQL pour une invite en langage naturel spécifique.

    • Il est possible que le LLM ne génère pas une requête SQL qui produit un résultat correct en fonction de votre invite en langage naturel.

    Dans un tel scénario, SELECT AI peut répondre avec des informations pour vous aider à générer des instructions SQL valides.

  • Pour obtenir de meilleurs résultats avec le langage naturel pour la génération SQL, utilisez des vues de base de données ou des tables avec des noms de colonne contextuels ou envisagez d'ajouter des commentaires de colonne expliquant les valeurs stockées dans les colonnes.

  • Utilisez l'action explainsql, comme dans SELECT AI explainsql, pour obtenir une explication plus détaillée de l'instruction SQL, par rapport à SELECT AI showsql.
  • Pour accéder aux vues DBA ou USER, reportez-vous à la section DBMS_CLOUD_AI Views.