Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Utilizzo dell'apprendimento automatico di Amazon Aurora con Aurora Postgre SQL - Amazon Aurora

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo dell'apprendimento automatico di Amazon Aurora con Aurora Postgre SQL

Utilizzando l'apprendimento automatico di Amazon Aurora con il tuo cluster Aurora Postgre SQL DB, puoi usare Amazon Comprehend o Amazon SageMaker AI o Amazon Bedrock, a seconda delle tue esigenze. Ciascuno di questi servizi supporta casi d'uso specifici di machine learning.

L'apprendimento automatico di Aurora è supportato solo in alcune versioni Regioni AWS e per specifiche di Aurora Postgre. SQL Prima di provare a configurare l'apprendimento automatico di Aurora, verifica la disponibilità della tua versione di Aurora SQL Postgre e della tua regione. Per informazioni dettagliate, consultare Apprendimento automatico Aurora con Aurora Postgre SQL.

Requisiti per l'utilizzo dell'apprendimento automatico di Aurora con Aurora Postgre SQL

AWS i servizi di machine learning sono servizi gestiti che vengono configurati ed eseguiti nei propri ambienti di produzione. L'apprendimento automatico Aurora supporta l'integrazione con Amazon Comprehend SageMaker , AI e Amazon Bedrock. Prima di provare a configurare il cluster Aurora Postgre SQL DB per utilizzare l'apprendimento automatico di Aurora, assicurati di comprendere i seguenti requisiti e prerequisiti.

  • I servizi Amazon Comprehend, SageMaker AI e Amazon Bedrock devono essere eseguiti nello stesso cluster Aurora Regione AWS Postgre DB. SQL Non puoi utilizzare i servizi Amazon Comprehend o SageMaker AI o Amazon Bedrock da un cluster Aurora Postgre SQL DB in un'altra regione.

  • Se il cluster Aurora Postgre SQL DB si trova in un cloud pubblico virtuale diverso (VPC) basato sul VPC servizio Amazon rispetto SageMaker ai servizi Amazon Comprehend e AI, il gruppo Security deve consentire le connessioni in uscita al servizio VPC di machine learning Aurora di destinazione. Per ulteriori informazioni, consulta Abilitazione della comunicazione di rete da Amazon Aurora ad altri servizi AWS.

  • Per l' SageMaker intelligenza artificiale, i componenti di machine learning che desideri utilizzare per le inferenze devono essere configurati e pronti all'uso. Durante il processo di configurazione per il tuo cluster Aurora Postgre SQL DB, devi avere a disposizione l'Amazon Resource Name (ARN) dell' SageMaker endpoint AI. I data scientist del tuo team sono probabilmente i più adatti a gestire il lavoro con l' SageMaker intelligenza artificiale per preparare i modelli e gestire le altre attività simili. Per iniziare a usare Amazon SageMaker AI, consulta Get Started with Amazon SageMaker AI. Per ulteriori informazioni su inferenze ed endpoint, consulta Real-time inference (Inferenza in tempo reale).

  • Per Amazon Bedrock, devi avere l'ID del modello dei modelli Bedrock che desideri utilizzare per le inferenze disponibili durante il processo di configurazione del tuo cluster Aurora Postgre DB. SQL I data scientist del tuo team sono probabilmente i più adatti a collaborare con Bedrock per decidere quali modelli utilizzare, perfezionarli se necessario e gestire altre attività simili. Per iniziare a usare Amazon Bedrock, consulta Come configurare Bedrock.

  • Gli utenti di Amazon Bedrock devono richiedere l'accesso ai modelli prima di poterli utilizzare. Se vuoi aggiungere altri modelli per la generazione di testo, chat e immagini, devi richiedere l'accesso ai modelli in Amazon Bedrock. Per ulteriori informazioni, consulta Model access.

Funzionalità e limitazioni supportate dell'apprendimento automatico di Aurora con Aurora Postgre SQL

L'apprendimento automatico Aurora supporta qualsiasi endpoint di SageMaker intelligenza artificiale in grado di leggere e scrivere il formato value separato da virgole (CSV) tramite un valore di. ContentType text/csv Gli algoritmi di SageMaker intelligenza artificiale integrati che attualmente accettano questo formato sono i seguenti.

  • Linear Learner

  • Random Cut Forest

  • XGBoost

    Per ulteriori informazioni su questi algoritmi, consulta Choose an Algorithm nella Amazon SageMaker AI Developer Guide.

Quando si utilizza Amazon Bedrock con l'apprendimento automatico Aurora, si applicano le seguenti limitazioni:

  • Le funzioni definite dall'utente (UDFs) forniscono un modo nativo per interagire con Amazon Bedrock. UDFsNon hanno requisiti specifici di richiesta o risposta, quindi possono utilizzare qualsiasi modello.

  • Puoi utilizzarlo UDFs per creare qualsiasi flusso di lavoro desiderato. Ad esempio, è possibile combinare primitive di base, ad esempio eseguire una query, recuperare dati, generare inferenze e scrivere su tabelle per servire direttamente le query. pg_cron

  • UDFsnon supportano chiamate in batch o parallele.

  • L'estensione Aurora Machine Learning non supporta interfacce vettoriali. Come parte dell'estensione, è disponibile una funzione per emettere gli incorporamenti della risposta del modello nel float8[] formato per archiviare tali incorporamenti in Aurora. Per ulteriori informazioni sull'utilizzo di, vedere. float8[] Utilizzo di Amazon Bedrock con il cluster Aurora SQL Postgre DB

Configurazione del cluster Aurora Postgre SQL DB per utilizzare l'apprendimento automatico Aurora

Affinché l'apprendimento automatico Aurora funzioni con il cluster Aurora Postgre SQL DB, è necessario creare un ruolo AWS Identity and Access Management (IAM) per ciascuno dei servizi che si desidera utilizzare. Il IAM ruolo consente al cluster Aurora Postgre SQL DB di utilizzare il servizio di machine learning Aurora per conto del cluster. Dovrai inoltre installare l'estensione di machine learning di Aurora. Nei seguenti argomenti sono disponibili le procedure di configurazione per ciascuno di questi servizi di machine learning di Aurora.

Configurazione di Aurora Postgre per SQL l'utilizzo di Amazon Bedrock

Nella procedura seguente, devi innanzitutto creare il IAM ruolo e la policy che autorizzano Aurora Postgre SQL a utilizzare Amazon Bedrock per conto del cluster. Quindi colleghi la policy a un IAM ruolo che il tuo cluster Aurora Postgre SQL DB utilizza per lavorare con Amazon Bedrock. Per semplificare, questa procedura utilizza il per completare tutte AWS Management Console le attività.

