KI-Profile verwalten

Sie können Ihre AI-Profile über das Package DBMS_CLOUD_AI erstellen und verwalten.

Verwenden Sie DBMS_CLOUD_AI, um AI-Profile zu konfigurieren

Autonomous Database verwendet KI-Profile, um den Zugriff auf ein LLM zu erleichtern und zu konfigurieren und SQL basierend auf Eingabeaufforderungen in natürlicher Sprache zu generieren, auszuführen und zu erläutern. Es erleichtert auch das Abrufen der erweiterten Generierung durch Einbettungsmodelle und Vektorindizes und ermöglicht das Chatten mit dem LLM.

AI-Profile umfassen Datenbankobjekte, die das Ziel für Abfragen in natürlicher Sprache sind. Metadaten, die von diesen Zielen verwendet werden, können Datenbanktabellennamen, Spaltennamen, Spaltendatentypen und Kommentare enthalten. Sie erstellen und konfigurieren AI-Profile mit den Prozeduren DBMS_CLOUD_AI.CREATE_PROFILE und DBMS_CLOUD_AI.SET_PROFILE.

Neben der Angabe von Tabellen und Views im AI-Profil können Sie auch Tabellen angeben, die externen Tabellen zugeordnet sind, einschließlich der Tabellen, die unter Externe Daten mit Data Catalog abfragen beschrieben sind. Auf diese Weise können Sie nicht nur Daten innerhalb der Datenbank abfragen, sondern auch Daten, die im Objektspeicher eines Data Lakes gespeichert sind.

Voraussetzungen für Select AI ausführen

Bevor Sie "AI auswählen" verwenden, führen Sie die folgenden Schritte aus, um DBMS_CLOUD_AI zu aktivieren.

Für die Verwendung von DBMS_CLOUD_AI ist Folgendes erforderlich:

  • Zugriff auf einen Oracle Cloud Infrastructure-Cloud-Account und auf eine Autonomous Database-Instanz.
  • Ein kostenpflichtiger API-Account eines unterstützten KI-Providers, einer der folgenden:
    KI-Provider API-Schlüssel

    OpenAI

    Informationen zum Abrufen der API-Schlüssel finden Sie unter Verwenden Sie OpenAI.

    Cohere

    Informationen zum Abrufen Ihrer Secret-API-Schlüssel finden Sie unter Cohere verwenden.

    Azure OpenAI-Service

    Weitere Informationen zur Konfiguration von Azure OpenAI Service finden Sie unter Azure OpenAI Service verwenden.

    OCI Generative AI

    Siehe OCI Generative AI verwenden.

    Google

    Informationen zum Abrufen Ihrer API-Schlüssel finden Sie unter Google verwenden.

    Anthropisch

    Informationen zum Abrufen Ihrer API-Schlüssel finden Sie unter Anthropic verwenden.

    Umarmendes Gesicht

    Informationen zum Abrufen Ihrer API-Schlüssel finden Sie unter Hugging Face verwenden.

  • Netzwerk-ACL-Berechtigungen für den Zugriff auf Ihren externen AI-Provider.
    Hinweis

    Netzwerk-ACL-Berechtigungen sind für OCI Generative AI nicht erforderlich.
  • Zugangsdaten, die Zugriff auf den AI-Provider ermöglichen.

DBMS_CLOUD_AI aktivieren

So konfigurieren Sie DBMS_CLOUD_AI:
  1. Erteilen Sie dem Benutzer, der Select AI verwenden möchte, die Berechtigung EXECUTE für das Package DBMS_CLOUD_AI.

    Standardmäßig verfügt nur der Systemadministrator über die Berechtigung EXECUTE. Der Administrator kann anderen Benutzern die Berechtigung EXECUTE erteilen.

  2. Erteilen Sie dem Benutzer, der Select AI mit RAG verwenden möchte, die Berechtigung EXECUTE für DBMS_CLOUD_PIPELINE.

    Hinweis

    Wenn der Benutzer bereits über die Rolle DWROLE verfügt, ist diese Berechtigung enthalten, und es ist keine zusätzliche Berechtigung erforderlich.
  3. Erteilen Sie dem Benutzer, der Select AI verwenden möchte, und dem AI-Providerendpunkt Netzwerk-ACL-Zugriff.

    Der Systemadministrator kann die Netzwerk-ACL-Zugriffsrechte erteilen. Weitere Informationen finden Sie unter Prozedur APPEND_HOST_ACE.

  4. Erstellen Sie Zugangsdaten, um den Zugriff auf Ihren AI-Provider zu ermöglichen.

    Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL.

  5. Erteilen Sie dem Benutzer, der Select AI mit RAG verwenden möchte, Quotas im Tablespace, um den Speicherplatz in einem bestimmten Tablespace zu verwalten.

