Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Questa funzionalità è disponibile in anteprima pubblica.
Questo articolo descrive Funzioni di intelligenza artificiale di Azure Databricks e le funzioni supportate.
Che cosa sono le funzioni di intelligenza artificiale?
Le funzioni di intelligenza artificiale sono funzioni predefinite che è possibile usare per applicare l'intelligenza artificiale, ad esempio la traduzione testuale o l'analisi del sentiment, sui dati archiviati in Databricks. Possono essere eseguiti da qualsiasi posizione in Databricks, tra cui Databricks SQL, notebook, pipeline dichiarative di Lakeflow Spark e flussi di lavoro.
Le funzioni di intelligenza artificiale sono semplici da usare, veloci e scalabili. Gli analisti possono usarli per applicare l'intelligence dei dati ai dati proprietari, mentre i data scientist e i tecnici di Machine Learning possono usarli per creare pipeline batch di livello di produzione.
Le funzioni di intelligenza artificiale offrono funzioni specifiche dell'attività e per utilizzo generico.
- Le funzioni specifiche delle attività offrono funzionalità di intelligenza artificiale di alto livello per attività come il riepilogo di testo e traduzione. Queste funzioni specifiche dell'attività sono basate su modelli di intelligenza artificiale generativi all'avanguardia ospitati e gestiti da Databricks. Vedere Funzioni di intelligenza artificiale specifiche dell'attività per funzioni e modelli supportati.
-
ai_queryè una funzione per utilizzo generico che consente di applicare qualsiasi tipo di modello di intelligenza artificiale ai dati. Vedere Funzione per utilizzo generico:ai_query.
funzioni di intelligenza artificiale specifiche dell'attività
Le funzioni specifiche dell'attività hanno come ambito una determinata attività, in modo da poter automatizzare le azioni di routine, ad esempio semplici riepiloghi e traduzioni rapide. Databricks consiglia queste funzioni per iniziare perché richiamano modelli di intelligenza artificiale generativi all'avanguardia gestiti da Databricks e non richiedono alcuna personalizzazione.
Per un esempio, vedere Analizzare le recensioni dei clienti usando Funzioni di intelligenza artificiale .
Nella tabella seguente sono elencate le funzioni supportate e l'attività che eseguono.
| Funzione | Descrizione |
|---|---|
| ai_analyze_sentiment | Esegui l'analisi del sentiment sul testo di input utilizzando un modello AI generativo all'avanguardia. |
| ai_classify | Classificare il testo di input in base alle etichette fornite usando un modello di intelligenza artificiale generativo all'avanguardia. |
| ai_extract | Estrarre le entità specificate dalle etichette dal testo usando un modello di intelligenza artificiale generativo all'avanguardia. |
| ai_fix_grammar | Correggere gli errori grammaticali nel testo usando un modello di intelligenza artificiale generativo all'avanguardia. |
| ai_gen | Rispondere al prompt fornito dall'utente usando un modello di intelligenza artificiale generativo all'avanguardia. |
| ai_mask | Mascherare le entità specificate nel testo usando un modello di intelligenza artificiale generativo all'avanguardia. |
| ai_parse_document | Estrarre contenuto strutturato da documenti non strutturati usando un modello di intelligenza artificiale generativo all'avanguardia. |
| ai_similarity | Confrontare due stringhe e calcolare il punteggio di somiglianza semantica usando un modello di intelligenza artificiale generativo all'avanguardia. |
| ai_summarize | Generare un riepilogo del testo usando SQL e il modello di intelligenza artificiale generativo all'avanguardia. |
| ai_translate | Tradurre il testo in una lingua di destinazione specificata usando un modello di intelligenza artificiale generativo all'avanguardia. |
| ai_forecast | Prevedere i dati fino a un orizzonte specificato. Questa funzione con valori di tabella è progettata per estrapolare i dati delle serie temporali in futuro. |
| vector_search | Cercare ed eseguire query su un indice di Intelligenza Artificiale Mosaico per la Ricerca Vettoriale usando un modello generativo di intelligenza artificiale all'avanguardia. |
funzione per utilizzo generico: ai_query
La funzione ai_query() consente di applicare qualsiasi modello di intelligenza artificiale ai dati per attività di intelligenza artificiale generative e ml classiche, tra cui l'estrazione di informazioni, il riepilogo del contenuto, l'identificazione delle frodi e la previsione dei ricavi. Per informazioni dettagliate sulla sintassi e sui parametri, vedere ai_query funzione.
La tabella seguente riepiloga i tipi di modello supportati, i modelli associati e i requisiti di configurazione degli endpoint per ognuno di essi.
| TIPO | Descrizione | Modelli supportati | Requisiti |
|---|---|---|---|
| Modelli pre-distribuiti | Questi modelli di base sono ospitati da Databricks e offrono endpoint preconfigurati su cui è possibile eseguire query usando ai_query. Vedere Modelli di base supportati in Mosaic AI Model Serving per i quali sono supportati i modelli per ogni funzionalità di gestione dei modelli e la relativa disponibilità dell'area. |
Questi modelli sono supportati e ottimizzati per iniziare a usare l'inferenza batch e i flussi di lavoro di produzione:
Altri modelli ospitati da Databricks sono disponibili per l'uso con Funzioni di intelligenza artificiale, ma non sono consigliati per i flussi di lavoro di produzione di inferenza batch su larga scala. Questi altri modelli vengono resi disponibili per l'inferenza in tempo reale usando le API del modello di base con pagamento in base al token. |
Databricks Runtime 15.4 LTS o versione successiva è necessario per usare questa funzionalità. Non richiede alcun provisioning o configurazione degli endpoint. L'uso di questi modelli è soggetto alle licenze e termini applicabili degli sviluppatori di modelli e alla disponibilità regionale delle funzioni di intelligenza artificiale. |
| Porta il tuo modello | È possibile utilizzare modelli propri e interrogarli tramite le Funzioni di intelligenza artificiale. Funzioni di AI offrono flessibilità, in modo da poter eseguire query sui modelli per gli scenari di inferenza in tempo reale o per l'inferenza batch. |
|
|
Usare ai_query con i modelli di base
L'esempio seguente illustra come usare ai_query usando un modello di base ospitato da Databricks.
- Vedere
ai_queryla funzione per informazioni dettagliate sulla sintassi e parametri. - Consulta gli input multimodali per esempi di query multimodali.
- Vedere Esempi per scenari avanzati per indicazioni su come configurare i parametri per casi d'uso avanzati, ad esempio:
-
Gestire gli errori usando
failOnError - Output strutturati in Azure Databricks per sapere come specificare l'output strutturato per le risposte alle query.
-
Gestire gli errori usando
SELECT text, ai_query(
"databricks-meta-llama-3-3-70b-instruct",
"Summarize the given text comprehensively, covering key points and main ideas concisely while retaining relevant details and examples. Ensure clarity and accuracy without unnecessary repetition or omissions: " || text
) AS summary
FROM uc_catalog.schema.table;
Notebook di esempio: inferenza batch ed estrazione di dati strutturati
Il notebook di esempio seguente illustra come eseguire l'estrazione di dati strutturati di base usando ai_query per trasformare i dati non elaborati e non strutturati in informazioni organizzate e utilizzabili tramite tecniche di estrazione automatizzata. Questo notebook illustra anche come sfruttare la valutazione dell'agente di intelligenza artificiale Mosaic per valutare l'accuratezza usando i dati di verità di base.
Notebook per l'inferenza batch e l'estrazione di dati strutturati
Usare ai_query con i modelli di Machine Learning tradizionali
ai_query supporta modelli di Machine Learning tradizionali, inclusi quelli completamente personalizzati. Questi modelli devono essere distribuiti in endpoint di gestione del modello. Per informazioni dettagliate sulla sintassi e sui parametri, vedere ai_query funzione funzione.
SELECT text, ai_query(
endpoint => "spam-classification",
request => named_struct(
"timestamp", timestamp,
"sender", from_number,
"text", text),
returnType => "BOOLEAN") AS is_spam
FROM catalog.schema.inbox_messages
LIMIT 10
Notebook di esempio: inferenza batch con BERT per il riconoscimento di entità denominate
Il notebook seguente illustra un esempio di inferenza batch del modello di Machine Learning tradizionale usando BERT.
Inferenza batch con BERT per il riconoscimento di entità denominate nel notebook
Usare funzioni di intelligenza artificiale nei flussi di lavoro Python esistenti
Le funzioni di intelligenza artificiale possono essere facilmente integrate nei flussi di lavoro Python esistenti.
Di seguito viene scritto l'output del ai_query in una tabella di output:
df_out = df.selectExpr(
"ai_query('databricks-meta-llama-3-3-70b-instruct', CONCAT('Please provide a summary of the following text: ', text), modelParameters => named_struct('max_tokens', 100, 'temperature', 0.7)) as summary"
)
df_out.write.mode("overwrite").saveAsTable('output_table')
Di seguito viene scritto il testo riepilogato in una tabella:
df_summary = df.selectExpr("ai_summarize(text) as summary")
df_summary.write.mode('overwrite').saveAsTable('summarized_table')
Usare funzioni di intelligenza artificiale nei flussi di lavoro di produzione
Per l'inferenza batch su larga scala, è possibile integrare funzioni di intelligenza artificiale specifiche dell'attività o la funzione ai_query per utilizzo generico nei flussi di lavoro di produzione, ad esempio Pipeline dichiarative di Lakeflow Spark, flussi di lavoro di Databricks e Structured Streaming. Ciò consente l'elaborazione di livello di produzione su larga scala. Per esempi e dettagli, consultare Distribuire pipeline di inferenza batch.
Monitorare lo stato delle funzioni di intelligenza artificiale
Per comprendere il numero di inferenze completate o non riuscite e risolvere i problemi relativi alle prestazioni, è possibile monitorare lo stato di avanzamento di Funzioni di intelligenza artificiale usando la funzionalità del profilo di query.
In Databricks Runtime 16.1 ML e versioni successive, dalla finestra di query dell'editor SQL nell'area di lavoro:
- Selezionare il collegamento Running--- nella parte inferiore della finestra dei Risultati grezzi. La finestra delle prestazioni viene visualizzata a destra.
- Fare clic su Visualizza profilo di query per visualizzare i dettagli delle prestazioni.
- Fare clic su Query di intelligenza artificiale per visualizzare le metriche per tale query specifica, inclusi il numero di inferenze completate e non riuscite e il tempo totale impiegato per il completamento della richiesta.
Visualizzare i costi per i carichi di lavoro delle funzioni di intelligenza artificiale
I costi delle funzioni di intelligenza artificiale vengono registrati come parte del MODEL_SERVING prodotto nel BATCH_INFERENCE tipo di offerta. Vedere Visualizzare i costi per i carichi di lavoro di inferenza batch per una query di esempio.
Annotazioni
Per ai_parse_document i costi vengono registrati come parte del AI_FUNCTIONS prodotto. Consultare i costi per le esecuzioni ai_parse_document in una query di esempio.
Visualizzare i costi per i carichi di lavoro di inferenza batch
Gli esempi seguenti illustrano come filtrare i carichi di lavoro di inferenza batch in base a processi, calcolo, warehouse SQL e pipeline dichiarative di Lakeflow Spark.
Vedere Monitorare i costi di gestione dei modelli per esempi generali su come visualizzare i costi per i carichi di lavoro di inferenza batch che usano Funzioni di intelligenza artificiale.
Jobs
La query seguente mostra quali processi vengono usati per l'inferenza batch usando la system.workflow.jobs tabella dei sistemi. Vedere Monitorare i costi e le prestazioni dei processi con le tabelle di sistema.
SELECT *
FROM system.billing.usage u
JOIN system.workflow.jobs x
ON u.workspace_id = x.workspace_id
AND u.usage_metadata.job_id = x.job_id
WHERE u.usage_metadata.workspace_id = <workspace_id>
AND u.billing_origin_product = "MODEL_SERVING"
AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";
Compute
Di seguito viene illustrato quali cluster vengono usati per l'inferenza batch usando la system.compute.clusters tabella dei sistemi.
SELECT *
FROM system.billing.usage u
JOIN system.compute.clusters x
ON u.workspace_id = x.workspace_id
AND u.usage_metadata.cluster_id = x.cluster_id
WHERE u.usage_metadata.workspace_id = <workspace_id>
AND u.billing_origin_product = "MODEL_SERVING"
AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";
Pipeline dichiarative di Lakeflow Spark
Di seguito viene illustrato quali Pipeline Dichiarative di Lakeflow Spark vengono utilizzate per l'inferenza batch tramite la tabella dei sistemi system.lakeflow.pipelines.
SELECT *
FROM system.billing.usage u
JOIN system.lakeflow.pipelines x
ON u.workspace_id = x.workspace_id
AND u.usage_metadata.dlt_pipeline_id = x.pipeline_id
WHERE u.usage_metadata.workspace_id = <workspace_id>
AND u.billing_origin_product = "MODEL_SERVING"
AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";
Magazzino SQL
Di seguito viene illustrato quali warehouse SQL vengono usati per l'inferenza batch usando la system.compute.warehouses tabella dei sistemi.
SELECT *
FROM system.billing.usage u
JOIN system.compute.clusters x
ON u.workspace_id = x.workspace_id
AND u.usage_metadata.cluster_id = x.cluster_id
WHERE u.workspace_id = <workspace_id>
AND u.billing_origin_product = "MODEL_SERVING"
AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";
Visualizzare i costi per ai_parse_document esecuzioni
Nell'esempio seguente viene illustrato come interrogare le tabelle del sistema di fatturazione per mostrare i costi delle esecuzioni ai_parse_document.
SELECT *
FROM system.billing.usage u
WHERE u.workspace_id = <workspace_id>
AND u.billing_origin_product = "AI_FUNCTIONS"
AND u.product_features.ai_functions.ai_function = "AI_PARSE_DOCUMENT";