Per configurare il cluster Aurora Postgre SQL DB per utilizzare Amazon Bedrock
  1. Accedi a AWS Management Console e apri la console all'indirizzo. IAM https://console.aws.amazon.com/iam/

  2. Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  3. Scegli Politiche (in Gestione degli accessi) nel menu AWS Identity and Access Management (IAM) della console.

    1. Scegli Create Policy (Crea policy). Nella pagina Visual Editor, scegli Service, quindi inserisci Bedrock nel campo Seleziona un servizio. Espandi il livello di accesso Read (Lettura). InvokeModelScegli tra le impostazioni di lettura di Amazon Bedrock.

    2. Scegli il modello Foundation/Provisioned a cui desideri concedere l'accesso in lettura tramite la policy.

      Creazione della IAM policy da utilizzare per Amazon Bedrock.
  4. Scegli Next: Tags (Successivo: Tag) e definisci i tag (questo passaggio è facoltativo). Seleziona Next: Review (Successivo: Rivedi). Immetti un nome e una descrizione per la policy, come illustrato nell'immagine.

    Creazione della policy per il IAM ruolo da utilizzare per Amazon Bedrock.
  5. Scegli Create Policy (Crea policy). Viene visualizzato un avviso nella console quando la policy viene salvata e diventa disponibile nell'elenco delle policy.

  6. Scegli Ruoli (in Gestione degli accessi) sulla IAM console.

  7. Scegliere Crea ruolo.

  8. Nella pagina Seleziona entità affidabile, scegli il riquadro del AWS servizio, quindi scegli RDSdi aprire il selettore.

  9. Scegli RDS: aggiungi ruolo al database.

    Creazione di un ruolo per Aurora Postgre per SQL lavorare con Amazon Bedrock.
  10. Scegli Next (Successivo). Nella pagina Add permissions (Aggiungi autorizzazioni), trova la policy creata nel passaggio precedente e selezionala tra quelle elencate. Scegli Next (Successivo).

  11. Next: Review (Successivo: Rivedi). Inserisci un nome per il IAM ruolo e una descrizione.

  12. Apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/.

  13. Vai alla posizione Regione AWS in cui si trova il tuo cluster Aurora Postgre SQL DB.

  14. Nel riquadro di navigazione, scegli Database, quindi scegli il cluster Aurora Postgre SQL DB che desideri utilizzare con Bedrock.

  15. Scegli la scheda Connettività e sicurezza e scorri fino a trovare la sezione Gestisci IAM ruoli della pagina. Dal selettore Aggiungi IAM ruoli a questo cluster, scegli il ruolo che hai creato nei passaggi precedenti. Nel selettore Feature, scegli Bedrock, quindi scegli Aggiungi ruolo.

Il ruolo (con la relativa policy) è associato al cluster Aurora SQL Postgre DB. Al termine del processo, il ruolo viene elencato nell'elenco IAM Ruoli correnti per questo cluster, come illustrato di seguito.

Il ruolo per Amazon Bedrock è stato aggiunto al cluster Aurora SQL Postgre DB ed è ora attivo.

La IAM configurazione per Amazon Bedrock è completa. Continua a configurare Aurora Postgre SQL per l'utilizzo con Aurora Machine Learning installando l'estensione come descritto in Installazione dell'estensione di machine learning di Aurora

Configurazione di Aurora Postgre SQL per l'utilizzo di Amazon Comprehend

Nella procedura seguente, devi innanzitutto creare il IAM ruolo e la policy che SQL autorizzano Aurora Postgre a utilizzare Amazon Comprehend per conto del cluster. Quindi colleghi la policy a un IAM ruolo che il tuo cluster Aurora Postgre SQL DB utilizza per lavorare con Amazon Comprehend. Per semplicità, questa procedura utilizza il per completare tutte le attività. AWS Management Console

Per configurare il cluster Aurora Postgre SQL DB per utilizzare Amazon Comprehend
  1. Accedi a AWS Management Console e apri la console all'indirizzo. IAM https://console.aws.amazon.com/iam/

  2. Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  3. Scegli Politiche (in Gestione degli accessi) nel menu AWS Identity and Access Management (IAM) della console.

    Creazione della IAM policy da utilizzare per Amazon Comprehend.
  4. Scegli Create Policy (Crea policy). Nella pagina Visual editor (Editor visivo) scegli Service (Servizio), quindi immetti Comprehend nel campo Select a service (Seleziona un servizio). Espandi il livello di accesso Read (Lettura). Scegli BatchDetectSentimente tra le DetectSentimentimpostazioni di lettura di Amazon Comprehend.

  5. Scegli Next: Tags (Successivo: Tag) e definisci i tag (questo passaggio è facoltativo). Seleziona Next: Review (Successivo: Rivedi). Immetti un nome e una descrizione per la policy, come illustrato nell'immagine.

    Creazione della policy per il IAM ruolo da utilizzare per Amazon Comprehend.
  6. Scegli Create Policy (Crea policy). Viene visualizzato un avviso nella console quando la policy viene salvata e diventa disponibile nell'elenco delle policy.

  7. Scegli Ruoli (in Gestione degli accessi) sulla IAM console.

  8. Scegliere Crea ruolo.

  9. Nella pagina Seleziona entità affidabile, scegli il riquadro del AWS servizio, quindi scegli RDSdi aprire il selettore.

  10. Scegli RDS: aggiungi ruolo al database.

    Creare il ruolo di Aurora Postgre per lavorare con Amazon SQL Comprehend.
  11. Scegli Next (Successivo). Nella pagina Add permissions (Aggiungi autorizzazioni), trova la policy creata nel passaggio precedente e selezionala tra quelle elencate. Seleziona Next (Successivo).

  12. Next: Review (Successivo: Rivedi). Inserisci un nome per il IAM ruolo e una descrizione.

  13. Apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/.

  14. Vai alla posizione Regione AWS in cui si trova il tuo cluster Aurora Postgre SQL DB.

  15. Nel riquadro di navigazione, scegli Databases, quindi scegli il cluster SQL DB Aurora Postgre che desideri utilizzare con Amazon Comprehend.

  16. Scegli la scheda Connettività e sicurezza e scorri fino a trovare la sezione Gestisci IAM ruoli della pagina. Dal selettore Aggiungi IAM ruoli a questo cluster, scegli il ruolo che hai creato nei passaggi precedenti. Nel selettore Feature, scegliete Comprehend, quindi scegliete Aggiungi ruolo.

Il ruolo (con la relativa policy) è associato al cluster Aurora SQL Postgre DB. Al termine del processo, il ruolo viene elencato nell'elenco IAM Ruoli correnti per questo cluster, come illustrato di seguito.

Il ruolo per Amazon Comprehend è stato aggiunto al cluster Aurora Postgre SQL DB ed è ora attivo.

La IAM configurazione per Amazon Comprehend è completa. Continua a configurare Aurora Postgre SQL per l'utilizzo con Aurora Machine Learning installando l'estensione come descritto in Installazione dell'estensione di machine learning di Aurora

Configurazione di Aurora Postgre per l'utilizzo di Amazon AI SQL SageMaker

Prima di poter creare la IAM policy e il ruolo per il tuo cluster Aurora Postgre SQL DB, devi avere a disposizione la configurazione del modello di SageMaker intelligenza artificiale e l'endpoint.