Beispiele für Berechtigungen zum Ausführen von Select AI

Das folgende Beispiel erteilt ADB_USER die Berechtigung EXECUTE:
GRANT execute on DBMS_CLOUD_AI to ADB_USER;

Das folgende Beispiel erteilt die Berechtigung EXECUTE für das Package DBMS_CLOUD_PIPELINE, das für RAG erforderlich ist:

GRANT EXECUTE on DBMS_CLOUD_PIPELINE to ADB_USER;

Um die Berechtigungen zu prüfen, die einem Benutzer für die Packages DBMS_CLOUD_AI und DBMS_CLOUD_PIPELINE erteilt wurden, kann ein Administrator Folgendes ausführen:

SELECT table_name AS package_name, privilege 
 FROM DBA_TAB_PRIVS 
 WHERE grantee = '<username>'
 AND   (table_name = 'DBMS_CLOUD_PIPELINE'
        OR table_name = 'DBMS_CLOUD_AI');
Im folgenden Beispiel wird ADB_USER die Berechtigung zur Verwendung des Endpunkts api.openai.com erteilt.
Hinweis

Diese Prozedur gilt nicht für OCI Generative AI.
BEGIN  
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
         host => 'api.openai.com',
         ace  => xs$ace_type(privilege_list => xs$name_list('http'),
                             principal_name => 'ADB_USER',
                             principal_type => xs_acl.ptype_db)
   );
END;
/

Parameter:

  • host: Der Host. Dabei kann es sich um den Namen oder die IP-Adresse des Hosts handeln. Sie können einen Platzhalter verwenden, um eine Domain oder ein IP-Subnetz anzugeben. Beim Host- oder Domainnamen ist die Groß-/Kleinschreibung nicht zu beachten.

    KI-Provider Host

    OpenAI

    api.openai.com

    Cohere

    api.cohere.ai

    Azure OpenAI-Service

    <azure_resource_name>.openai.azure.com

    Weitere Informationen zu azure_resource_name finden Sie unter Profilattribute.

    Google

    generativelanguage.googleapis.com

    Anthropisch

    api.anthropic.com

    Umarmendes Gesicht

    api-inference.huggingface.co

  • ace: Die Access Control-Einträge (ACE). Der Typ XS$ACE_TYPE wird angegeben, um jeden ACE-Eintrag für die ACL zu erstellen. Weitere Details finden Sie unter ACLs und ACEs erstellen.

Im folgenden Beispiel werden Zugangsdaten erstellt, um den Zugriff auf OpenAI zu ermöglichen.


EXEC 
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name   => 'OPENAI_CRED', 
username          =>  'OPENAI', 
password          =>  '<your_api_token>');

Parameter:

  • credential_name: Der Name der zu speichernden Zugangsdaten. Der Parameter credential_name muss den Benennungskonventionen für Oracle-Objekte entsprechen.

  • username: Mit den Argumenten username und password werden Ihre Zugangsdaten für AI-Provider angegeben.

    username ist ein benutzerdefinierter Benutzername.

  • password: Mit den Argumenten username und password werden Ihre Zugangsdaten für AI-Provider angegeben.

    password ist der Secret-API-Schlüssel Ihres KI-Providers und hängt vom Provider ab:

    KI-Provider API-Schlüssel

    OpenAI

    Informationen zum Abrufen der API-Schlüssel finden Sie unter Verwenden Sie OpenAI.

    Cohere

    Informationen zum Abrufen Ihrer API-Schlüssel finden Sie unter Cohere verwenden.

    Azure OpenAI-Service

    Informationen zum Abrufen der API-Schlüssel und zum Konfigurieren des Service finden Sie unter Azure-Service OpenAI verwenden.

    Hinweis

    Wenn Sie den Azure-Service-Principal OpenAI zur Authentifizierung verwenden, können Sie die Prozedur DBMS_CLOUD.CREATE_CREDENTIAL überspringen. Ein Beispiel für die Authentifizierung mit dem Azure-Service-Principal OpenAI finden Sie unter Beispiele für die Verwendung von Select AI.

    OCI Generative AI

    Siehe OCI Generative AI verwenden, um API-Signaturschlüssel zu generieren.

    Google

    Informationen zum Generieren Ihrer API-Schlüssel finden Sie unter Google verwenden.

    Anthropisch

    Informationen zum Generieren Ihrer API-Schlüssel finden Sie unter Anthropic verwenden.

    Umarmendes Gesicht

    Informationen zum Generieren Ihrer API-Schlüssel finden Sie unter Hugging Face verwenden.

