Del via


Tilpass AI-funksjoner med PySpark

AI-funksjoner er utformet for å fungere som standard, med den underliggende modellen og innstillingene konfigurert som standard. Brukere som ønsker mer fleksible konfigurasjoner, kan imidlertid tilpasse løsningene sine med noen ekstra linjer med kode.

Viktig!

Note

Konfigurasjoner

Hvis du arbeider med AI-funksjoner i PySpark, kan du bruke OpenAIDefaults klassen til å konfigurere den underliggende AI-modellen som brukes av alle funksjoner. Innstillinger som bare kan brukes per funksjonskall, er spesifisert i følgende avsnitt.

Parameter Beskrivelse Default
concurrency En int som angir maksimalt antall rader som skal behandles parallelt med asynkrone forespørsler til modellen. Høyere verdier øker hastigheten på behandlingstiden (hvis kapasiteten har plass til den). Den kan settes opp til 1,000. Denne verdien må angis per enkelt AI-funksjonskall. I gnist er denne samtidighetsverdien for hver arbeider. 50
deployment_name En strengverdi som angir navnet på den underliggende modellen. Du kan velge mellom modeller som støttes av Fabric. Denne verdien kan også settes til en egendefinert modelldistribusjon i Azure OpenAI eller Azure AI Foundry. I Azure-portalen vises denne verdien under Distribusjoner av ressursstyringsmodell>. I Azure AI Foundry-portalen vises verdien på Distribusjoner-siden . gpt-4.1-mini
embedding_deployment_name En strengverdi som angir navnet på innbyggingsmodellen som driver AI-funksjoner. text-embedding-ada-002
reasoning_effort En del av OpenAIDefaults. Brukes av modeller i gpt-5-serien for antall resonneringstokens de bør bruke. Kan settes til Ingen eller en strengverdi på "minimal", "lav", "middels" eller "høy". Ingen
subscription_key En API-nøkkel som brukes til godkjenning med LLM-ressursen (Large Language Model). I Azure-portalen vises denne verdien i inndelingen Nøkler og endepunkt. I/T
temperature En numerisk verdi mellom 0,0 og 1,0. Høyere temperaturer øker tilfeldigheten eller kreativiteten til den underliggende modellens utganger. 0.0
top_p En del av OpenAIDefaults. En flottør mellom 0 og 1. En lavere verdi (for eksempel 0,1) begrenser modellen til å vurdere bare de mest sannsynlige tokenene, noe som gjør utdataene mer deterministiske. En høyere verdi (for eksempel 0,9) gir mulighet for mer varierte og kreative resultater ved å inkludere et bredere spekter av tokens. Ingen
URL En URL-adresse som angir endepunktet for LLM-ressursen. I Azure-portalen vises denne verdien i inndelingen Nøkler og endepunkt. Eksempel: https://your-openai-endpoint.openai.azure.com/. I/T
verbosity En del av OpenAIDefaults. Brukes av modeller i gpt-5-serien for utgangslengde. Kan settes til Ingen eller en strengverdi på "lav", "middels" eller "høy". Ingen

Følgende kodeeksempel viser hvordan du konfigurerer concurrency for et enkelt funksjonskall.

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)

Følgende kodeeksempel viser hvordan man konfigurerer gpt-5 og andre resonnementsmodeller for alle funksjoner.

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

default_conf.set_deployment_name("gpt-5")
default_conf.set_temperature(1)  # gpt-5 only accepts default value of temperature
default_conf.set_top_p(1)  # gpt-5 only accepts default value of top_p
default_conf.set_verbosity("low")
default_conf.set_reasoning_effort("low")

Du kan hente og skrive ut hver av parameterne OpenAIDefaults med følgende kodeeksempel:

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

Du kan også tilbakestille parameterne like enkelt som du endret dem. Følgende kodeeksempel tilbakestiller biblioteket for AI-funksjoner slik at det bruker standard Fabric LLM-endepunkt:

default_conf.reset_deployment_name()
default_conf.reset_subscription_key()
default_conf.reset_URL()
default_conf.reset_temperature()

Egendefinerte modeller

Velg en annen støttet stor språkmodell

Sett til deployment_name en av modellene som støttes av Fabric.

  • Globalt i objektet OpenAIDefaults() :

    from synapse.ml.services.openai import OpenAIDefaults
    default_conf = OpenAIDefaults()
    default_conf.set_deployment_name("<model deployment name>")
    
  • Individuelt i hvert AI-funksjonskall:

    results = df.ai.translate(
        to_lang="spanish",
        input_col="text",
        output_col="out",
        error_col="error_col",
        deploymentName="<model deployment name>",
    )
    

Velg en annen støttet innebyggingsmodell

Sett til embedding_deployment_name en av modellene som støttes av Fabric når du bruker ai.embed eller ai.similarity funksjoner.

  • Globalt i objektet OpenAIDefaults() :

    from synapse.ml.services.openai import OpenAIDefaults
    default_conf = OpenAIDefaults()
    default_conf.set_embedding_deployment_name("<embedding deployment name>")
    
  • Individuelt i hvert AI-funksjonskall:

    results = df.ai.embed(
        input_col="english",
        output_col="out",
        deploymentName="<embedding deployment name>",
    )
    

Konfigurere et egendefinert modellendepunkt

Som standard bruker AI-funksjoner Fabric LLM endpoint API for enhetlig fakturering og enkel oppsett. Du kan velge å bruke ditt eget modellendepunkt ved å sette opp en Azure OpenAI- eller AsyncOpenAI-kompatibel klient med ditt endepunkt og nøkkel. Følgende kodeeksempel bruker plassholderverdier for å vise deg hvordan du kan overstyre det innebygde Fabric AI-endepunktet med modelldistribusjonene til din egen Microsoft AI Foundry (tidligere Azure OpenAI) ressurs:

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

default_conf.set_URL("https://<ai-foundry-resource>.openai.azure.com/")
default_conf.set_subscription_key("<API_KEY>")

Følgende kodeeksempel bruker plassholderverdier for å vise deg hvordan du kan overstyre det innebygde Fabric AI-endepunktet med en tilpasset Microsoft AI Foundry-ressurs for å bruke modeller utover OpenAI:

Viktig!

  • Støtte for Microsoft AI Foundry-modeller er begrenset til modeller som støtter Chat Completions API og aksepterer response_format parametere med JSON-skjema
  • Resultatet kan variere avhengig av oppførselen til den valgte AI-modellen. Vennligst utforsk mulighetene til andre modeller med passende forsiktighet
  • De embedding-baserte AI-funksjonene ai.embed støttes ai.similarity ikke når man bruker en AI Foundry-ressurs
import synapse.ml.spark.aifunc.DataFrameExtensions
from synapse.ml.services.openai import OpenAIDefaults

default_conf = OpenAIDefaults()
default_conf.set_URL("https://<ai-foundry-resource>.services.ai.azure.com")  # Use your AI Foundry Endpoint
default_conf.set_subscription_key("<API_KEY>")
default_conf.set_deployment_name("grok-4-fast-non-reasoning")