Per configurare il cluster Aurora Postgre SQL DB per l'utilizzo dell'IA SageMaker
  1. Accedi a AWS Management Console e apri la console all'IAMindirizzo. https://console.aws.amazon.com/iam/

  2. Scegli Politiche (in Gestione degli accessi) nel menu AWS Identity and Access Management (IAM) della console, quindi scegli Crea politica. Nell'editor visivo, scegli SageMakeril servizio. Per Azioni, apri il selettore di lettura (in Livello di accesso) e scegli InvokeEndpoint. Viene visualizzata un'icona di avviso quando si esegue questa operazione.

  3. Apri il selettore Risorse e scegli il link Aggiungi ARN per limitare l'accesso sotto Specificare la risorsa dell'endpoint ARN per l'azione. InvokeEndpoint

  4. Inserisci le Regione AWS tue risorse SageMaker AI e il nome del tuo endpoint. Il tuo AWS account è precompilato.

    Specificando l'endpoint ARN per la Policy. IAM
  5. Scegli Add (Aggiungi) per salvare. Scegli Next: Tags (Successivo: Tag) e Next: Review (Successivo: Rivedi) per passare all'ultima pagina del processo di creazione della policy.

  6. Immetti un nome e una descrizione per la policy e quindi scegli Create policy (Crea policy). La policy viene creata e aggiunta all'elenco delle policy. Quindi, viene visualizzato un avviso nella console.

  7. Nella IAM console, scegli Ruoli.

  8. Scegliere Crea ruolo.

  9. Nella pagina Seleziona entità attendibile, scegli il riquadro del AWS servizio, quindi scegli RDSdi aprire il selettore.

  10. Scegli RDS: aggiungi ruolo al database.

  11. Scegli Next (Successivo). Nella pagina Add permissions (Aggiungi autorizzazioni), trova la policy creata nel passaggio precedente e selezionala tra quelle elencate. Seleziona Next (Successivo).

  12. Next: Review (Successivo: Rivedi). Inserisci un nome per il IAM ruolo e una descrizione.

  13. Apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/.

  14. Vai alla posizione Regione AWS in cui si trova il tuo cluster Aurora Postgre SQL DB.

  15. Nel riquadro di navigazione, scegli Database, quindi scegli il cluster SQL DB Aurora Postgre che desideri utilizzare con AI. SageMaker

  16. Scegli la scheda Connettività e sicurezza e scorri fino a trovare la sezione Gestisci IAM ruoli della pagina. Dal selettore Aggiungi IAM ruoli a questo cluster, scegli il ruolo che hai creato nei passaggi precedenti. Nel selettore Funzionalità, scegli SageMaker AI, quindi scegli Aggiungi ruolo.

Il ruolo (con la relativa policy) è associato al cluster Aurora SQL Postgre DB. Al termine del processo, il ruolo viene elencato nell'elenco IAM Ruoli correnti per questo cluster.

La IAM configurazione per l' SageMaker IA è completa. Continua a configurare Aurora Postgre SQL per l'utilizzo con Aurora Machine Learning installando l'estensione come descritto in. Installazione dell'estensione di machine learning di Aurora

Configurazione di Aurora Postgre per l'utilizzo di SQL Amazon S3 for AI (Advanced) SageMaker

Per utilizzare l' SageMaker intelligenza artificiale con i tuoi modelli anziché utilizzare i componenti predefiniti forniti dall' SageMaker IA, devi configurare un bucket Amazon Simple Storage Service (Amazon S3) per il cluster Aurora Postgre DB da utilizzare. SQL Questa è un'attività avanzata non completamente documentata in questa Guida per l'utente di Amazon Aurora. Il processo generale è lo stesso dell'integrazione del supporto per l'IA, come segue. SageMaker

  1. Crea la IAM politica e il ruolo per Amazon S3.

  2. Aggiungi il IAM ruolo e l'importazione o l'esportazione di Amazon S3 come funzionalità nella scheda Connettività e sicurezza del tuo cluster Aurora Postgre DB. SQL

  3. Aggiungi il ruolo al gruppo ARN di parametri del cluster DB personalizzato per il tuo cluster Aurora DB.

Per informazioni di base sull'utilizzo, consulta Esportazione di dati in Amazon S3 SageMaker per la formazione su modelli di intelligenza artificiale (Advanced).

Installazione dell'estensione di machine learning di Aurora

Le estensioni di machine learning Aurora aws_ml 1.0 offrono due funzioni che puoi usare per richiamare Amazon Comprehend, i servizi SageMaker AI e aws_ml 2.0 offrono due funzioni aggiuntive che puoi usare per richiamare i servizi Amazon Bedrock. L'installazione di queste estensioni sul cluster Aurora Postgre SQL DB crea anche un ruolo amministrativo per la funzionalità.

Nota

L'utilizzo di queste funzioni dipende dal completamento della IAM configurazione del servizio di machine learning Aurora (Amazon Comprehend, SageMaker AI, Amazon Bedrock), come descritto in. Configurazione del cluster Aurora Postgre SQL DB per utilizzare l'apprendimento automatico Aurora

  • aws_comprehend.detect_sentiment — Utilizzi questa funzione per applicare l'analisi del sentimento al testo archiviato nel database del cluster Aurora Postgre DB. SQL

  • aws_sagemaker.invoke_endpoint: utilizzi questa funzione nel codice per comunicare con l'endpoint AI del tuo cluster. SQL SageMaker

  • aws_bedrock.invoke_model — Utilizzi questa funzione nel codice per comunicare con i modelli Bedrock del tuo cluster. SQL La risposta di questa funzione sarà nel formato di aTEXT, quindi se un modello risponde nel formato di un JSON corpo, l'output di questa funzione verrà inoltrato nel formato di una stringa all'utente finale.

  • aws_bedrock.invoke_model_get_embeddings — Utilizzi questa funzione nel codice per richiamare i modelli Bedrock che restituiscono gli incorporamenti di output all'interno di una risposta. SQL JSON Questo può essere sfruttato quando si desidera estrarre gli incorporamenti direttamente associati alla chiave json per semplificare la risposta con qualsiasi flusso di lavoro autogestito.

Per installare l'estensione Aurora Machine Learning nel cluster Aurora Postgre DB SQL
  • Utilizzalo psql per connetterti all'istanza writer del tuo cluster Aurora SQL Postgre DB. Collega il database specifico in cui installare l'estensione aws_ml.

    psql --host=cluster-instance-1.111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password --dbname=labdb
labdb=> CREATE EXTENSION IF NOT EXISTS aws_ml CASCADE; NOTICE: installing required extension "aws_commons" CREATE EXTENSION labdb=>

L'installazione delle aws_ml estensioni crea anche il ruolo aws_ml amministrativo e tre nuovi schemi, come segue.

  • aws_comprehend: schema del servizio Amazon Comprehend e origine della funzione detect_sentiment (aws_comprehend.detect_sentiment).

  • aws_sagemaker— Schema per il servizio di SageMaker intelligenza artificiale e origine della invoke_endpoint funzione (aws_sagemaker.invoke_endpoint).

  • aws_bedrock— Schema per il servizio Amazon Bedrock e origine delle invoke_model_get_embeddings(aws_bedrock.invoke_model_get_embeddings) funzioni invoke_model(aws_bedrock.invoke_model) e.