Das folgende Beispiel erteilt der ADB_USER Quota für den Tablespace, um Select AI mit RAG zu verwenden:

ALTER USER ADB_USER QUOTA 1T ON <tablespace_name>;

Um die Tablespace Quota zu prüfen, die einem Benutzer erteilt wurde, führen Sie folgenden Befehl aus:

SELECT TABLESPACE_NAME, BYTES, MAX_BYTES 
FROM DBA_TS_QUOTAS 
WHERE USERNAME = '<username>' AND
      TABLESPACE_NAME LIKE 'DATA%';

Parameter:

  • TABLESPACE_NAME: Der Tablespace, dem die Quota zugewiesen ist. In Autonomous Database werden Tablespaces automatisch verwaltet und haben DATA als Präfix.
  • BYTES: Der Speicherplatz, der derzeit vom Benutzer im Tablespace belegt wird.
  • MAX_BYTES: Die maximal zugewiesene Quota (in Byte). Wenn MAX_BYTES -1 ist, bedeutet dies, dass der Benutzer eine unbegrenzte Quota für den Tablespace hat. Der Datenbankbenutzer, der den Vektorindex erstellt, muss MAX_BYTES ausreichend größer als Byte haben, um den Vektorindex aufzunehmen, oder MAX_BYTES muss -1 für eine unbegrenzte Quota sein.

Themen

Verwenden Sie OpenAI

Um OpenAI zu ermöglichen, SQL- und Textantworten für Ihre Eingabeaufforderungen in natürlicher Sprache zu generieren, beziehen Sie API-Schlüssel aus Ihrem kostenpflichtigen OpenAI-Account.

Sie finden Ihren Secret-API-Schlüssel im Profil-Dashboard unter API-Schlüssel.

Cohere verwenden

Damit Cohere SQL- und Textantworten für Ihre Eingabeaufforderungen in natürlicher Sprache generieren kann, erhalten Sie API-Schlüssel von Ihrem kostenpflichtigen Cohere-Konto.

  1. Melden Sie sich auf der Website von Cohere mit Ihren Zugangsdaten an. Das Cohere Dashboard wird standardmäßig angezeigt.

  2. Klicken Sie alternativ auf Dashboard.

  3. Klicken Sie in der linken Navigationsleiste auf API-Schlüssel. Kopieren Sie den Standard-API-Schlüssel, oder erstellen Sie einen anderen Schlüssel. Weitere Informationen finden Sie unter API-Schlüssel.

Azure OpenAI-Service verwenden

Damit Azure OpenAI Service SQL- und Textantworten für Ihre Eingabeaufforderungen in natürlicher Sprache generieren kann, konfigurieren und erteilen Sie Zugriff auf den AI-Provider.

Führen Sie die folgenden Schritte aus, um Azure OpenAI Service zu verwenden:
  1. Rufen Sie Ihre geheimen API-Schlüssel ab. Sie finden Ihre API-Schlüssel im Abschnitt "Resource Management" Ihres Azure-Portals. Klicken Sie auf der Seite "Azure-Dienstressource OpenAI" auf Schlüssel und Endpunkt. Sie können entweder KEY1 oder KEY2 kopieren.
  2. Erstellen Sie eine Azure-Serviceressource OpenAI, und stellen Sie ein Modell bereit: Azure-Serviceressource OpenAI erstellen und bereitstellen.

    Tipp:

    • Notieren Sie sich den Ressourcennamen und den Deployment-Namen, da diese Parameter zur Bereitstellung von Netzwerkzugriffsberechtigungen und zum Erstellen des Azure OpenAI-Serviceprofils mit der Prozedur DBMS_CLOUD_AI.CREATE_PROFILE verwendet werden.
    • Informationen zu Ratenlimits für Token pro Minute in einem Modell finden Sie unter Azure OpenAI-Servicequotas und -limits.
  3. Zugriff auf Azure OpenAI Service zulassen:

OCI Generative AI verwenden

Um OCI Generative AI zu ermöglichen, SQL- und Textantworten für Ihre Eingabeaufforderungen in natürlicher Sprache zu generieren, generieren Sie einen API-Signaturschlüssel.

Mit der Konsole oder der Befehlszeile können Sie einen API-Signaturschlüssel für jede Oracle Database-Instanz generieren. Siehe So generieren Sie den API-Signaturschlüssel.

