KI-Profile verwalten

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

AI-Profile mit DBMS_CLOUD_AI konfigurieren

Autonomous Database verwendet KI-Profile, um den Zugriff auf ein LLM zu erleichtern und zu konfigurieren sowie um SQL basierend auf Eingabeaufforderungen in natürlicher Sprache zu generieren, auszuführen und zu erläutern. Es erleichtert auch die Retrieval Augmented Generation mit Einbettungsmodellen und Vektorindizes und ermöglicht das Chatten mit dem LLM.

KI-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 Ansichten 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 werden. Auf diese Weise können Sie Daten nicht nur innerhalb der Datenbank abfragen, sondern auch Daten, die im Objektspeicher eines Data Lakes gespeichert sind.

Voraussetzungen für KI-Auswahl ausführen

Bevor Sie Select AI verwenden, finden Sie hier die Schritte zum Aktivieren von DBMS_CLOUD_AI.

Für die Verwendung von DBMS_CLOUD_AI sind Folgendes erforderlich:

  • Zugriff auf einen Oracle Cloud Infrastructure-Cloud-Account und auf eine Autonomous Database-Instanz.
  • Ein kostenpflichtiges API-Konto eines unterstützten KI-Anbieters, eines von:
    KI-Provider API-Schlüssel

    OpenAI

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

    OpenAI-kompatible Provider

    Informationen zum Abrufen Ihrer API-Schlüssel und provider_endpoint finden Sie unter OpenAI-kompatible Provider verwenden.

    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.

    Anthrop

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

    Hugging Face

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

    AWS

    Informationen zum Abrufen Ihrer API-Schlüssel und Modell-ID finden Sie unter AWS verwenden.

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

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

Berechtigungen für ausgewählte KI erteilen

Um Select AI zu verwenden, muss der Administrator die Berechtigung EXECUTE für das Package DBMS_CLOUD_AI erteilen. Erfahren Sie mehr über zusätzliche Berechtigungen, die für Select AI und die zugehörigen Features erforderlich sind.

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.

  3. Erteilen Sie dem Benutzer, der Select AI verwenden möchte, und dem AI-Providerendpunkt Netzwerk-ACL-Zugriff.

    Der Systemadministrator kann Netzwerk-ACL-Zugriff gewähren. 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

Sehen Sie sich Beispiele für Berechtigungen an, die für die Verwendung von Select AI und der zugehörigen Features erforderlich sind.

Im folgenden Beispiel wird ADB_USER die Berechtigung EXECUTE erteilt:
GRANT execute on DBMS_CLOUD_AI to ADB_USER;

Im folgenden Beispiel wird die Berechtigung EXECUTE für das Package DBMS_CLOUD_PIPELINE erteilt, 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

Dieses Verfahren 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;
/

Die Parameter sind:

  • host: Der Host, der der Name oder die IP-Adresse des Hosts sein kann. Sie können eine Domain oder ein IP-Subnetz mit einem Platzhalter angeben. Beim Host- oder Domainnamen wird nicht zwischen Groß- und Kleinschreibung unterschieden.

    KI-Provider Host

    OpenAI

    api.openai.com

    OpenAI-kompatible Provider

    Beispiel: Verwenden Sie für Fireworks AI api.fireworks.ai

    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

    Anthrop

    api.anthropic.com

    Hugging Face

    api-inference.huggingface.co

    AWS

    bedrock-runtime.us-east-1.amazonaws.com

  • 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 Informationen 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>');

