Gestisci profili AI

È possibile creare e gestire i profili AI mediante il pacchetto DBMS_CLOUD_AI.

Utilizzare DBMS_CLOUD_AI per configurare i profili AI

Autonomous Database utilizza i profili AI per facilitare e configurare l'accesso a un LLM e per impostare la generazione, l'esecuzione e la spiegazione di SQL in base AI prompt del linguaggio naturale. Inoltre facilita il recupero della generazione aumentata utilizzando modelli di incorporamento e indici vettoriali e consente di chattare con l'LLM.

I profili AI includono oggetti di database che sono la destinazione per le query in linguaggio naturale. I metadati utilizzati da queste destinazioni possono includere nomi di tabelle di database, nomi di colonne, tipi di dati di colonna e commenti. È possibile creare e configurare i profili AI utilizzando le procedure DBMS_CLOUD_AI.CREATE_PROFILE e DBMS_CLOUD_AI.SET_PROFILE.

Oltre a specificare tabelle e viste nel profilo AI, è possibile specificare anche tabelle mappate con tabelle esterne, incluse quelle descritte in Query dati esterni con Data Catalog. Ciò consente di eseguire query sui dati non solo all'interno del database, ma anche sui dati memorizzati nell'area di memorizzazione degli oggetti di un data lake.

Esegui prerequisiti per Seleziona AI

Prima di utilizzare Seleziona AI, procedere come segue per abilitare DBMS_CLOUD_AI.

Per utilizzare DBMS_CLOUD_AI è necessario:

  • Accesso a un account cloud Oracle Cloud Infrastructure e a un'istanza di Autonomous Database.
  • Un account API a pagamento di un provider AI supportato, uno dei seguenti:
    Provider AI Chiavi API

    OpenAI

    Vedere Utilizzare OpenAI per ottenere le chiavi API.

    Cohere

    Consulta la sezione Usa Cohere per ottenere le chiavi API segrete.

    Servizio OpenAI di Azure

    Per ulteriori informazioni su come configurare il servizio OpenAI di Azure, vedere Usa servizio OpenAI di Azure.

    AI generativa OCI

    Vedere Usa AI generativa OCI.

    Google

    Consulta la sezione relativa all'utilizzo di Google per ottenere le chiavi API.

    Antropico

    Per ottenere le chiavi API, vedere Usa Anthropic.

    Viso Hugging

    Per ottenere le chiavi API, consulta la sezione relativa all'uso di Hugging Face.

  • Privilegi ACL di rete per accedere al provider AI esterno.
    Nota

    I privilegi ACL di rete non sono necessari per l'AI generativa OCI.
  • Credenziale che fornisce l'accesso al provider AI.

Abilita DBMS_CLOUD_AI

Per configurare DBMS_CLOUD_AI:
  1. Concedere il privilegio EXECUTE sul package DBMS_CLOUD_AI all'utente che desidera utilizzare Select AI.

    Per impostazione predefinita, solo l'amministratore di sistema dispone del privilegio EXECUTE. L'amministratore può concedere il privilegio EXECUTE ad altri utenti.

  2. Concedere il privilegio EXECUTE su DBMS_CLOUD_PIPELINE all'utente che desidera utilizzare Seleziona AI con RAG.

    Nota

    Se l'utente dispone già del ruolo DWROLE, questo privilegio viene incluso e non è richiesta alcuna concessione aggiuntiva.
  3. Concedere l'accesso ACL di rete all'utente che desidera utilizzare Select AI e per l'endpoint del provider AI.

    L'amministratore di sistema può concedere l'accesso all'ACL di rete. Per ulteriori informazioni, vedere APPEND_HOST_ACE Procedura.

  4. Creare una credenziale per abilitare l'accesso al provider AI.

    Per ulteriori informazioni, vedere CREATE_CREDENTIAL Procedura.

  5. Concedere quote nella tablespace per gestire la quantità di spazio in una tablespace specifica all'utente che desidera utilizzare Select AI con RAG.

Esempi di privilegi per l'esecuzione di Select AI

L'esempio seguente concede il privilegio EXECUTE a ADB_USER:
GRANT execute on DBMS_CLOUD_AI to ADB_USER;

L'esempio seguente concede il privilegio EXECUTE per il pacchetto DBMS_CLOUD_PIPELINE richiesto per l'aggregazione RAG:

GRANT EXECUTE on DBMS_CLOUD_PIPELINE to ADB_USER;