Al rds_superuser ruolo viene assegnato il ruolo aws_ml amministrativo ed è composto da questi tre schemi OWNER di apprendimento automatico Aurora. Per consentire ad altri utenti del database di accedere alle funzioni di machine learning di Aurora, rds_superuser deve concedere i privilegi EXECUTE per le funzioni di machine learning di Aurora. Per impostazione predefinita, i privilegi EXECUTE sono revocati da PUBLIC per le funzioni nei due schemi di machine learning di Aurora.

In una configurazione di database multi-tenant, puoi impedire ai tenant di accedere alle funzioni di machine learning di Aurora utilizzando REVOKE USAGE nello specifico schema di machine learning di Aurora che desideri proteggere.

Utilizzo di Amazon Bedrock con il cluster Aurora SQL Postgre DB

Per Aurora PostgreSQL, l'apprendimento automatico di Aurora offre la seguente funzione Amazon Bedrock per lavorare con i dati di testo. Questa funzione è disponibile solo dopo aver installato l'estensione aws_ml 2.0 e aver completato tutte le procedure di configurazione. Per ulteriori informazioni, consulta Configurazione del cluster Aurora Postgre SQL DB per utilizzare l'apprendimento automatico Aurora.

aws_bedrock.invoke_model

Questa funzione accetta il testo formattato JSON come input e lo elabora per una varietà di modelli ospitati su Amazon Bedrock e recupera la risposta JSON testuale dal modello. Questa risposta può contenere testo, immagini o incorporamenti. Di seguito è riportato un riepilogo della documentazione della funzione.

aws_bedrock.invoke_model( IN model_id varchar, IN content_type text, IN accept_type text, IN model_input text, OUT model_output varchar)

Gli input e gli output di questa funzione sono indicati di seguito.

L'esempio seguente mostra come richiamare un modello Anthropic Claude 2 per Bedrock utilizzando invoke_model.

Esempio: una semplice query che utilizza le funzioni di Amazon Bedrock
SELECT aws_bedrock.invoke_model ( model_id := 'anthropic.claude-v2', content_type:= 'application/json', accept_type := 'application/json', model_input := '{"prompt": "\n\nHuman: You are a helpful assistant that answers questions directly and only using the information provided in the context below.\nDescribe the answer in detail.\n\nContext: %s \n\nQuestion: %s \n\nAssistant:","max_tokens_to_sample":4096,"temperature":0.5,"top_k":250,"top_p":0.5,"stop_sequences":[]}' );
aws_bedrock.invoke_model_get_embeddings

L'output del modello può indicare incorporamenti vettoriali in alcuni casi. Dato che la risposta varia in base al modello, è possibile sfruttare un'altra funzione invoke_model_get_embeddings che funziona esattamente come invoke_model ma restituisce gli incorporamenti specificando la chiave json appropriata.

aws_bedrock.invoke_model_get_embeddings( IN model_id varchar, IN content_type text, IN json_key text, IN model_input text, OUT model_output float8[])

Gli input e gli output di questa funzione sono indicati di seguito.

L'esempio seguente mostra come generare un incorporamento utilizzando il modello Titan Embeddings G1 — Text embedding per la frase Postgre I/O monitoring views. SQL

Esempio: una semplice query che utilizza le funzioni di Amazon Bedrock
SELECT aws_bedrock.invoke_model_get_embeddings( model_id := 'amazon.titan-embed-text-v1', content_type := 'application/json', json_key := 'embedding', model_input := '{ "inputText": "PostgreSQL I/O monitoring views"}') AS embedding;

Utilizzo di Amazon Comprehend con il cluster Aurora Postgre DB SQL

Per Aurora PostgreSQL, l'apprendimento automatico di Aurora fornisce la seguente funzione Amazon Comprehend per lavorare con i dati di testo. Questa funzione è disponibile solo dopo aver installato l'estensione aws_ml e completato tutte le procedure di configurazione. Per ulteriori informazioni, consulta Configurazione del cluster Aurora Postgre SQL DB per utilizzare l'apprendimento automatico Aurora.

aws_comprehend.detect_sentiment

Questa funzione utilizza il testo come input e valuta se ha un intento emotivo positivo, negativo, neutro o misto. Genera questo sentiment insieme a un livello di confidenza per la valutazione. Di seguito è riportato un riepilogo della documentazione della funzione.

aws_comprehend.detect_sentiment( IN input_text varchar, IN language_code varchar, IN max_rows_per_batch int, OUT sentiment varchar, OUT confidence real)

Gli input e gli output di questa funzione sono indicati di seguito.

  • input_text: il testo da valutare per assegnare il sentiment (negativo, positivo, neutro, misto).

  • language_code— La lingua dell'input_textidentificato utilizzando l'identificatore ISO 639-1 a 2 lettere con sottotag regionale (se necessario) o il codice 639-2 a tre lettere, a seconda dei casi. ISO Ad esempio, en è il codice per l'inglese, zh è il codice per il cinese semplificato. Per ulteriori informazioni, consulta Lingue supportate nella Guida per gli sviluppatori di Amazon Comprehend.

  • max_rows_per_batch: il numero massimo di righe per batch per l'elaborazione in modalità batch. Per ulteriori informazioni, consulta Informazioni sulla modalità batch e sulle funzioni di machine learning di Aurora.

  • sentiment— Il sentimento del testo di input, identificato come,, o. POSITIVE NEGATIVE NEUTRAL MIXED

  • confidence: il livello di confidenza della precisione del sentiment specificato. I valori sono compresi tra 0,0 e 1,0.

Di seguito sono riportati alcuni esempi di come utilizzare questa funzione.

Esempio: una semplice query che utilizza le funzioni di Amazon Comprehend

Di seguito è riportato l'esempio di una semplice query che richiama la funzione per valutare la soddisfazione del cliente nei confronti del team di supporto. Supponi di avere una tabella di database (support) che archivia il feedback dei clienti dopo ogni richiesta di assistenza. Questa query di esempio applica la funzione aws_comprehend.detect_sentiment al testo nella colonna feedback della tabella e restituisce il sentiment e il livello di confidenza del sentiment. Inoltre i risultati vengono restituiti in ordine decrescente.

SELECT feedback, s.sentiment,s.confidence FROM support,aws_comprehend.detect_sentiment(feedback, 'en') s ORDER BY s.confidence DESC; feedback | sentiment | confidence ----------------------------------------------------------+-----------+------------ Thank you for the excellent customer support! | POSITIVE | 0.999771 The latest version of this product stinks! | NEGATIVE | 0.999184 Your support team is just awesome! I am blown away. | POSITIVE | 0.997774 Your product is too complex, but your support is great. | MIXED | 0.957958 Your support tech helped me in fifteen minutes. | POSITIVE | 0.949491 My problem was never resolved! | NEGATIVE | 0.920644 When will the new version of this product be released? | NEUTRAL | 0.902706 I cannot stand that chatbot. | NEGATIVE | 0.895219 Your support tech talked down to me. | NEGATIVE | 0.868598 It took me way too long to get a real person. | NEGATIVE | 0.481805 (10 rows)

