Eingabeaufforderungen mit AI-Schlüsselwort eingeben

Verwenden Sie AI als Schlüsselwort in einer SELECT-Anweisung für die Interaktion mit der Datenbank mit Eingabeaufforderungen in natürlicher Sprache.

Das Schlüsselwort AI in einer SELECT-Anweisung weist die SQL-Ausführungs-Engine an, mit dem im aktiven AI-Profil angegebenen LLM die natürliche Sprache zu verarbeiten und SQL zu generieren.

Sie können das Schlüsselwort AI in einer Abfrage mit Oracle-Clients wie SQL Developer, OML-Notizbüchern und Tools von Drittanbietern verwenden, um mit der Datenbank in natürlicher Sprache zu interagieren.

Hinweis

PL/SQL-Anweisungen, DDL-Anweisungen oder DML-Anweisungen können nicht mit dem Schlüsselwort AI ausgeführt werden.

Syntax

Die Syntax zum Ausführen der AI-Eingabeaufforderung lautet:
SELECT AI action natural_language_prompt

Parameter

Die folgenden Parameter sind für den Parameter action verfügbar:
Parameter Beschreibung

runsql

Führt den zugrunde liegenden SQL-Befehl für die Eingabeaufforderung in natürlicher Sprache aus. Dies ist die Standardaktion. Sie können diesen Parameter optional angeben.

showsql

Zeigt die SQL-Anweisung für einen Prompt in natürlicher Sprache an.

explainsql

Erläutert die generierte SQL aus dem Prompt in einer natürlichen Sprache. Diese Option sendet die generierte SQL an den AI-Provider, um eine Erklärung in natürlicher Sprache zu erstellen.

narrate

Sendet das Ergebnis der von der Datenbank ausgeführten SQL-Abfrage zurück an den LLM, um eine Beschreibung dieses Ergebnisses in natürlicher Sprache zu generieren.

Wenn ein Vektorindex im AI-Profil angegeben wird, um RAG zu aktivieren, verwendet das System das angegebene Transformer-(oder Standardtransformator-)Modell, um eine Vektoreinbettung aus dem Prompt für die semantische Ähnlichkeitssuche mit dem Vektorspeicher zu erstellen. Das System fügt dann den abgerufenen Inhalt aus dem Vektorspeicher zur Benutzereingabe hinzu und sendet ihn an das LLM, um eine Antwort basierend auf diesen Informationen zu generieren.

Wenn Sie nicht möchten, dass Tabellendaten oder Vektorsuchdokumente an ein LLM gesendet werden, kann ein Benutzer mit Administratorberechtigungen diesen Zugriff für alle Benutzer der angegebenen Datenbank deaktivieren. Dadurch wird die Aktion narrate deaktiviert.

chat

Übergibt den Benutzer-Prompt direkt an das LLM, um eine Antwort zu generieren, die dem Benutzer zur Verfügung gestellt wird. Wenn conversation in der Funktion DBMS_CLOUD_AI.CREATE_PROFILE auf true gesetzt ist, enthält diese Option Inhalt aus früheren Interaktionen oder Prompts, möglicherweise einschließlich Schemametadaten.

Hinweise zur Verwendung

  • Das Schlüsselwort AI für "AI auswählen" wird in Database Actions oder dem APEX-Service nicht unterstützt. Sie können nur die Funktion DBMS_CLOUD_AI.GENERATE verwenden.

    Verwenden Sie DBMS_CLOUD_AI.SET_PROFILE nicht in Database Actions oder APEX Service. Legen Sie stattdessen das AI-Profil im Argument profile_name von DBMS_CLOUD_AI.GENERATE fest.

  • Das Schlüsselwort AI wird nur in einer SELECT-Anweisung unterstützt.

  • Mit dem Schlüsselwort AI können Sie keine PL/SQL-Anweisungen, DDL-Anweisungen oder DML-Anweisungen ausführen.

  • Die Sequenz lautet SELECT, gefolgt von AI. Bei diesen Schlüsselwörtern wird nicht zwischen Groß- und Kleinschreibung unterschieden. Nachdem Sie Ihr AI-Profil mit DBMS_CLOUD_AI.SET_PROFILE und einer optionalen Aktion festgelegt haben, ist der Text nach SELECT AI eine Eingabeaufforderung in natürlicher Sprache. Wenn kein AI-Profil festgelegt ist, meldet SELECT AI den folgenden Fehler, wenn eine SELECT AI-Anweisung ausgeführt wird:

    ORA-00923: FROM keyword not found where expected
    00923. 00000 -  "FROM keyword not found where expected"
  • Für die Verwendung von Sonderzeichen gelten die Oracle-Richtlinien. Verwenden Sie beispielsweise zwei einfache Anführungszeichen, wenn Sie ein Apostroph in einem Satz verwenden.

    select ai how many customers in SF don''t own their own home
  • LLMs unterliegen Halluzinationen, und die Ergebnisse sind nicht immer korrekt:

    • Möglicherweise kann SELECT AI die generierte SQL-Abfrage für eine bestimmte Eingabeaufforderung in natürlicher Sprache nicht ausführen.

    • Möglicherweise kann SELECT AI keine SQL-Abfrage für eine bestimmte Eingabeaufforderung in natürlicher Sprache generieren.

    • Möglicherweise generiert LLM keine SQL-Abfrage, die aufgrund Ihrer Eingabeaufforderung in natürlicher Sprache ein korrektes Ergebnis erzeugt.

    In einem solchen Szenario kann SELECT AI mit Informationen antworten, um Sie bei der Generierung von gültigem SQL zu unterstützen.

  • Um bessere Ergebnisse mit natürlicher Sprache zur SQL-Generierung zu erzielen, verwenden Sie Datenbank-Views oder Tabellen mit kontextbezogenen Spaltennamen, oder fügen Sie Spaltenkommentare hinzu, die Werte erläutern, die in den Spalten gespeichert sind.

  • Verwenden Sie die Aktion explainsql wie in SELECT AI explainsql, um eine detailliertere Erläuterung der SQL-Anweisung im Vergleich zu SELECT AI showsql zu erhalten.
  • Informationen zum Zugriff auf DBA- oder USER-Ansichten finden Sie unter DBMS_CLOUD_AI-Ansichten.