Descrivere l'estensione azure per intelligenza artificiale

Completato

L'estensione azure_ai è uno strumento potente creato dal team di Microsoft Postgres che offre una perfetta integrazione tra l'istanza del server flessibile di Database di Azure per PostgreSQL e vari strumenti foundry. Questa integrazione semplifica il processo di sviluppo e consente di incorporare facilmente le funzionalità di intelligenza artificiale nelle applicazioni.

È possibile accedere agli strumenti foundry, ad esempio l'elaborazione del linguaggio naturale, l'analisi del testo e i modelli di linguaggio di intelligenza artificiale generati dalle query SQL usando una semplice chiamata di funzione. Questa estensione consente di usare la potenza di Azure per intelligenza artificiale e Machine Learning per aggiungere analisi avanzate e informazioni dettagliate alle applicazioni senza uscire dal database PostgreSQL.

L'estensione semplifica l'integrazione di Azure OpenAI, Microsoft Foundry e Azure Machine Learning nel database. In generale, l'estensione azure_ai è un game changer per gli sviluppatori che vogliono aggiungere funzionalità di intelligenza artificiale generative alle applicazioni. Le funzionalità avanzate e l'integrazione senza problemi con i servizi azure per intelligenza artificiale e Machine Learning semplificano il processo di sviluppo e consentono di creare applicazioni di intelligenza artificiale avanzate direttamente all'interno del database PostgreSQL.

Che cos'è l'estensione azure_ai?

L'estensione azure_ai offre una suite completa di strumenti che possono migliorare le funzionalità di un database PostgreSQL integrando Azure AI e Machine Learning Services. Con l'estensione azure_ai è possibile incorporare facilmente le funzionalità di intelligenza artificiale generative nel database. Questa estensione consente di creare nuovo contenuto in base alle informazioni esistenti. Questi strumenti includono una raccolta di schemi, funzioni definite dall'utente e tipi compositi che possono essere facilmente integrati in qualsiasi database PostgreSQL. Quando si usa la potenza degli strumenti Foundry, è possibile trarre vantaggio da analisi avanzate, machine learning e altre funzionalità basate sull'intelligenza artificiale per ottenere informazioni più approfondite e prendere decisioni migliori. Con l'estensione azure_ai PostgreSQL è possibile sbloccare un nuovo livello di funzionalità e prestazioni. L'estensione offre tre integrazioni primarie del servizio:

Strumenti di fonderia

L'estensione consente al database di interfacciarsi con vari strumenti Foundry per estrarre informazioni dai dati, ad esempio il riepilogo del testo, la traduzione e l'estrazione di entità. Questi servizi semplificano il processo di sviluppo, rendendo più accessibile l'integrazione delle funzionalità di intelligenza artificiale nelle applicazioni.

Azure OpenAI

L'integrazione del servizio Azure OpenAI consente di richiamare l'API OpenAI di Azure direttamente dal database per generare incorporamenti vettoriali. In combinazione con l'estensione vector , è possibile archiviare gli incorporamenti generati direttamente nel database PostgreSQL. Questi incorporamenti consentono funzionalità avanzate come la ricerca semantica, le raccomandazioni e il rilevamento delle anomalie.

Azure Machine Learning (Apprendimento Automatico di Azure)

L'estensione consente di connettersi ad Azure Machine Learning per eseguire l'inferenza. È possibile usare un modello di Machine Learning sottoposto a training per eseguire stime o generare output in base a nuovi dati non visualizzati.

Abilitazione dell'estensione azure_ai

Prima di poter usare l'estensione azure_ai , è necessario che sia consentita e installata con il database:

  1. Configurazione allowlist: aggiungere l'estensione all'elenco allowlist eseguendo SHOW azure.extensions;.
  2. Installazione: connettersi al database di destinazione ed eseguire il comando seguente per installare l'estensione:
CREATE EXTENSION IF NOT EXISTS azure_ai;

Creazione dello schema

Dopo l'installazione, l'estensione crea quattro schemi all'interno del database:

Diagramma Descrizione
azure_ai Contiene la tabella di configurazione e le funzioni per interagire con l'estensione.
azure_cognitive Contiene funzioni e tipi compositi correlati a Servizi cognitivi di Azure.
azure_ml Contiene funzioni correlate all'inferenza di Azure Machine Learning.
azure_openai Contiene le funzioni correlate ad Azure OpenAI.

Configurazione dell'estensione

L'estensione crea la azure_ai.settings tabella, fondamentale per la configurazione e la gestione delle impostazioni dell'estensione. La tabella ospita in modo sicuro le impostazioni dell'endpoint e delle chiavi correlate agli strumenti Foundry integrati nel database. Per configurare l'estensione, specificare gli endpoint e le chiavi API necessari per l'autenticazione.

  1. Impostazione dei valori:

    • La funzione azure_ai.set_setting() consente di impostare vari valori di configurazione per gli strumenti Foundry. È possibile assegnare valori a chiavi specifiche usando questa funzione.
    • Ad esempio, è possibile impostare l'endpoint OpenAI di Azure e fornire la chiave di sottoscrizione corrispondente usando i comandi seguenti:
    SELECT azure_ai.set_setting('azure_openai.endpoint', '{endpoint}');
    SELECT azure_ai.set_setting('azure_openai.subscription_key', '{api-key}');
    
  2. Recupero delle impostazioni:

    • La azure_ai.get_setting() funzione consente di recuperare i valori impostati in precedenza usando set_setting().
    • Specificare la chiave dell'impostazione da visualizzare e la funzione restituisce il valore associato.
    • Ad esempio, per verificare le impostazioni scritte nella tabella di configurazione, usare:
    SELECT azure_ai.get_setting('azure_openai.endpoint');
    SELECT azure_ai.get_setting('azure_openai.subscription_key');
    

Chiavi di accesso e sicurezza

Le chiavi di accesso di Azure per intelligenza artificiale sono simili alle password radice dell'account. È fondamentale gestirli con cura. L'approccio migliore consiste nell'usare Azure Key Vault per gestire e ruotare le chiavi.

Gli utenti che devono gestire le chiavi del servizio usate dall'estensione richiedono il azure_ai_settings_manager ruolo nel database. Le funzioni che richiedono questo ruolo includono azure_ai.set_setting() e azure_ai.get_setting().

Come funziona l'estensione azure_ai?

Di seguito è riportato un rapido esempio di facilità d'uso dell'estensione azure_ai all'interno di un server flessibile di Database di Azure per PostgreSQL:

  • Generazione di incorporamenti: è possibile creare incorporamenti chiamando una funzione definita dall'utente inline da SQL. Per esempio:

    SELECT azure_openai.create_embeddings('text-embedding-ada-002', 'Learn about building intelligent applications with azure_ai extension and vector');
    
  • Servizi linguistici: è necessaria l'analisi del sentiment? È semplice come una chiamata UDF da SQL.

    SELECT a.* FROM azure_cognitive.analyze_sentiment('The GenAI session was awesome', 'en') a;
    
  • Funzionalità aggiuntive: è possibile aggiungere colonne vettoriali alle tabelle, creare indici HNSW (Gerarchica Navigable Small World) ed eseguire ricerche semantiche, tutte basate sull'estensione azure_ai .