Per controllare i privilegi concessi a un utente per i pacchetti DBMS_CLOUD_AI e DBMS_CLOUD_PIPELINE, un amministratore può eseguire quanto riportato di seguito.

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');
L'esempio seguente concede a ADB_USER il privilegio di utilizzare l'endpoint api.openai.com.
Nota

Questa procedura non è applicabile all'AI generativa OCI.
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;
/

Di seguito sono riportati i parametri disponibili.

  • host: l'host, che può essere il nome o l'indirizzo IP dell'host. È possibile utilizzare un carattere jolly per specificare un dominio o una subnet IP. Il nome dell'host o del dominio non distingue tra maiuscole e minuscole.

    Provider AI Host

    OpenAI

    api.openai.com

    Cohere

    api.cohere.ai

    Servizio OpenAI di Azure

    <azure_resource_name>.openai.azure.com

    Per ulteriori informazioni su azure_resource_name, vedere Attributi profilo.

    Google

    generativelanguage.googleapis.com

    Antropico

    api.anthropic.com

    Viso Hugging

    api-inference.huggingface.co

  • ace: le voci di controllo dell'accesso (ACE). Il tipo XS$ACE_TYPE viene fornito per costruire ogni voce ACE per l'ACL. Per ulteriori dettagli, vedere Creazione di ACL e ACE.

Nell'esempio seguente viene creata una credenziale per abilitare l'accesso a OpenAI.


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

Di seguito sono riportati i parametri disponibili.

  • credential_name: il nome della credenziale da memorizzare. Il parametro credential_name deve essere conforme alle convenzioni di denominazione degli oggetti Oracle.

  • username: gli argomenti username e password specificano insieme le credenziali del provider AI.

    username è un nome utente specificato dall'utente.

  • password: gli argomenti username e password specificano insieme le credenziali del provider AI.

    password è la chiave API segreta del provider AI e dipende dal provider:

    Provider AI Chiavi API

    OpenAI

    Vedere Utilizzare OpenAI per ottenere le chiavi API.

    Cohere

    Consulta l'articolo sull'utilizzo di Cohere per ottenere le tue chiavi API.

    Servizio OpenAI di Azure

    Vedere Usa servizio OpenAI di Azure per ottenere le chiavi API e configurare il servizio.

    Nota

    Se si utilizza il principal del servizio OpenAI di Azure per l'autenticazione, è possibile saltare la procedura DBMS_CLOUD.CREATE_CREDENTIAL. Per un esempio di autenticazione mediante il principal del servizio OpenAI di Azure, vedere Esempi di utilizzo di Select AI.

    AI generativa OCI

    Vedere Usa AI generativa OCI per generare chiavi di firma API.

    Google

    Vedere Usa Google per generare le chiavi API.

    Antropico

    Vedere Usa Anthropic per generare le chiavi API.

    Viso Hugging

    Per generare le chiavi API, vedere Usa interfaccia Hugging.

L'esempio riportato di seguito concede quote sulla tablespace a ADB_USER per utilizzare Select AI con RAG:

ALTER USER ADB_USER QUOTA 1T ON <tablespace_name>;

Per controllare la quota di tablespace concessa a un utente, eseguire le operazioni riportate di seguito.

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

Di seguito sono riportati i parametri disponibili.

  • TABLESPACE_NAME: la tablespace alla quale è assegnata la quota. In Autonomous Database, le tablespace vengono gestite automaticamente e dispongono di DATA come prefisso.
  • BYTES: la quantità di spazio attualmente utilizzata dall'utente nella tablespace.
  • MAX_BYTES: la quota massima assegnata (in byte). Se MAX_BYTES è -1, significa che l'utente dispone di una quota illimitata sulla tablespace. L'utente del database che crea l'indice vettoriale deve avere MAX_BYTES sufficientemente più grande dei byte per contenere l'indice vettoriale oppure MAX_BYTES deve essere -1 per una quota illimitata.

Argomenti

Usa OpenAI

Per consentire a OpenAI di generare risposte SQL e di testo ai prompt in linguaggio naturale, ottenere le chiavi API dall'account a pagamento OpenAI.

Puoi trovare la tua chiave API segreta dal dashboard del profilo in Chiavi API.

Usa Cohere

Per consentire a Cohere di generare risposte SQL e di testo ai prompt in linguaggio naturale, ottenere le chiavi API dall'account a pagamento Cohere.

  1. Accedi al sito Web di Cohere con le tue credenziali. Il dashboard Cohere viene visualizzato per impostazione predefinita.

  2. In alternativa, fare clic su Dashboard.

  3. Fare clic su Chiavi API nella navigazione a sinistra. Copiare la chiave API predefinita o crearne un'altra. Per ulteriori informazioni, vedere API-Keys.

