Condividi tramite


Applicare l'intelligenza artificiale ai dati usando Funzioni di intelligenza artificiale di Azure Databricks

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:
  • databricks-claude-sonnet-4
  • databricks-gpt-oss-20b
  • databricks-gpt-oss-120b
  • databricks-gemma-3-12b
  • databricks-llama-4-maverick
  • databricks-meta-llama-3-3-70b-instruct
  • databricks-meta-llama-3-1-8b-instruct
  • databricks-gte-large-en

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.


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

Ottieni il notebook

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

Ottieni il 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:

  1. Selezionare il collegamento Running--- nella parte inferiore della finestra dei Risultati grezzi. La finestra delle prestazioni viene visualizzata a destra.
  2. Fare clic su Visualizza profilo di query per visualizzare i dettagli delle prestazioni.
  3. 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.

Monitorare lo stato della funzione di intelligenza artificiale

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";