Dela via


Anpassa AI-funktioner med PySpark

AI-funktioner är utformade för att fungera direkt, med den underliggande modellen och inställningarna konfigurerade som standard. Användare som vill ha mer flexibla konfigurationer kan dock anpassa sina lösningar med några extra kodrader.

Viktigt!

Den här funktionen är i förhandsversion för användning i Fabric Runtime 1.3 och senare.

  • Granska förutsättningarna i denna översiktsartikel, inklusive den biblioteksinstallation som tillfälligt krävs för att använda AI-funktioner.
  • Även om den underliggande modellen kan hantera flera språk är de flesta AI-funktionerna optimerade för användning på engelskspråkiga texter.

Anmärkning

Configurations

Om du arbetar med AI-funktioner i PySpark kan du använda OpenAIDefaults klassen för att konfigurera den underliggande AI-modellen som används av alla funktioner. Inställningar som endast kan tillämpas per funktionsanrop anges i följande avsnitt.

Parameter Description Förinställning
concurrency Ett int som anger det maximala antalet rader som ska bearbetas parallellt med asynkrona begäranden till modellen. Högre värden påskyndar bearbetningstiden (om din kapacitet kan hantera den). Den kan ställas in på 1 000. Det här värdet måste anges per enskilt AI-funktionsanrop. I spark är det här samtidighetsvärdet för varje arbetare. 50
deployment_name Ett strängvärde som anger namnet på den underliggande modellen. Du kan välja mellan modeller som stöds av Fabric. Det här värdet kan också anges till en anpassad modelldistribution i Azure OpenAI eller Azure AI Foundry. I Azure-portalen visas det här värdet under Distributioner av resurshanteringsmodell>. I Azure AI Foundry-portalen visas värdet på sidan Distributioner. gpt-4.1-mini
reasoning_effort En del av OpenAIDefaults. Används av gpt-5-seriemodeller för antal resonemangstoken som de ska använda. Kan anges till Ingen eller ett strängvärde på "minimal", "låg", "medel" eller "hög". None
subscription_key En API-nyckel som används för autentisering med din resurs för storspråksmodell (LLM). I Azure-portalen visas det här värdet i avsnittet nycklar och slutpunkter. N/A
temperature Ett numeriskt värde mellan 0,0 och 1,0. Högre temperaturer ökar slumpmässigheten eller kreativiteten i den underliggande modellens utdata. 0.0
top_p En del av "OpenAIDefaults". En float mellan 0 och 1. Ett lägre värde (till exempel 0,1) begränsar modellen till att endast ta hänsyn till de mest sannolika token, vilket gör utdata mer deterministiska. Ett högre värde (till exempel 0,9) möjliggör mer mångsidiga och kreativa utdata genom att inkludera ett bredare utbud av token. None
URL En URL som anger slutpunkten för din LLM-resurs. I Azure-portalen visas det här värdet i avsnittet nycklar och slutpunkter. Till exempel: https://your-openai-endpoint.openai.azure.com/. N/A
verbosity En del av OpenAIDefaults. Används av gpt-5-seriens modeller för utdatalängd. Kan anges till Ingen eller ett strängvärde på "låg", "medel" eller "hög". None

Följande kodexempel visar hur du konfigurerar concurrency för ett enskilt funktionsanrop.

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öljande kodexempel visar hur du gpt-5 konfigurerar modellen för alla funktioner.

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

Du kan hämta och skriva ut var och en av parametrarna OpenAIDefaults med följande kodexempel:

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

Du kan också återställa parametrarna lika enkelt som du ändrade dem. Följande kodexempel återställer AI-funktionsbiblioteket så att det använder standard Fabric LLM-slutpunkten:

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

Anpassade modeller

Välj en annan AI-modell som stöds

Ange deployment_name till en av de modeller som stöds av Fabric. Till exempel:

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

defaults.set_deployment_name("deployment-name")

Konfigurera en slutpunkt för anpassad modell

Som förval använder AI-funktioner Fabric LLM-slutpunkten. Du kan också använda din egen modellslutpunkt genom att konfigurera en Azure OpenAI- eller AsyncOpenAI-kompatibel klient med din slutpunkt och nyckel. I följande kodexempel används platshållarvärden för att visa hur du åsidosätter den inbyggda Fabric AI-slutpunkten med en anpassad Azure OpenAI LLM-distribution:

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)

Anmärkning

Utvärderingsversionen av Fabric stöder inte egna Azure OpenAI-resurser för AI-funktioner. Om du vill ansluta en anpassad Azure OpenAI-slutpunkt uppgraderar du till en F2-kapacitet (eller högre) eller P-kapacitet.