Per evitare che ti venga addebitato il rilevamento del sentiment più di una volta per riga della tabella, puoi materializzare i risultati. Esegui questa operazione sulle righe di interesse. Ad esempio, le note del medico vengono aggiornate in modo che solo quelle in francese (fr) utilizzino la funzione di rilevamento del sentiment.

UPDATE clinician_notes SET sentiment = (aws_comprehend.detect_sentiment (french_notes, 'fr')).sentiment, confidence = (aws_comprehend.detect_sentiment (french_notes, 'fr')).confidence WHERE clinician_notes.french_notes IS NOT NULL AND LENGTH(TRIM(clinician_notes.french_notes)) > 0 AND clinician_notes.sentiment IS NULL;

Per ulteriori informazioni sull'ottimizzazione delle chiamate di funzione, consulta Considerazioni sulle prestazioni per l'utilizzo dell'apprendimento automatico di Aurora con Aurora Postgre SQL.

Utilizzo dell' SageMaker intelligenza artificiale con il cluster Aurora SQL Postgre DB

Dopo aver configurato l'ambiente di SageMaker intelligenza artificiale e aver effettuato l'integrazione con Aurora SQL Postgre come descritto Configurazione di Aurora Postgre per l'utilizzo di Amazon AI SQL SageMaker in, puoi richiamare le operazioni utilizzando la funzione. aws_sagemaker.invoke_endpoint La funzione aws_sagemaker.invoke_endpoint si connette a un solo endpoint del modello nella stessa Regione AWS. Se la tua istanza di database ha repliche multiple, Regioni AWS assicurati di configurare e distribuire ogni modello di intelligenza artificiale su tutti. SageMaker Regione AWS

Le chiamate a aws_sagemaker.invoke_endpoint vengono autenticate utilizzando il IAM ruolo che hai impostato per associare il cluster Aurora SQL Postgre DB al servizio AI e SageMaker all'endpoint che hai fornito durante il processo di configurazione. SageMaker Gli endpoint del modello AI sono limitati a un singolo account e non sono pubblici. endpoint_nameURLNon contiene l'ID dell'account. SageMaker L'IA determina l'ID dell'account dal token di autenticazione fornito dal IAM ruolo SageMaker AI dell'istanza del database.

aws_sagemaker.invoke_endpoint

Questa funzione accetta l'endpoint SageMaker AI come input e il numero di righe che devono essere elaborate come batch. Prende anche come input i vari parametri previsti dall'endpoint del modello SageMaker AI. La documentazione di riferimento della funzione è indicata di seguito.

aws_sagemaker.invoke_endpoint( IN endpoint_name varchar, IN max_rows_per_batch int, VARIADIC model_input "any", OUT model_output varchar )

Gli input e gli output di questa funzione sono indicati di seguito.

  • endpoint_name— Un endpoint URL indipendente. Regione AWS

  • max_rows_per_batch: il numero massimo di righe per batch per l'elaborazione in modalità batch. Per ulteriori informazioni, consulta Informazioni sulla modalità batch e sulle funzioni di machine learning di Aurora.

  • model_input: uno o più parametri di input per il modello. Questi possono essere qualsiasi tipo di dati necessario al modello di SageMaker intelligenza artificiale. Postgre SQL consente di specificare fino a 100 parametri di input per una funzione. I tipi di dati dell'array devono essere unidimensionali, ma possono contenere tutti gli elementi previsti dal modello di intelligenza artificiale. SageMaker Il numero di input per un modello SageMaker AI è limitato solo dal limite di dimensione dei messaggi SageMaker AI di 6 MB.

  • model_output— L'output del modello SageMaker AI come testo.

Creazione di una funzione definita dall'utente per richiamare un SageMaker modello di intelligenza artificiale

Crea una funzione definita dall'utente separata da chiamare aws_sagemaker.invoke_endpoint per ciascuno dei tuoi SageMaker modelli di intelligenza artificiale. La funzione definita dall'utente rappresenta l'endpoint di SageMaker intelligenza artificiale che ospita il modello. La funzione aws_sagemaker.invoke_endpoint viene eseguita all'interno della funzione definita dall'utente. Le funzioni definite dall'utente offrono molti vantaggi:

  • Puoi dare un nome al tuo modello di SageMaker intelligenza artificiale invece di richiamare solo tutti aws_sagemaker.invoke_endpoint i tuoi modelli di SageMaker intelligenza artificiale.

  • È possibile specificare l'endpoint del modello URL in un'unica posizione nel codice SQL dell'applicazione.

  • Puoi controllare i privilegi EXECUTE per ogni funzione di machine learning di Aurora in modo indipendente.

  • È possibile dichiarare i tipi di input e output del modello utilizzando SQL i tipi. SQLimpone il numero e il tipo di argomenti passati al modello di SageMaker intelligenza artificiale ed esegue la conversione dei tipi, se necessario. L'utilizzo dei SQL tipi si SQL NULL tradurrà anche nel valore predefinito appropriato previsto dal modello di SageMaker intelligenza artificiale.

  • Puoi ridurre la dimensione massima del batch se desideri restituire le prime righe un po' più velocemente.

Per specificare una funzione definita dall'utente, utilizzate l'istruzione SQL CREATE FUNCTION Data Definition Language (DDL). Quando definisci la funzione, specifica quanto segue:

  • I parametri di input per il modello.

  • L'endpoint SageMaker AI specifico da richiamare.

  • Il tipo restituito.

La funzione definita dall'utente restituisce l'inferenza calcolata dall'endpoint SageMaker AI dopo aver eseguito il modello sui parametri di input. L'esempio seguente crea una funzione definita dall'utente per un modello di SageMaker intelligenza artificiale con due parametri di input.

CREATE FUNCTION classify_event (IN arg1 INT, IN arg2 DATE, OUT category INT) AS $$ SELECT aws_sagemaker.invoke_endpoint ( 'sagemaker_model_endpoint_name', NULL, arg1, arg2 -- model inputs are separate arguments )::INT -- cast the output to INT $$ LANGUAGE SQL PARALLEL SAFE COST 5000;

Tieni presente quanto segue:

  • L'input della funzione aws_sagemaker.invoke_endpoint può essere uno o più parametri di qualsiasi tipo di dati.

  • Questo esempio utilizza un tipo INT di output. Se esegui il cast dell'output da un varchar tipo a un tipo diverso, deve essere eseguito il cast su un tipo scalare SQL integrato di Postgre comeINTEGER,, REAL o. FLOAT NUMERIC Per ulteriori informazioni su questi tipi, consulta Tipi di dati nella documentazione di Postgre. SQL

  • Specifica PARALLEL SAFE per abilitare l'esecuzione di query parallele. Per ulteriori informazioni, consulta Miglioramento dei tempi di risposta con l'elaborazione di query parallela.

  • Specificare COST 5000 per stimare il costo di esecuzione della funzione. Utilizza un numero positivo che fornisce i costi di esecuzione stimati della funzione, in unità di cpu_operator_cost.

