Condividi tramite


Personalizzare le funzioni di intelligenza artificiale con PySpark

Le funzioni di intelligenza artificiale sono progettate per funzionare correttamente, con il modello e le impostazioni sottostanti configurati per impostazione predefinita. Gli utenti che vogliono configurazioni più flessibili, tuttavia, possono personalizzare le proprie soluzioni con alcune righe di codice aggiuntive.

Importante

Questa funzionalità è disponibile in anteprima per l'uso in Fabric Runtime 1.3 e versioni successive.

  • Esamina i prerequisiti in in questo articolo introduttivo, incluse le installazioni delle librerie temporaneamente necessarie per l'uso delle funzioni di intelligenza artificiale.
  • Anche se il modello sottostante può gestire diverse lingue, la maggior parte delle funzioni di intelligenza artificiale è ottimizzata per l'uso nei testi in lingua inglese.

Annotazioni

  • Questo articolo illustra la personalizzazione delle funzioni di intelligenza artificiale con PySpark. Per personalizzare le funzioni di intelligenza artificiale con pandas, vedere questo articolo.
  • Vedere tutte le funzioni di intelligenza artificiale in questo articolo di panoramica.

Configurations

Se si usano le funzioni di intelligenza artificiale in PySpark, è possibile usare la OpenAIDefaults classe per configurare il modello di intelligenza artificiale sottostante usato da tutte le funzioni. Le impostazioni che possono essere applicate solo per ogni chiamata di funzione sono specificate nella sezione seguente.

Parametro Description Impostazione predefinita
concurrency Valore int che definisce il numero massimo di righe da elaborare in parallelo con richieste asincrone al modello. I valori più elevati consentono di velocizzare il tempo di elaborazione (se la capacità può supportarla). Può essere configurato fino a 1.000. Questo valore deve essere impostato per ogni singola chiamata di funzione di intelligenza artificiale. In Spark questo valore di concorrenza è per ogni ruolo di lavoro. 50
deployment_name Valore stringa che definisce il nome del modello sottostante. È possibile scegliere tra i modelli supportati da Fabric. Questo valore può anche essere impostato su una distribuzione di modelli personalizzata in Azure OpenAI o Azure AI Foundry. Nel portale di Azure questo valore viene visualizzato inDistribuzioni del modello> risorse. Nel portale di Azure AI Foundry, il valore viene visualizzato nella pagina distribuzioni. gpt-4.1-mini
reasoning_effort Parte di OpenAIDefaults. Usato dai modelli di serie gpt-5 per il numero di token di ragionamento che devono usare. Può essere impostato su Nessuno o su un valore stringa "minimale", "basso", "medio" o "alto". None
subscription_key Chiave API usata per l'autenticazione con la risorsa LLM (Large Language Model). Nel portale di Azure, questo valore viene visualizzato nella sezione Chiavi ed endpoint. N/A
temperature Valore numerico compreso tra 0,0 e 1,0. Temperature più elevate aumentano la casualità o la creatività degli output del modello sottostante. 0.0
top_p Parte di OpenAIDefaults. Un numero float compreso tra 0 e 1. Un valore inferiore (ad esempio, 0,1) limita il modello a considerare solo i token più probabili, rendendo l'output più deterministico. Un valore più alto (ad esempio, 0,9) consente output più diversificati e creativi includendo una gamma più ampia di token. None
URL Una URL che indica l'endpoint della risorsa LLM. Nel portale di Azure, questo valore viene visualizzato nella sezione Chiavi ed endpoint. Ad esempio: https://your-openai-endpoint.openai.azure.com/. N/A
verbosity Parte di OpenAIDefaults. Usato dai modelli della serie GPT-5 per la lunghezza dell'output. Può essere impostato su Nessuno o su un valore stringa "low", "medium" o "high". None

L'esempio di codice seguente illustra come configurare concurrency per una singola chiamata di funzione.

df = spark.createDataFrame([
        ("There are an error here.",),
        ("She and me go weigh back. We used to hang out every weeks.",),
        ("The big picture are right, but you're details is all wrong.",)
    ], ["text"])

results = df.ai.fix_grammar(input_col="text", output_col="corrections", concurrency=200)
display(results)

Nell'esempio di codice seguente viene illustrato come configurare il gpt-5 modello per tutte le funzioni.

from synapse.ml.services.openai import OpenAIDefaults
defaults = OpenAIDefaults()

defaults.set_deployment_name("gpt-5")
defaults.reset_temperature()  # gpt-5 does not take temperature as a parameter
defaults.reset_top_p()  # gpt-5 does not take temperature as a parameter
defaults.set_verbosity("medium")
defaults.set_reasoning_effort("low")

È possibile recuperare e stampare ognuno dei OpenAIDefaults parametri con l'esempio di codice seguente:

print(defaults.get_deployment_name())
print(defaults.get_subscription_key())
print(defaults.get_URL())
print(defaults.get_temperature())

È anche possibile reimpostare i parametri con la stessa facilità con cui sono stati modificati. L'esempio di codice seguente reimposta la libreria di funzioni di intelligenza artificiale in modo che usi l'endpoint LLM di Fabric predefinito:

defaults.reset_deployment_name()
defaults.reset_subscription_key()
defaults.reset_URL()
defaults.reset_temperature()

Modelli personalizzati

Scegliere un altro modello di intelligenza artificiale supportato

Impostare deployment_name su uno dei modelli supportati da Fabric. Per esempio:

from synapse.ml.services.openai import OpenAIDefaults
defaults = OpenAIDefaults()

defaults.set_deployment_name("deployment-name")

Configurare un endpoint modello personalizzato

Per impostazione predefinita, le funzioni di intelligenza artificiale usano l'endpoint LLM di Fabric. È anche possibile utilizzare un endpoint del modello personalizzato configurando un client compatibile con Azure OpenAI o AsyncOpenAI con il proprio endpoint e chiave. L'esempio di codice seguente usa i valori segnaposto per illustrare come eseguire l'override dell'endpoint di intelligenza artificiale predefinito di Fabric con una distribuzione LLM openAI di Azure personalizzata:

from synapse.ml.services.openai import OpenAIDefaults
defaults = OpenAIDefaults()

defaults.set_deployment_name("your-deployment-name")
defaults.set_subscription_key("your-subscription-key")
defaults.set_URL("https://your-openai-endpoint.openai.azure.com/")
defaults.set_temperature(0.05)

Annotazioni

L'edizione di valutazione di Fabric non supporta le risorse OpenAI di Azure bring-your-own per le funzioni di intelligenza artificiale. Per connettere un endpoint OpenAI di Azure personalizzato, eseguire l'aggiornamento a una capacità F2 (o superiore) o P.