Usa servizio OpenAI di Azure

Per consentire al servizio OpenAI di Azure di generare risposte SQL e di testo AI prompt del linguaggio naturale, configurare e fornire l'accesso al provider AI.

Per utilizzare il servizio OpenAI di Azure, effettuare le operazioni riportate di seguito.
  1. Ottenere le chiavi API segrete. È possibile trovare le chiavi API nella sezione Resource Management del portale Azure. Nella pagina Risorsa servizio OpenAI di Azure fare clic su Chiavi ed endpoint. È possibile copiare KEY1 o KEY2.
  2. Creare una risorsa di Azure OpenAI Service e distribuire un modello: Creare e distribuire una risorsa di Azure OpenAI Service.

    Suggerimento

    • Prendere nota del nome della risorsa e del nome della distribuzione poiché tali parametri vengono utilizzati per fornire l'autorizzazione di accesso alla rete e per creare il profilo del servizio OpenAI di Azure utilizzando la procedura DBMS_CLOUD_AI.CREATE_PROFILE.
    • Per informazioni sui limiti di frequenza per il token al minuto in un modello, vedere Quota e limiti del servizio OpenAI di Azure.
  3. Consentire l'accesso al servizio OpenAI di Azure:

Usa AI generativa OCI

Per consentire all'AI generativa OCI di generare risposte SQL e di testo AI prompt del linguaggio naturale, generare una chiave di firma API.

Utilizzare la console o la riga di comando per generare una chiave di firma API per qualsiasi istanza di Oracle Database. Vedere How to Generate the API Signing Key.

Utilizza Google

Per consentire a Google AI Studio di generare risposte SQL e di testo AI prompt del linguaggio naturale, ottenere le chiavi API dall'account a pagamento Google AI Studio.

  1. Vai a Google AI Studio.
  2. Fare clic su Accedi a Google AI Studio.
  3. Fare clic su Ottieni chiave API nella schermata del prompt.
  4. Selezionare tutte le opzioni applicabili nella pagina successiva.
  5. Fare clic su Crea chiave API.
  6. Fare clic su Crea chiave API nel nuovo progetto.
    La schermata visualizza lo stato di avanzamento e genera una chiave API. Copiare la chiave e salvarla.

Usa antropico

Per consentire ad Anthropic Developer Console di generare SQL e risposte di testo ai prompt in linguaggio naturale, ottenere le chiavi API dall'account a pagamento Anthropic Developer Console.

  1. Andare a Anthropic Developer Console.
  2. Registra un account se non ne hai già uno.
  3. Una volta eseguito il login, passare alla sezione API o al dashboard.
  4. Cercare un'opzione per generare o visualizzare le chiavi API.
  5. Fare clic per creare una nuova API Key.
  6. Copiare la chiave API generata e salvarla.
    L'API Claude è un servizio a pagamento. Prima di poter utilizzare la chiave API, dovrai aggiungere crediti al tuo account.

Usa la faccia di Hugging

Per consentire a Hugging Face come provider AI di generare SQL e risposte di testo AI prompt del linguaggio naturale, ottenere le chiavi API dall'account a pagamento Hugging Face.

  1. Passare a Hugging Face.
  2. Registra un account se non ne hai già uno.
  3. Accedere alle impostazioni dell'account.
  4. Nel menu di navigazione individuare i token di accesso.
  5. Fare clic per creare una nuova API Key.
  6. Copiare la chiave API generata e salvarla.

Creare e impostare un profilo AI

Descrive i passi per creare e abilitare un profilo AI.

Utilizzare DBMS_CLOUD_AI.CREATE_PROFILE per creare un profilo AI. Eseguire DBMS_CLOUD_AI.SET_PROFILE per abilitare il profilo AI in modo da poter utilizzare SELECT AI con un prompt in linguaggio naturale.

Nota

È necessario eseguire DBMS_CLOUD_AI.SET_PROFILE in ogni nuova sessione del database con conservazione dello stato (connessione) prima di utilizzare SELECT AI. Se si utilizza una connessione senza conservazione dello stato, è necessario utilizzare la funzione DBMS_CLOUD_AI.GENERATE che consente di specificare il nome del profilo in ogni richiamo.

L'esempio seguente con il provider OpenAI crea un profilo AI denominato OPENAI e imposta il profilo OPENAI per la sessione utente corrente.

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