Google verwenden

Um Google AI Studio zu ermöglichen, SQL- und Textantworten für Ihre Eingabeaufforderungen in natürlicher Sprache zu generieren, erhalten Sie API-Schlüssel aus Ihrem kostenpflichtigen Google AI Studio-Konto.

  1. Gehen Sie zu Google AI Studio.
  2. Klicken Sie auf "Bei Google AI Studio anmelden".
  3. Klicken Sie im Prompt-Fenster auf "API-Schlüssel abrufen".
  4. Wählen Sie auf der nächsten Seite alle zutreffenden Optionen aus.
  5. Klicken Sie auf "API-Schlüssel erstellen".
  6. Klicken Sie im neuen Projekt auf API-Schlüssel erstellen.
    Auf dem Bildschirm wird der Fortschritt angezeigt und ein API-Schlüssel generiert. Kopieren Sie den Schlüssel, und speichern Sie ihn.

Anthropische Verwendung

Um Anthropic Developer Console zu ermöglichen, SQL- und Textantworten für Ihre Eingabeaufforderungen in natürlicher Sprache zu generieren, rufen Sie API-Schlüssel aus Ihrem kostenpflichtigen Anthropic Developer Console-Konto ab.

  1. Rufen Sie die Anthropic Developer Console auf.
  2. Registrieren Sie sich für ein Konto, wenn Sie noch kein Konto haben.
  3. Navigieren Sie nach der Anmeldung zum API-Abschnitt oder zum Dashboard.
  4. Suchen Sie nach einer Option zum Generieren oder Anzeigen von API-Schlüsseln.
  5. Klicken Sie auf diese Option, um einen neuen API-Schlüssel zu erstellen.
  6. Kopieren Sie den generierten API-Schlüssel, und speichern Sie ihn.
    Die Claude API ist ein kostenpflichtiger Service. Sie müssen Ihrem Konto Guthaben hinzufügen, bevor Sie den API-Schlüssel verwenden können.

Umarmendes Gesicht verwenden

Um Hugging Face als KI-Anbieter zu ermöglichen, SQL- und Textantworten auf Ihre Eingabeaufforderungen in natürlicher Sprache zu generieren, erhalten Sie API-Schlüssel von Ihrem kostenpflichtigen Hugging Face-Konto.

  1. Gehen Sie zu Umarmung.
  2. Registrieren Sie sich für ein Konto, wenn Sie noch kein Konto haben.
  3. Navigieren Sie zu Ihren Kontoeinstellungen.
  4. Suchen Sie im Navigationsmenü nach Zugriffstoken.
  5. Klicken Sie auf diese Option, um einen neuen API-Schlüssel zu erstellen.
  6. Kopieren Sie den generierten API-Schlüssel, und speichern Sie ihn.

AI-Profil erstellen und festlegen

Beschreibt die Schritte zum Erstellen und Aktivieren eines AI-Profils.

Verwenden Sie DBMS_CLOUD_AI.CREATE_PROFILE, um ein AI-Profil zu erstellen. Führen Sie DBMS_CLOUD_AI.SET_PROFILE aus, um das AI-Profil zu aktivieren, sodass Sie SELECT AI mit einer Eingabeaufforderung in natürlicher Sprache verwenden können.

Hinweis

Sie müssen DBMS_CLOUD_AI.SET_PROFILE in jeder neuen zustandsbehafteten Datenbanksession (Verbindung) ausführen, bevor Sie SELECT AI verwenden. Wenn Sie eine zustandslose Verbindung verwenden, müssen Sie die Funktion DBMS_CLOUD_AI.GENERATE verwenden, mit der Sie den Profilnamen in jedem Aufruf angeben können.

Im folgenden Beispiel mit dem OpenAI-Provider wird ein AI-Profil mit dem Namen OPENAI erstellt und das OPENAI-Profil für die aktuelle Benutzersession festgelegt.

-- Create AI profile
--BEGIN
  DBMS_CLOUD_AI.CREATE_PROFILE(
  profile_name   => 'OPENAI',
  attributes     =>'{"provider": "openai",
			"credential_name": "OPENAI_CRED",
			"object_list": [{"owner": "SH", "name": "customers"},
					  {"owner": "SH", "name": "sales"},
					  {"owner": "SH", "name": "products"},
					  {"owner": "SH", "name": "countries"}]
       }');
END;
/
 
PL/SQL procedure successfully completed.
 
--
-- Enable AI profile in current session
--
EXEC DBMS_CLOUD_AI.set_profile('OPENAI');
 
PL/SQL procedure successfully completed.