Mit AI-Schlüsselwort Prompts 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, das im aktiven AI-Profil identifizierte LLM zu verwenden, um 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 Notebooks und Tools von Drittanbietern verwenden, um mit der Datenbank in natürlicher Sprache zu interagieren.

Hinweis

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

Syntax

Die Syntax für die Ausführung 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 und es ist optional, diesen Parameter anzugeben.

showsql

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

explainsql

Erläutert das generierte SQL aus dem Prompt in natürlicher Sprache. Mit dieser Option wird die generierte SQL an den AI-Provider gesendet, 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 das 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 Transformatormodell (oder Standardtransformatormodell), um eine Vektoreinbettung aus dem Prompt für die semantische Ähnlichkeitssuche im Vektorspeicher zu erstellen. Das System fügt dann den abgerufenen Inhalt aus dem Vektorspeicher der Benutzereingabeaufforderung 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 die Benutzeraufforderung 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 vorherigen Interaktionen oder Prompts, möglicherweise einschließlich Schemametadaten.

Hinweise zur Verwendung

  • Das Schlüsselwort AI für Select AI wird in Database Actions oder im 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.

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

  • Die Sequenz ist SELECT gefolgt von AI. Bei diesen Schlüsselwörtern muss die Groß-/Kleinschreibung nicht berücksichtigt werden. Nachdem Sie Ihr KI-Profil mit DBMS_CLOUD_AI.SET_PROFILE und einer optionalen Aktion festgelegt haben, ist der Text nach SELECT AI ein Prompt in natürlicher Sprache. Wenn kein AI-Profil festgelegt ist, meldet SELECT AI den folgenden Fehler bei der Ausführung einer SELECT AI-Anweisung:

    ORA-00923: FROM keyword not found where expected
    00923. 00000 -  "FROM keyword not found where expected"
  • Regeln für die Verwendung von Sonderzeichen gelten gemäß den Richtlinien von Oracle. Beispiel: Verwenden Sie zweimal einfache Anführungszeichen, wenn Sie einen 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 das LLM keine SQL-Abfrage, die bei der Eingabeaufforderung in natürlicher Sprache ein korrektes Ergebnis liefert.

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

  • Für bessere Ergebnisse mit natürlicher Sprache bei der SQL-Generierung verwenden Sie Datenbank-Views oder Tabellen mit kontextbezogenen Spaltennamen oder fügen Spaltenkommentare hinzu, in denen die in den Spalten gespeicherten Werte erläutert werden.

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