Die Parameter sind:

  • credential_name: Der Name der zu speichernden Zugangsdaten. Der Parameter credential_name muss den Benennungskonventionen von Oracle-Objekten entsprechen.

  • username: Die Argumente username und password geben gemeinsam Ihre AI-Providerzugangsdaten an.

    username ist ein benutzerdefinierter Benutzername.

  • password: Die Argumente username und password geben gemeinsam Ihre AI-Providerzugangsdaten an.

    Die password ist Ihr Secret-API-Schlüssel des KI-Providers und hängt vom Provider ab:

    KI-Provider API-Schlüssel

    OpenAI

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

    OpenAI-kompatible Provider

    Informationen zum Abrufen Ihrer API-Schlüssel und provider_endpoint finden Sie unter OpenAI-kompatible Provider verwenden.

    Cohere

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

    Azure OpenAI-Service

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

    Hinweis

    Wenn Sie den Azure-Principal OpenAI Service zur Authentifizierung verwenden, können Sie die Prozedur DBMS_CLOUD.CREATE_CREDENTIAL überspringen. Ein Beispiel für die Authentifizierung mit dem Service-Principal Azure 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.

    Anthrop

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

    Hugging Face

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

    AWS

    Informationen zum Abrufen Ihrer API-Schlüssel und Modell-ID finden Sie unter AWS verwenden.

Das folgende Beispiel erteilt der ADB_USER Quotas 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 Folgendes aus:

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

Die Parameter sind:

  • 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 unbegrenzte Quota sein.

Ausgewählte KI zur Verwendung unterstützter KI-Provider konfigurieren

Erfahren Sie, wie Sie Ihren KI-Providern die Verwendung mit Select AI ermöglichen.

Anthropic verwenden

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

  1. Gehen Sie zu Anthropic Developer Console.
  2. Registrieren Sie sich für ein Konto, wenn Sie noch keines haben.
  3. Nachdem Sie sich angemeldet haben, navigieren Sie zum API-Abschnitt oder 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.

AWS verwenden

Um AWS zu aktivieren, rufen Sie Ihren API-Schlüssel und Ihre Modell-ID ab.

Rufen Sie Ihren API-Schlüssel ab, und verwenden Sie ihn, um Zugangsdaten über DBMS_CLOUD.CREATE_CREDENTIAL zu erstellen.

Führen Sie den folgenden Prozess aus, um Ihren API-Schlüssel und Modellnamen abzurufen:

  1. Melden Sie sich für ein AWS-Konto an, wenn Sie noch keines haben.
  2. Erstellen Sie Ihre Zugriffstasten und Secret Keys in der AWS Bedrock-Konsole.
  3. Kopieren Sie die generierten Schlüssel, und speichern Sie sie.
  4. Fordern Sie Zugriff auf ihre Basismodelle an. Siehe Auf Amazon Bedrock-Grundlagenmodelle zugreifen.
  5. Rufen Sie die Modell-ID ab. Sie benötigen die Modell-ID in der Prozedur DBMS_CLOUD_AI.CREATE_PROFILE. Die Modell-ID hängt von den verwendeten Ressourcen ab. Wenn Sie verwenden:
    Hinweis

    Das importierte Modell wird mit der Bedrock Converse-API nicht unterstützt.
Informationen zur Verwendung von AWS als Provider finden Sie unter Beispiel: KI mit AWS auswählen.

Azure OpenAI Service verwenden

Damit Azure OpenAI Service SQL- und Textantworten auf Ihre Eingabeaufforderungen in natürlicher Sprache generieren kann, konfigurieren und gewähren Sie Zugriff auf den KI-Provider.

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

    Tipp:

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

Cohere verwenden

Um Cohere zu ermöglichen, SQL- und Textantworten auf Ihre Eingabeaufforderungen in natürlicher Sprache zu generieren, rufen Sie API-Schlüssel von Ihrem Cohere-Konto ab.

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

  2. Alternativ können Sie auf Dashboard klicken.

  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 hierzu finden Sie in API-Schlüssel.

Google verwenden

Um Google AI Studio zu ermöglichen, SQL- und Textantworten auf Ihre Eingabeaufforderungen in natürlicher Sprache zu generieren, rufen Sie API-Schlüssel von Ihrem kostenpflichtigen Google AI Studio-Konto ab.

  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 gültigen Optionen aus.
  5. Klicken Sie auf "API-Schlüssel erstellen".
  6. Klicken Sie auf API-Schlüssel in neuem Projekt erstellen.
    Auf dem Bildschirm wird der Fortschritt angezeigt und ein API-Schlüssel generiert. Kopieren Sie den Schlüssel, und speichern Sie ihn.