Passare un array come input a un modello di intelligenza artificiale SageMaker

La aws_sagemaker.invoke_endpoint funzione può avere fino a 100 parametri di input, che è il limite per le funzioni Postgre. SQL Se il modello SageMaker AI richiede più di 100 parametri dello stesso tipo, passa i parametri del modello come array.

L'esempio seguente definisce una funzione che passa un array come input al modello di regressione SageMaker AI. L'output viene trasmesso a un valore REAL.

CREATE FUNCTION regression_model (params REAL[], OUT estimate REAL) AS $$ SELECT aws_sagemaker.invoke_endpoint ( 'sagemaker_model_endpoint_name', NULL, params )::REAL $$ LANGUAGE SQL PARALLEL SAFE COST 5000;

Specificazione della dimensione del batch quando si richiama un modello di intelligenza artificiale SageMaker

L'esempio seguente crea una funzione definita dall'utente per un modello di SageMaker intelligenza artificiale che imposta la dimensione del batch predefinita su. NULL La funzione consente inoltre di fornire una dimensione batch diversa quando viene invocata.

CREATE FUNCTION classify_event ( IN event_type INT, IN event_day DATE, IN amount REAL, -- model inputs max_rows_per_batch INT DEFAULT NULL, -- optional batch size limit OUT category INT) -- model output AS $$ SELECT aws_sagemaker.invoke_endpoint ( 'sagemaker_model_endpoint_name', max_rows_per_batch, event_type, event_day, COALESCE(amount, 0.0) )::INT -- casts output to type INT $$ LANGUAGE SQL PARALLEL SAFE COST 5000;

Tieni presente quanto segue:

  • Utilizza il parametro max_rows_per_batch opzionale per fornire il controllo del numero di righe per una chiamata della funzione in modalità batch. Se si utilizza un valore diNULL, l'ottimizzatore di query sceglie automaticamente la dimensione massima del batch. Per ulteriori informazioni, consulta Informazioni sulla modalità batch e sulle funzioni di machine learning di Aurora.

  • Per impostazione predefinita, il passaggio NULL come valore di un parametro viene tradotto in una stringa vuota prima di passare all'AI SageMaker . Per questo esempio i tipi di input sono diversi.

  • Se si dispone di un input non di testo o di un input di testo il cui valore predefinito deve essere diverso da una stringa vuota, utilizza l'istruzione COALESCE. COALESCEDa utilizzare per NULL tradurre nel valore sostitutivo nullo desiderato nella chiamata aaws_sagemaker.invoke_endpoint. Per il amount parametro di questo esempio, un NULL valore viene convertito in 0,0.

Invocando un modello di SageMaker intelligenza artificiale con più output

L'esempio seguente crea una funzione definita dall'utente per un modello di SageMaker intelligenza artificiale che restituisce più output. La funzione deve eseguire il cast dell'output della funzione aws_sagemaker.invoke_endpoint a un tipo di dati corrispondente. Ad esempio, è possibile utilizzare il tipo di SQL punto Postgre integrato per le coppie (x, y) o un tipo composito definito dall'utente.

Questa funzione definita dall'utente restituisce valori da un modello che restituisce più output utilizzando un tipo composito per gli output.

CREATE TYPE company_forecasts AS ( six_month_estimated_return real, one_year_bankruptcy_probability float); CREATE FUNCTION analyze_company ( IN free_cash_flow NUMERIC(18, 6), IN debt NUMERIC(18,6), IN max_rows_per_batch INT DEFAULT NULL, OUT prediction company_forecasts) AS $$ SELECT (aws_sagemaker.invoke_endpoint('endpt_name', max_rows_per_batch,free_cash_flow, debt))::company_forecasts; $$ LANGUAGE SQL PARALLEL SAFE COST 5000;

Per il tipo composito, utilizza i campi nello stesso ordine in cui vengono visualizzati nell'output del modello ed esegui il cast dell'output del aws_sagemaker.invoke_endpoint al tipo composito. Il chiamante può estrarre i singoli campi per nome o con la notazione «.*» di SQL Postgre.

Esportazione di dati in Amazon S3 SageMaker per la formazione su modelli di intelligenza artificiale (Advanced)

Ti consigliamo di acquisire familiarità con l'apprendimento automatico e l' SageMaker intelligenza artificiale di Aurora utilizzando gli algoritmi e gli esempi forniti anziché provare ad addestrare i tuoi modelli. Per ulteriori informazioni, consulta Get Started with Amazon SageMaker AI

Per addestrare i modelli di SageMaker intelligenza artificiale, esporti i dati in un bucket Amazon S3. Il bucket Amazon S3 viene utilizzato dall' SageMaker intelligenza artificiale per addestrare il modello prima che venga distribuito. Puoi interrogare i dati da un cluster Aurora Postgre SQL DB e salvarli direttamente in file di testo archiviati in un bucket Amazon S3. Quindi l' SageMaker intelligenza artificiale utilizza i dati del bucket Amazon S3 per la formazione. Per ulteriori informazioni sulla formazione dei modelli di SageMaker intelligenza artificiale, consulta Addestrare un modello con Amazon SageMaker AI.

Nota

Quando crei un bucket Amazon S3 per la formazione sui modelli di SageMaker intelligenza artificiale o il punteggio in batch, utilizzalo nel nome del bucket sagemaker Amazon S3. Per ulteriori informazioni, consulta Specificare un bucket Amazon S3 per caricare set di dati di formazione e archiviare i dati di output nella Amazon SageMaker AI Developer Guide.

Per ulteriori informazioni sull'esportazione dei dati, consulta Esportazione di dati da un .

Considerazioni sulle prestazioni per l'utilizzo dell'apprendimento automatico di Aurora con Aurora Postgre SQL

I servizi Amazon Comprehend e SageMaker AI svolgono la maggior parte del lavoro quando vengono richiamati da una funzione di machine learning di Aurora. Ciò significa che è possibile dimensionare tali risorse in base alle esigenze, in modo indipendente. Per il tuo cluster Aurora Postgre SQL DB, puoi rendere le chiamate di funzione il più efficienti possibile. Di seguito, sono riportate alcune considerazioni sulle prestazioni da tenere in considerazione quando si lavora con Aurora Machine Learning di Aurora Postgre. SQL

Informazioni sulla modalità batch e sulle funzioni di machine learning di Aurora

In genere, Postgre SQL esegue le funzioni una riga alla volta. Il machine learning di Aurora può ridurre questo sovraccarico combinando in batch le chiamate al servizio di machine learning di Aurora esterno per molte righe con un approccio chiamato esecuzione in modalità batch. In modalità batch, Aurora Machine Learning riceve le risposte per un batch di righe di input e quindi restituisce le risposte alla query in esecuzione una riga alla volta. Questa ottimizzazione migliora la velocità effettiva delle query Aurora senza limitare l'ottimizzatore di query Postgre. SQL

