Pacchetto DBMS_CLOUD_AI
Il pacchetto DBMS_CLOUD_AI, con Select AI, facilita e configura la traduzione dei prompt in linguaggio naturale per generare, eseguire e spiegare le istruzioni SQL. Inoltre, consente la retrieval augmented generation e le interazioni basate sul linguaggio naturale, inclusa la chat con i LLM.
Prerequisiti
- Creare un gateway NAT nella rete cloud virtuale (VCN) in cui risiedono le risorse del database AI autonomo seguendo le istruzioni riportate in Crea un gateway NAT nella documentazione di Oracle Cloud Infrastructure.
- Dopo aver creato il gateway NAT, aggiungere una regola di instradamento e una regola di sicurezza in uscita a ogni subnet (nella VCN) in cui risiedono le risorse del database AI autonomo in modo che queste risorse possano utilizzare il gateway per ottenere una chiave pubblica dall'istanza di Azure AD:
- Andare alla pagina Dettagli subnet per la subnet.
- Nella scheda Informazioni subnet, fare clic sul nome della tabella di instradamento della subnet per visualizzare la relativa pagina Dettagli tabella di instradamento.
- Nella tabella delle regole di instradamento esistenti, verificare se esiste già una regola con le seguenti caratteristiche:
- Data: 0.0.0.0/0
- Tipo di destinazione: gateway NAT
- Destinazione: il nome del gateway NAT appena creato nella VCN
Se la regola non esiste, fare clic su Aggiungi regole di instradamento e aggiungere una regola di instradamento con queste caratteristiche.
- Tornare alla pagina Dettagli subnet per la subnet.
- Nella tabella Elenchi di sicurezza della subnet, fare clic sul nome della lista di sicurezza della subnet per visualizzare la relativa pagina Dettagli lista di sicurezza.
- Nel menu laterale, in Risorse, fare clic su Regole di uscita.
- Nella tabella delle regole di uscita esistenti, verificare se esiste già una regola con le seguenti caratteristiche:
- Tipo di destinazione: CIDR
- Data: 0.0.0.0/0
- Protocollo IP: TCP
- Intervallo porte di origine: 443
- Intervallo di porte di destinazione: tutte
Se una regola di questo tipo non esiste, fare clic su Aggiungi regole di uscita e aggiungere una regola di uscita con queste caratteristiche.
Le impostazioni del proxy HTTP nell'ambiente devono consentire al database di accedere al provider di servizi cloud.
Nota
La configurazione di rete, incluso il proxy HTTP, può essere modificata solo fino a quando lo stato dell'infrastruttura Exadata non è Richiede attivazione. Una volta attivato, non è possibile modificare tali impostazioni.L'impostazione di un proxy HTTP per un'infrastruttura Exadata già fornita richiede una richiesta di servizio (SR) in My Oracle Support. Per informazioni dettagliate, vedere Create a Service Request in My Oracle Support.
Argomenti correlati
Riepilogo dei sottoprogrammi DBMS_CLOUD_AI
In questa sezione vengono descritti i programmi secondari DBMS_CLOUD_AI forniti con Autonomous AI Database.
| Sottoprogramma | Descrizione |
|---|---|
|
Questa procedura crea un nuovo profilo AI per tradurre i prompt del linguaggio naturale nelle istruzioni SQL. |
|
|
Questa procedura disabilita un profilo AI nel database corrente. |
|
|
Questa procedura elimina un profilo AI esistente. |
|
|
Questa procedura consente l'uso di un profilo AI nel database corrente. |
|
| Questa funzione genera un'istruzione SQL utilizzando AI per tradurre. | |
|
Questa procedura imposta gli attributi del profilo AI. |
|
|
Questa procedura imposta il profilo AI per il database corrente. |
CREATE_PROFILE Procedura
La procedura crea un nuovo profilo AI per tradurre i prompt del linguaggio naturale nell'istruzione SQL.
Sintassi
DBMS_CLOUD_AI.CREATE_PROFILE
profile_name IN VARCHAR2,
attributes IN CLOB DEFAULT NULL,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);Parametri
| Parametro | Descrizione |
|---|---|
|
|
Nome del profilo AI. Il nome del profilo deve seguire le regole di denominazione dell'identificativo Oracle SQL. La lunghezza massima del nome del profilo è 125 caratteri. Questo è un parametro obbligatorio. |
|
|
Attributi del profilo in formato JSON. Per ulteriori dettagli, vedere Attributi profilo AI. Il valore predefinito è NULL. |
status |
Stato del profilo. Il valore predefinito è Enable. |
|
|
Descrizione del profilo AI. Il valore predefinito è NULL. |
Esempio
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE(
profile_name => 'OpenAI,
attributes => JSON_OBJECT('provider' value 'openai',
'credential_name' value 'openai_cred'),
description => 'AI profile to use OpenAI for SQL translation'
);
END;
/
DROP_PROFILE Procedura
La procedura elimina un profilo AI esistente. Se il profilo non esiste, la procedura genera un errore.
Sintassi
DBMS_CLOUD_AI.DROP_PROFILE(
profile_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);Parametri
| Parametro | Descrizione |
|---|---|
|
|
Nome del profilo AI |
|
|
Se Il valore predefinito di questo parametro è |
Esempio
BEGIN
DBMS_CLOUD_AI.DROP_PROFILE(profile_name => 'OPENAI');
END;
/Note sull'uso
Utilizzare force per eliminare un profilo e ignorare gli errori se il profilo AI non esiste.
ENABLE_PROFILE Procedura
Questa procedura abilita il profilo AI specificato dall'utente. La procedura modifica lo stato del profilo AI in ENABLED.
Sintassi
DBMS_CLOUD_AI.ENABLE_PROFILE(
profile_name IN VARCHAR2
);Parametri
| Parametro | Descrizione |
|---|---|
|
|
Nome del profilo AI da abilitare Questo parametro è obbligatorio. |
Esempio per abilitare il profilo AI
BEGIN
DBMS_CLOUD_AI.ENABLE_PROFILE(
profile_name => 'OPENAI'
);
END;
/
DISABLE_PROFILE Procedura
Questa procedura disabilita il profilo AI nel database corrente. Lo stato del profilo AI viene modificato in DISABLED mediante questa procedura.
Sintassi
DBMS_CLOUD_AI.DISABLE_PROFILE(
profile_name IN VARCHAR2
);
Parametri
| Parametro | Descrizione |
|---|---|
|
|
Nome del profilo AI. Questo parametro è obbligatorio. |
Esempio
BEGIN
DBMS_CLOUD_AI.DISABLE_PROFILE(
profile_name => 'OPENAI'
);
END;
/
SET_ATTRIBUTE Procedura
Questa procedura consente di impostare gli attributi del profilo AI.
Sintassi
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN CLOB
);
Parametri
Solo il proprietario può impostare o modificare gli attributi del profilo AI. Per un elenco degli attributi supportati, vedere Attributi profilo.
| Parametro | Descrizione |
|---|---|
|
|
Nome del profilo AI per il quale si desidera impostare gli attributi. Questo parametro è obbligatorio. |
|
|
Nome dell'attributo del profilo AI Questo parametro è obbligatorio. |
|
|
Valore dell'attributo di profilo. Il valore predefinito è NULL. |
Esempio
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name => 'OPENAI',
attribute_name => 'credential_name',
attribute_value => 'OPENAI_CRED_NEW'
);
END;
/
SET_PROFILE Procedura
Questa procedura imposta il profilo AI per la sessione corrente.
Dopo aver impostato un profilo AI per la sessione del database, qualsiasi istruzione SQL con il prefisso SELECT AI viene considerata un prompt del linguaggio naturale. A seconda dell'azione specificata con il prefisso AI, una risposta viene generata utilizzando AI. Per utilizzare il prefisso AI, vedere Utilizzare la parola chiave AI per immettere i prompt. Facoltativamente, è possibile sostituire gli attributi di profilo o modificarli specificandoli in formato JSON. Per l'impostazione degli attributi, vedere SET_ATTRIBUTE Procedura.
Il profilo AI può essere impostato per la sessione corrente solo se il proprietario del profilo AI è l'utente della sessione.
Per impostare un profilo AI per tutte le sessioni di un utente di database specifico o per tutte le sessioni utente nel database, prendere in considerazione l'utilizzo di un trigger evento di database per l'evento AFTER LOGON nell'utente specifico o nell'intero database. Per ulteriori dettagli, vedere CREATE TRIGGER Statement in Oracle Database 19c Database PL/SQL Language Reference o Oracle Database 26ai Database PL/SQL Language Reference.
Sintassi
DBMS_CLOUD_AI.SET_PROFILE(
profile_name IN VARCHAR2,
);
Parametri
| Parametro | Descrizione |
|---|---|
|
|
Nome del profilo AI nella sessione corrente. Questo parametro è obbligatorio. |
Esempio
BEGIN
DBMS_CLOUD_AI.SET_PROFILE(
profile_name => 'OPENAI'
);
END;
/
Funzione GENERATE
showsql, narrate o chat. L'azione predefinita è showsql.
Questa funzione consente anche di eseguire l'override di alcuni o di tutti gli attributi del profilo.
Sintassi
DBMS_CLOUD_AI.GENERATE(
prompt IN CLOB,
profile_name IN VARCHAR2 DEFAULT NULL,
action IN VARCHAR2 DEFAULT NULL,
attributes IN CLOB DEFAULT NULL
) RETURN CLOB;
Parametri
| Parametro | Descrizione |
|---|---|
|
|
Prompt del linguaggio naturale per la traduzione mediante l'intelligenza artificiale. Il prompt può includere Questo parametro è obbligatorio. |
|
|
Nome del profilo AI. Questo parametro è facoltativo se nella sessione è già impostato un profilo AI che utilizza Il valore predefinito è NULL. Vengono applicate le condizioni riportate di seguito.
Nota Per Database Actions, è possibile specificare l'argomentoprofile_name in DBMS_CLOUD_AI.GENERATE oppure eseguire due passi come script PL/SQL: DBMS_CLOUD_AI.SET_PROFILE e DBMS_CLOUD_AI.GENERATE.
|
action |
Azione per tradurre il prompt naturale utilizzando l'intelligenza artificiale. Le azioni supportate sono Nota Questa funzione non supporta l'azionerunsql. Se si fornisce l'azione runsql, viene restituito il seguente errore: |
attributes |
Sostituisci attributi profilo AI specifici fornendo attributi in formato JSON. Per ulteriori dettagli, vedere Attributi profilo. |
Esempi
Negli esempi riportati di seguito vengono illustrate le azioni showsql, narrate e chat che è possibile utilizzare con la funzione DBMS_CLOUD_AI.GENERATE.
Di seguito è riportato un esempio di azione showsql.
SELECT DBMS_CLOUD_AI.GENERATE(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'showsql')
FROM dual;
Di seguito è riportato un esempio di azione narrate.
SELECT DBMS_CLOUD_AI.GENERATE(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'narrate')
FROM dual;
Di seguito è riportato un esempio di azione chat.
SELECT DBMS_CLOUD_AI.GENERATE(prompt => 'what is oracle autonomous database',
profile_name => 'OPENAI',
action => 'chat')
FROM dual;
Funzione GENERATE_SYNTHETIC_DATA
Di seguito è riportata la sintassi per generare dati sintetici per una singola tabella.
Sintassi
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name IN VARCHAR2,
object_name IN DBMS_ID,
owner_name IN DBMS_ID,
record_count IN NUMBER,
user_prompt IN CLOB DEFAULT NULL,
params IN CLOB DEFAULT NULL
);
Di seguito è riportata la sintassi per generare dati sintetici per più tabelle.
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name IN VARCHAR2,
object_list IN CLOB,
params IN CLOB DEFAULT NULL
);
Se non si desidera che i dati di tabella o i documenti di ricerca vettoriale vengano inviati a un LLM, un utente con privilegi di amministratore può disabilitare tale accesso per tutti gli utenti del database specificato. Questa operazione disabilita l'azione narrate.
Parametri
| Parametro | Obbligatorio | Descrizione |
|---|---|---|
|
|
Sì |
Profilo AI contenente le informazioni necessarie sul servizio LLM. Questa operazione può essere creata dalla CREATE_PROFILEprocedura. |
|
|
Sì | Specificare un nome di tabella per popolare i dati sintetici.
|
owner_name |
N. |
Specificare l'utente del database proprietario dell'oggetto di riferimento. Se non viene fornito alcun proprietario specifico, per impostazione predefinita la procedura utilizza lo schema dell'utente che lo esegue. |
record_count |
N. |
Il numero di record da generare in modo sintetico. |
|
|
N. | Informazioni aggiuntive che un utente può menzionare per generare dati sintetici. Ad esempio, per generare un record per una tabella denominata MOVIE con una colonna release_date, user_prompt può essere:
La data di uscita dei film dovrebbe essere nel 2019 |
|
|
N. |
Attributi facoltativi forniti nel formato stringa dell'oggetto JSON per modificare il funzionamento di un'API. Vedere Parametri facoltativi. |
|
|
Sì | Utilizzare questo parametro per generare dati sintetici su più tabelle. Questo parametro contiene le informazioni sull'oggetto tabella insieme ai relativi argomenti e contiene gli stessi argomenti forniti nella singola tabella. Vedere object_list Parametri. |
Parametri facoltativi
| Parametro | Tipo di dati valore | Valore | Descrizione |
|---|---|---|---|
|
|
Numero |
|
Specificare il numero di righe della tabella da utilizzare come esempio per guidare l'LLM nella generazione dei dati. Il valore 0 indica che non verrà utilizzata alcuna riga di esempio. Il valore predefinito è |
|
|
Booleano |
|
Abilita o disabilita l'uso delle informazioni sulle statistiche delle tabelle. Il valore predefinito è |
|
|
Stringa |
Valori validi:
|
Assegnare un valore di priorità che definisce il numero di richieste parallele inviate all'LLM per la generazione di dati sintetici. Le attività con una priorità più alta consumeranno più risorse del database e completeranno più velocemente. Il valore predefinito è
Il numero massimo di processi paralleli concorrenti utilizzati per la generazione di dati sintetici è limitato a 64. |
|
|
Booleano |
|
Abilita o disabilita l'invio di commenti all'LLM per guidare la generazione dei dati. Il valore predefinito è |
Parametri object_list
| Parametro | Tipo di dati valore | Obbligatorio | Descrizione |
|---|---|---|---|
|
|
Stringa |
Sì |
Specifica l'utente del database proprietario dell'oggetto a cui si fa riferimento. Se non viene fornito alcun proprietario specifico, per impostazione predefinita la procedura utilizzerà lo schema dell'utente che lo esegue. |
|
|
Stringa |
N. |
Specificare un nome di tabella per popolare i dati sintetici. I privilegi SELECT e INSERT negli oggetti tabella sono necessari per l'utente che utilizza la tabella it.The e sono vuoti o contengono record.
|
|
|
Numero |
N. |
Il numero di record da generare sinteticamente. Specificare un numero maggiore di 0. Fornire |
|
|
Numero |
N. |
Percentuale del numero di record da generare sinteticamente. Specificare un numero maggiore di 0. Per un database di duplicazione dei metadati, in cui vengono conservati i metadati della tabella, incluse le statistiche, il parametro Fornire Quando si utilizza il parametro
record_count_percentage, il conteggio finale dei record nella tabella viene calcolato come segue.
|
|
|
Stringa | N. | Uguale a user_prompt in Parametri. user_prompt è associato a un oggetto tabella specifico.
|
Esempi
Gli esempi riportati di seguito mostrano la funzione DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA per la generazione di dati sintetici per una singola tabella e più tabelle. Per un esempio completo e per visualizzare altri esempi, vedere .
BEGIN
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name => 'GENAI',
object_name => 'Director',
owner_name => 'ADB_USER',
record_count => 5
);
END;
/
PL/SQL procedure successfully completed.
BEGIN
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name => 'GENAI',
object_list => '[{"owner": "ADB_USER", "name": "Director","record_count":5},
{"owner": "ADB_USER", "name": "Movie_Actor","record_count":5},
{"owner": "ADB_USER", "name": "Actor","record_count":10},
{"owner": "ADB_USER", "name": "Movie","record_count":5,"user_prompt":"all movies are released in 2009"}]'
);
END;
/
PL/SQL procedure successfully completed.
Procedura ENABLE_DATA_ACCESS
Questa procedura consente di inviare dati a LLM per le funzioni Select AI applicabili, ovvero il comportamento predefinito. Solo un amministratore può eseguire questa procedura.
Questa procedura controlla l'accesso AI dati per le funzionalità Select AI riportate di seguito.
- azione
narrate - Retrieval-augmented generation (RAG)
- Generazione dati sintetici
Sintassi
DBMS_CLOUD_AI.ENABLE_DATA_ACCESS();Parametri
Per questa procedura non sono necessari parametri.
Esempio per abilitare l'accesso ai dati
BEGIN
DBMS_CLOUD_AI.ENABLE_DATA_ACCESS();
END;
/
Procedura DISABLE_DATA_ACCESS
Questa procedura disabilita l'invio di dati a LLM per le funzioni Select AI applicabili. Solo un amministratore può eseguire questa procedura.
Questa procedura limita le funzionalità Select AI riportate di seguito.
- azione
narrate - Retrieval-augmented generation (RAG)
- Generazione dati sintetici
Sintassi
DBMS_CLOUD_AI.DISABLE_DATA_ACCESS();Parametri
Per questa procedura non sono necessari parametri.
Esempio di disabilitazione dell'accesso ai dati
BEGIN
DBMS_CLOUD_AI.DISABLE_DATA_ACCESS();
END;
/
Procedura CREATE_VECTOR_INDEX
Questa procedura crea un indice vettoriale nel database vettoriale specificato e lo popola con i dati di un'area di memorizzazione degli oggetti utilizzando un job scheduler asincrono.
Sintassi
PROCEDURE CREATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attributes IN CLOB DEFAULT NULL,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
); Parametri
Esempio
L'esempio seguente mostra come creare un indice vettoriale e configurare gli attributi come parametri JSON.
BEGIN
DBMS_CLOUD_AI.CREATE_VECTOR_INDEX(
index_name => 'MY_INDEX'
attributes => JSON_OBJECT(
'vector_db_provider' value 'oracle',
'vector_table_name' value 'oracle_mycollection',
'profile_name' value 'OCIGENAI',
'location' value
'https://objectstorage.us-phoenix-1.' ||
'oraclecloud.com/n/mynamespace/b/mybucket',
'object_store_credential_name' value 'OS_CRED',
'chunk_size' value 2048,
'chunk_overlap' value 256,
'refresh_rate' value 720)
);
END;
/
Procedura DROP_VECTOR_INDEX
Questa procedura rimuove un indice della memoria di vettore. In genere rimuove l'oggetto indice della memoria di vettore ed elimina la memoria di vettore. Se impostato su FALSE, l'argomento include_data garantisce che la procedura rimuova solo l'oggetto indice della memoria di vettore conservando la memoria di vettore.
Sintassi
PROCEDURE DROP_VECTOR_INDEX(
index_name IN VARCHAR2,
include_data IN BOOLEAN DEFAULT TRUE,
force IN BOOLEAN DEFAULT FALSE
);
Parametri
| Parametro | Descrizione |
|---|---|
|
|
Nome dell'indice vettoriale. Il nome dell'indice vettoriale deve seguire le regole di denominazione dell'identificativo Oracle SQL. La lunghezza massima del nome della memoria di vettore è di 125 caratteri. Questo è un parametro obbligatorio. |
|
|
Indica se eliminare sia la memoria di vettore del cliente che l'indice vettoriale insieme all'oggetto indice vettoriale. Valori possibili:
Il valore predefinito è |
force |
Indica se ignorare gli errori che si verificano se l'indice vettoriale non esiste. Valori possibili:
Se impostato su Il valore predefinito è |
Esempio
BEGIN
DBMS_CLOUD_AI.DROP_VECTOR_INDEX(
index_name => 'MY_INDEX',
include_data => FALSE,
force => TRUE
);
END;
/
Procedura DISABLE_VECTOR_INDEX
Questa procedura disabilita un oggetto indice vettoriale nel database corrente. Quando è disabilitato, un profilo AI non può utilizzare l'indice vettoriale e il sistema non carica i dati nella memoria di vettore poiché vengono aggiunti nuovi dati all'area di memorizzazione degli oggetti e non esegue l'indicizzazione, la ricerca o l'esecuzione di query in base all'indice.
Sintassi
DBMS_CLOUD_AI.DISABLE_VECTOR_INDEX(
index_name IN VARCHAR2
);
Parametri
| Parametro | Descrizione |
|---|---|
|
|
Nome dell'indice vettoriale. Il nome dell'indice vettoriale deve seguire le regole di denominazione dell'identificativo Oracle SQL. La lunghezza massima del nome della memoria di vettore è di 125 caratteri. Questo è un parametro obbligatorio. |
Esempio
È possibile disabilitare un indice vettoriale fornendo il nome dell'indice vettoriale.
BEGIN
DBMS_CLOUD_AI.DISABLE_VECTOR_INDEX(index_name => 'MY_INDEX');
END;
/
Procedura ENABLE_VECTOR_INDEX
Questa procedura abilita o attiva un oggetto indice vettoriale disabilitato in precedenza. In genere, quando si crea un indice vettoriale, per impostazione predefinita è abilitato in modo che il profilo AI possa utilizzarlo per eseguire l'indicizzazione e la ricerca.
Se abilitato, un indice vettoriale consente a un profilo AI di utilizzarlo per caricare nuovi dati da un'area di memorizzazione degli oggetti in una memoria di vettore a una frequenza di aggiornamento specificata dall'utente. È possibile specificare il parametro refresh_rate mediante la lista di oggetti JSON. Per configurare gli attributi JSON, vedere .
Sintassi
DBMS_CLOUD_AI.ENABLE_VECTOR_INDEX(
index_name IN VARCHAR2
);
Parametri
| Parametro | Descrizione |
|---|---|
|
|
Nome dell'indice vettoriale. Il nome dell'indice vettoriale deve seguire le regole di denominazione dell'identificativo Oracle SQL. La lunghezza massima del nome della memoria di vettore è di 125 caratteri. Questo è un parametro obbligatorio. |
Esempio
È possibile abilitare o attivare un indice vettoriale specificando il nome dell'indice vettoriale come indicato di seguito.
BEGIN
DBMS_CLOUD_AI.ENABLE_VECTOR_INDEX(index_name => 'MY_INDEX');
END;
/
Procedura UPDATE_VECTOR_INDEX
- valori degli attributi di vari tipi.
- attributi di indice vettoriale come documento JSON e aggiorna uno o più attributi di un indice di memoria di vettore esistente con il nome attributo e la coppia di valori specificati.
Sintassi
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attributes IN CLOB
);
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN VARCHAR2
);
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN CLOB DEFAULT NULL
);
Parametri
| Parametro | Descrizione |
|---|---|
|
|
Nome dell'indice vettoriale. Il nome dell'indice vettoriale deve seguire le regole di denominazione dell'identificativo Oracle SQL. La lunghezza massima del nome della memoria di vettore è di 125 caratteri. Questo è un parametro obbligatorio. |
|
|
Specifica gli attributi di indice vettoriale in formato JSON. Questo è un parametro obbligatorio. |
|
|
Nome degli attributi personalizzati specificati come parametri JSON nella procedura Impossibile modificare gli attributi seguenti:
Questo è un parametro obbligatorio. |
attribute_value |
Valore specificato dall'utente per Il valore predefinito è NULL. |
Nota
Utilizzare il parametroattributes per specificare le coppie attribute_name e valore in formato JSON oppure i parametri attribute_name e attribute_value insieme.
Esempi
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attribute_name => 'object_storage_credential_name',
attribute_value => 'NEW_CRED'
);
END;
/
L'esempio seguente accetta il tipo NUMBER come attribute_value.
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attribute_name => 'match_limit',
attribute_value => 10
);
END;
/
L'esempio seguente accetta il tipo VARCHAR2 come attribute_value.
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attribute_name => 'profile_name',
attribute_value => 'AI_PROF2'
);
END;
/
L'esempio seguente accetta attributes in formato JSON.
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_VECTOR_INDEX',
attributes => '{"match_limit": 10,
"refresh_rate": 30}'
);
END;
/
Attributi di profilo
Attributi
| Nome attributo | Descrizione |
|---|---|
|
|
Nome del modello distribuito di Azure OpenAI Service. Il nome può includere solo caratteri alfanumerici, il carattere di sottolineatura (_) e un trattino (-). Il nome non può terminare con un carattere di sottolineatura (_) o un trattino (-). Per informazioni su come ottenere |
|
|
Nome della risorsa OpenAI Service di Azure. Il nome della risorsa può includere solo caratteri alfanumerici e trattini e non può iniziare o terminare con un trattino. Per informazioni su come ottenere |
|
|
Includere i commenti delle colonne nei metadati utilizzati per tradurre i prompt in linguaggio naturale utilizzando l'intelligenza artificiale. Il tipo di dati Nota I valori booleani non sono applicabili nella proceduraDBMS_CLOUD_AI.SET_ATTRIBUTE quando si imposta un singolo attributo perché il parametro attribute_value è di tipo dati CLOB.
|
|
|
Attributo |
|
|
Nome della credenziale per accedere alle API del provider AI. La credenziale che utilizza i token bearer può essere creata utilizzando il nome del provider come nome utente e il token bearer come password. Si tratta di un attributo obbligatorio. Vedere CREATE_CREDENTIAL Procedura. |
|
|
Modello di incorporamento definito nel profilo AI. Di seguito sono riportati i provider AI supportati per l'incorporamento dei modelli con i relativi valori predefiniti.
Nota Il parametroembedding_model non è applicabile per Anthropic e Hugging Face.
|
|
|
Indica il numero di token da prevedere per generazione. Il valore predefinito è 1024. Per ulteriori dettagli, vedere Tokens and Tokenizers. |
|
|
Nome del modello AI utilizzato per generare le risposte. Modelli supportati per:
Nota Questo parametro non viene utilizzato per Azure poiché il modello viene determinato quando si crea la distribuzione nel portale Servizio OpenAI di Azure. |
|
|
Array di oggetti JSON che specifica i nomi di proprietario e oggetto idonei per la traduzione in linguaggio naturale in SQL. Per includere tutti gli oggetti di un determinato utente, omettere il "nome" e specificare solo la chiave "proprietario" nell'oggetto JSON. Per la traduzione del linguaggio naturale in SQL, il nome dell'oggetto, il proprietario dell'oggetto, le colonne dell'oggetto e i commenti vengono inviati al provider AI utilizzando le richieste HTTPS. Evitare di specificare oggetti con nome oggetto riservato, nomi di colonna o commenti nell'elenco oggetti. I provider AI possono avere un limite alla dimensione dei metadati consentiti nelle richieste di traduzione. Si consideri la possibilità di limitare la lista di oggetti adatti ai prompt di linguaggio naturale da parte degli utenti dell'applicazione. Formato:
|
|
|
Specifica l'OCID del compartimento a cui è consentito accedere quando si chiama il servizio AI generativa OCI. L'ID compartimento può contenere caratteri alfanumerici, trattini e punti. L'impostazione predefinita è l'ID compartimento del database AI autonomo. |
|
|
Questo attributo indica l'OCID endpoint del cluster di hosting AI dedicato Oracle. L'ID endpoint può contenere caratteri alfanumerici, trattini e punti. Per trovare l'OCID dell'endpoint, vedere Recupero dei dettagli di un endpoint nell'AI generativa. Quando si desidera utilizzare il cluster AI dedicato Oracle, è necessario fornire l'OCID endpoint del cluster di hosting. Per impostazione predefinita, l'ID endpoint è vuoto e il modello è su richiesta in un'infrastruttura condivisa. |
|
|
Questo attributo indica il tipo di runtime del modello fornito. Questo attributo è obbligatorio quando viene specificato l'attributo Tutti i valori consentiti sono disponibili nell'AI generativa OCI runtimeType. Vedere LlmInferenceRequest Riferimento. I valori supportati sono i seguenti:
|
|
|
Provider AI per il profilo AI. Provider supportati:
Si tratta di un attributo obbligatorio. |
|
|
Questo attributo indica la posizione del cluster AI generativa che si desidera utilizzare. L'area può contenere caratteri alfanumerici e trattini.
Nota Il cluster Oracle Generative AI è disponibile nelle aree di Chicago, Francoforte e Londra. Vedere Modelli di base pre-addestrati nell'AI generativa.us-chicago-1.
|
|
|
Il testo generato verrà terminato all'inizio della prima sequenza di arresto. La sequenza verrà incorporata nel testo. Il valore dell'attributo deve essere un array valido di valori stringa in formato JSON. |
|
|
Il campionamento dai modelli Genera testo incorpora la casualità, in modo che lo stesso prompt possa produrre output diversi ogni volta che si preme "generare". La temperatura è un numero float non negativo utilizzato per sintonizzare il grado di casualità. Temperature più basse significano generazioni meno casuali. Per ulteriori dettagli, vedere Temperatura. Questo parametro è applicabile a tutti i provider di servizi supportati. |
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE(
profile_name => 'COHERE',
attributes =>
'{"provider": "cohere",
"credential_name": "COHERE_CRED",
"object_list": [{"owner": "ADB_USER"}],
"max_tokens":512,
"stop_tokens": [";"],
"model": "command-nightly",
"temperature": 0.5,
"comments": true
}');
END;
/
L'esempio riportato di seguito mostra gli attributi del profilo personalizzato che utilizzano l'AI generativa OCI.
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE(
profile_name => 'GENAI',
attributes => '{"provider": "oci",
"credential_name": "GENAI_CRED",
"object_list": [{"owner": "SH", "name": "customers"},
{"owner": "SH", "name": "countries"},
{"owner": "SH", "name": "supplementary_demographics"},
{"owner": "SH", "name": "profits"},
{"owner": "SH", "name": "promotions"},
{"owner": "SH", "name": "products"}],
"oci_compartment_id": "ocid1.compartment.oc1...",
"oci_endpoint_id": "ocid1.generativeaiendpoint.oc1.us-chicago-1....",
"region": "us-chicago-1",
"model": "cohere.command-light",
"oci_runtimetype": "COHERE"
}');
END;
/