Umarmungsgesicht verwenden

Damit Hugging Face als Ihr KI-Anbieter SQL- und Textantworten auf Ihre Eingabeaufforderungen in natürlicher Sprache generieren kann, rufen Sie API-Schlüssel von Ihrem kostenpflichtigen Hugging Face-Konto ab.

  1. Gehen Sie zu Hugging Face.
  2. Registrieren Sie sich für ein Konto, wenn Sie noch keines haben.
  3. Navigieren Sie zu Ihren Kontoeinstellungen.
  4. Suchen Sie im Navigationsmenü die 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.

OCI Generative AI verwenden

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

Generieren Sie mit der Konsole oder Befehlszeile einen API-Signaturschlüssel für jede Oracle Database-Instanz. Siehe So generieren Sie den API-Signaturschlüssel.

Verwenden Sie OpenAI

Um zu ermöglichen, dass OpenAI SQL- und Textantworten auf Ihre Eingabeaufforderungen in natürlicher Sprache generiert, rufen Sie API-Schlüssel aus Ihrem kostenpflichtigen OpenAI-Account ab.

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

OpenAI-kompatible Provider verwenden

Um Provider zu aktivieren, die mit OpenAI kompatibel sind, rufen Sie Ihren API-Schlüssel ab.

OpenAI-kompatible Provider verwenden die Bearer-Authentifizierung. Rufen Sie Ihren API-Schlüssel ab, und verwenden Sie ihn, um Zugangsdaten über DBMS_CLOUD.CREATE_CREDENTIAL zu erstellen. Beispiel: Fireworks AI ist ein OpenAI-kompatibler Provider.

Befolgen Sie den Prozess, um Ihren Fireworks AI-API-Schlüssel, die Basispfad-URL des Modells und den Modellnamen abzurufen:

  1. Melden Sie sich für ein Fireworks AI-Konto an, wenn Sie noch keines haben.
  2. Erstellen Sie einen API-Schlüssel über die Fireworks AI-Konsole.
  3. Kopieren Sie den generierten API-Schlüssel, und speichern Sie ihn.
  4. Rufen Sie den Providerendpunkt ab, den Sie in der Prozedur DBMS_CLOUD_AI.CREATE_PROFILE benötigen:
    1. Wählen Sie eines der verfügbaren Modelle aus, indem Sie auf die verfügbaren Modelle klicken.
    2. Scrollen Sie zum API-Beispiel, und rufen Sie den Pfad der OpenAI-kompatiblen Basis-URL ab.
      Für das Modell Llama 3.2 3B Instruct lautet die Basispfad-URL: https://api.fireworks.ai/inference/v1/chat/completions. Schließen Sie für den Parameter provider_endpoint /v1/chat/completions aus. Die provider_endpoint für das genannte Modell lautet https://api.fireworks.ai/inference.
      Hinweis

      Einige Provider benötigen möglicherweise ein Präfix für den Modellnamen. Das korrekte Format finden Sie in der Dokumentation des AI-Providers.
  5. Kopieren Sie den Modellnamen aus demselben API-Beispiel. Sie benötigen den Modellnamen in der Prozedur DBMS_CLOUD_AI.CREATE_PROFILE. Beispiel: accounts/fireworks/models/llama-v3p2-3b-instruct.
Informationen zur Verwendung von Firework AI als OpenAI-kompatiblen Provider finden Sie unter Beispiel: AI mit OpenAI-kompatiblen Providern auswählen.

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 einem Prompt 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 bei jedem Aufruf angeben können.

Das folgende Beispiel mit dem OpenAI-Provider erstellt ein AI-Profil namens OPENAI und legt das OPENAI-Profil für die aktuelle Benutzersession fest.

-- 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.