Aurora utilizza automaticamente la modalità batch se si fa riferimento alla funzione dall'elenco SELECT, da una clausola WHERE o da una clausola HAVING. Si noti che le espressioni CASE semplici di primo livello sono idonee per l'esecuzione in modalità batch. Anche le espressioni CASE ricercate di primo livello sono idonee per l'esecuzione in modalità batch, a condizione che la prima clausola WHEN sia un predicato semplice con una chiamata alla funzione in modalità batch.

La funzione definita dall'utente deve essere LANGUAGE SQL e deve specificare PARALLEL SAFE e COST 5000.

Migrazione della funzione dall'istruzione alla clausola SELECT FROM

In genere, una funzione aws_ml che è idonea per l'esecuzione in modalità batch viene migrata automaticamente da Aurora alla clausola FROM.

La migrazione delle funzioni idonee in modalità batch alla FROM clausola può essere esaminata manualmente a livello di query. A tale scopo, si utilizzano EXPLAIN le istruzioni (and eVERBOSE) ANALYZE e si trovano le informazioni «Elaborazione in batch» sotto ogni modalità batchFunction Scan. Puoi anche usare EXPLAIN (conVERBOSE) senza eseguire la query. Osserva quindi se le chiamate alla funzione vengono visualizzate come un Function Scan in un join loop nidificato che non è stato specificato nell'istruzione originale.

Nell'esempio seguente, l'operatore join loop nidificato nel piano mostra che Aurora ha migrato la funzione anomaly_score. Ha migrato questa funzione dall'SELECTelenco alla FROM clausola, dove è idonea per l'esecuzione in modalità batch.

EXPLAIN (VERBOSE, COSTS false) SELECT anomaly_score(ts.R.description) from ts.R; QUERY PLAN ------------------------------------------------------------- Nested Loop Output: anomaly_score((r.description)::text) -> Seq Scan on ts.r Output: r.id, r.description, r.score -> Function Scan on public.anomaly_score Output: anomaly_score.anomaly_score Function Call: anomaly_score((r.description)::text)

Per disabilitare l'esecuzione in modalità batch, imposta il parametro apg_enable_function_migration su false. Ciò impedisce la migrazione delle aws_ml funzioni dalla clausola alla SELECT clausola. FROM L'esempio seguente mostra come eseguire questa operazione.

SET apg_enable_function_migration = false;

Il apg_enable_function_migration parametro è un parametro Grand Unified Configuration (GUC) riconosciuto dall'estensione Aurora SQL apg_plan_mgmt Postgre per la gestione del piano di query. Per disabilitare la migrazione di funzioni in una sessione, utilizza la gestione del piano di query per salvare il piano risultante come un piano approved. In fase di runtime, la gestione del piano di query applica il piano approved con la relativa impostazione apg_enable_function_migration. Questa applicazione avviene indipendentemente dall'impostazione del parametro. apg_enable_function_migration GUC Per ulteriori informazioni, consulta Gestione dei piani di esecuzione delle query per Aurora Postgre SQL.

Utilizzo del parametro max_rows_per_batch

Entrambe le funzioni aws_comprehend.detect_sentiment e aws_sagemaker.invoke_endpoint hanno un parametro max_rows_per_batch. Questo parametro specifica il numero di righe che possono essere inviate al servizio di machine learning di Aurora. Più grande è il set di dati elaborato dalla funzione, maggiore può essere la dimensione del batch.

Le funzioni in modalità batch migliorano l'efficienza creando batch di righe che distribuiscono il costo delle chiamate di funzione Aurora Machine Learning su un numero elevato di righe. Tuttavia, se un'istruzione SELECT termina in anticipo a causa di una clausola LIMIT, il batch può essere costruito su più righe rispetto a quelle utilizzate dalla query. Questo approccio può comportare costi aggiuntivi sul tuo AWS account. Per ottenere i vantaggi dell'esecuzione in modalità batch, ma evitare di creare batch troppo grandi, utilizza un valore più piccolo per il parametro max_rows_per_batch nelle chiamate di funzione.

Se esegui un EXPLAIN (VERBOSE, ANALYZE) di una query che utilizza l'esecuzione in modalità batch, viene visualizzato un operatore FunctionScan che si trova sotto un join loop nidificato. Il numero di loop segnalati da EXPLAIN indica il numero di volte che una riga è stata recuperata dall'operatore FunctionScan. Se un'istruzione utilizza una LIMIT clausola, il numero di recuperi è costante. Per ottimizzare le dimensioni del batch, imposta il parametro max_rows_per_batch su questo valore. Tuttavia, se si fa riferimento alla funzione in modalità batch in un predicato nella clausola WHERE o HAVING, probabilmente non è possibile conoscere il numero di recuperi in anticipo. In questo caso, utilizza i loop come una linea guida ed esegui esperimenti con max_rows_per_batch per trovare un'impostazione che ottimizzi le prestazioni.

Verifica dell'esecuzione in modalità batch

Per verificare se una funzione è stata eseguita in modalità batch, utilizzare EXPLAIN ANALYZE. Se è stata utilizzata l'esecuzione in modalità batch, il piano di query includerà le informazioni in una sezione "Elaborazione in batch".

EXPLAIN ANALYZE SELECT user-defined-function(); Batch Processing: num batches=1 avg/min/max batch size=3333.000/3333.000/3333.000 avg/min/max batch call time=146.273/146.273/146.273

Questo esempio prevedeva 1 batch che conteneva 3.333 righe, che richiedevano 146,273 ms per l'elaborazione. La sezione "Elaborazione in batch" mostra quanto segue:

  • Il numero di batch per questa operazione di scansione funzione

  • La dimensione media, minima e massima del batch

  • Il tempo di esecuzione medio, minimo e massimo del batch

In genere le dimensioni del batch finale sono inferiore al resto. Questo si traduce spesso in una dimensione batch minima molto inferiore rispetto alla media.

Per restituire le prime righe più rapidamente, imposta il parametro max_rows_per_batch su un valore più piccolo.

Per ridurre il numero di chiamate in modalità batch al servizio ML quando utilizzi un LIMIT nella funzione definita dall'utente, imposta il parametro max_rows_per_batch su un valore inferiore.

Miglioramento dei tempi di risposta con l'elaborazione di query parallela

Per ottenere risultati il più velocemente possibile da un numero elevato di righe, puoi combinare l'elaborazione di query parallela con l'elaborazione in modalità batch. Puoi utilizzare l'elaborazione di query parallela per istruzioni SELECT, CREATE TABLE AS SELECT e CREATE MATERIALIZED VIEW.

Nota

Postgre SQL non supporta ancora le interrogazioni parallele per le istruzioni del linguaggio di manipolazione dei dati ()DML.

L'elaborazione di query parallela avviene sia all'interno del database sia all'interno del servizio ML. Il numero di core nella classe di istanza del database limita il grado di parallelismo che può essere utilizzato durante l'esecuzione di query. Il server di database può costruire un piano di esecuzione di query parallela che partiziona l'attività tra un set di lavoratori paralleli. Quindi ciascuno di questi lavoratori può creare richieste in batch contenenti decine di migliaia di righe (o il numero consentito da ciascun servizio).

Le richieste in batch di tutti i parallel worker vengono inviate all'endpoint SageMaker AI. Il grado di parallelismo supportato dall'endpoint è limitato dal numero e dal tipo di istanze che lo supportano. Per i gradi K di parallelismo, è necessaria una classe di istanza database con almeno i core K. È inoltre necessario configurare l'endpoint SageMaker AI per il modello in modo che abbia K istanze iniziali di una classe di istanze sufficientemente performante.

Per utilizzare l'elaborazione di query parallela, puoi impostare il parametro di archiviazione parallel_workers della tabella contenente i dati che intendi passare. Imposta parallel_workers su una funzione in modalità batch, ad esempio aws_comprehend.detect_sentiment. Se l'ottimizzatore sceglie un piano di query parallelo, i servizi AWS ML possono essere chiamati sia in batch che in parallelo.

Puoi utilizzare i seguenti parametri con la funzione aws_comprehend.detect_sentiment per ottenere un piano con parallelismo a quattro vie. Se modifichi uno dei due parametri seguenti, è necessario riavviare l'istanza database per rendere effettive le modifiche.

-- SET max_worker_processes to 8; -- default value is 8 -- SET max_parallel_workers to 8; -- not greater than max_worker_processes SET max_parallel_workers_per_gather to 4; -- not greater than max_parallel_workers -- You can set the parallel_workers storage parameter on the table that the data -- for the Aurora machine learning function is coming from in order to manually override the degree of -- parallelism that would otherwise be chosen by the query optimizer -- ALTER TABLE yourTable SET (parallel_workers = 4); -- Example query to exploit both batch-mode execution and parallel query EXPLAIN (verbose, analyze, buffers, hashes) SELECT aws_comprehend.detect_sentiment(description, 'en')).* FROM yourTable WHERE id < 100;

Per ulteriori informazioni sul controllo delle interrogazioni parallele, consulta Piani paralleli nella documentazione di Postgre. SQL

Utilizzo di viste materializzate e colonne materializzate

Quando richiami un AWS servizio come SageMaker AI o Amazon Comprehend dal tuo database, il tuo account viene addebitato in base alla politica tariffaria di quel servizio. Per ridurre al minimo gli addebiti sul tuo account, puoi inserire il risultato della chiamata al AWS servizio in una colonna materializzata in modo che il AWS servizio non venga richiamato più di una volta per riga di input. Se lo desideri, puoi aggiungere una colonna timestamp materializedAt per registrare l'ora in cui le colonne sono state materializzate.

La latenza di un'istruzione INSERT a riga singola ordinaria è in genere molto inferiore rispetto alla latenza di chiamata di una funzione in modalità batch. Pertanto, potrebbe non essere possibile soddisfare i requisiti di latenza dell'applicazione se si invoca la funzione in modalità batch per ogni singola riga INSERT eseguita dall'applicazione. Per concretizzare il risultato della chiamata di un AWS servizio in una colonna materializzata, le applicazioni ad alte prestazioni in genere devono compilare le colonne materializzate. A tale scopo, inviano periodicamente un'istruzione UPDATE che opera contemporaneamente su un batch di righe di grandi dimensioni.

UPDATE accetta un blocco a livello di riga che può influire su un'applicazione in esecuzione. Quindi potrebbe essere necessario utilizzare SELECT ... FOR UPDATE SKIP LOCKED o MATERIALIZED VIEW.

Le query analitiche che agiscono su un numero elevato di righe in tempo reale possono combinare la materializzazione in modalità batch con l'elaborazione in tempo reale. A tale scopo, queste query assemblano un UNION ALL dei risultati pre-materializzati con una query sulle righe che non dispongono ancora di risultati materializzati. In alcuni casi, tale UNION ALL è necessario in più posizioni o la query viene generata da un'applicazione di terze parti. In tal caso, puoi creare un file per VIEW incapsulare l'UNION ALLoperazione in modo che questo dettaglio non venga esposto al resto dell'applicazione. SQL

Puoi utilizzare una vista materializzata per materializzare i risultati di un'istruzione SELECT arbitraria in una snapshot nel tempo. Puoi inoltre utilizzarla per aggiornare la vista materializzata in qualsiasi momento in futuro. Attualmente Postgre SQL non supporta l'aggiornamento incrementale, quindi ogni volta che la vista materializzata viene aggiornata, la vista materializzata viene completamente ricalcolata.

Puoi aggiornare le viste materializzate con l'opzione CONCURRENTLY, che aggiorna il contenuto della vista materializzata senza acquisire un blocco esclusivo. Ciò consente a un'SQLapplicazione di leggere dalla vista materializzata mentre viene aggiornata.

Monitoraggio del machine learning di Aurora

È possibile monitorare le funzioni aws_ml impostando su all il parametro track_functions nel gruppo di parametri personalizzato del cluster database. Per impostazione predefinita, questo parametro è impostato su pl, il che significa che vengono monitorate solo le funzioni del linguaggio procedurale. Modificando questa impostazione su all, vengono monitorate anche le funzioni aws_ml. Per ulteriori informazioni, consulta Runtime Statistics nella documentazione di Postgre. SQL

Per informazioni sul monitoraggio delle prestazioni delle operazioni di SageMaker intelligenza artificiale richiamate dalle funzioni di machine learning di Aurora, consulta Monitor Amazon SageMaker AI nella Amazon SageMaker AI Developer Guide.

Con track_functions impostato su all, puoi eseguire le query nella visualizzazione pg_stat_user_functions per ottenere le statistiche sulle funzioni che definisci e utilizzi per richiamare i servizi di machine learning di Aurora. La visualizzazione fornisce il numero di calls, total_time e self_time per ogni funzione.

Per visualizzare le statistiche per le funzioni aws_sagemaker.invoke_endpoint e aws_comprehend.detect_sentiment puoi filtrare i risultati in base al nome dello schema utilizzando la seguente query.

SELECT * FROM pg_stat_user_functions WHERE schemaname LIKE 'aws_%';

Per cancellare le statistiche, procedi come indicato di seguito.

SELECT pg_stat_reset();

Puoi ottenere i nomi delle SQL funzioni che chiamano la aws_sagemaker.invoke_endpoint funzione interrogando il catalogo del sistema SQL pg_proc Postgre. Questo catalogo contiene informazioni su funzioni, procedure e altri elementi. Per ulteriori informazioni, consulta pg_proc nella documentazione di Postgre. SQL Di seguito è riportato un esempio di query nella tabella per ottenere i nomi delle funzioni (proname) la cui origine (prosrc) include il testo invoke_endpoint.

SELECT proname FROM pg_proc WHERE prosrc LIKE '%invoke_endpoint%';
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.