Anpassa AI-funktioner med Pandas

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!

Anmärkning

Configurations

Som standard drivs AI-funktioner av den inbyggda AI-slutpunkten i Fabric. Inställningarna för stor språkmodell (LLM) är globalt konfigurerade i aifunc.Conf klassen. Om du arbetar med AI-funktioner i Pandas kan du använda klassen aifunc.Conf för att ändra några eller alla av dessa inställningar:

Parameter Description Förinställning
concurrency
Valfritt
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. 200
embedding_deployment_name
Valfritt
En sträng som anger namnet på den inbäddningsmodelldistribution som driver AI-funktioner. text-embedding-ada-002
model_deployment_name
Valfritt
En sträng som anger namnet på språkmodelldistributionen som driver AI-funktioner. Du kan välja mellan de modeller som stöds av Fabric. gpt-4.1-mini
reasoning_effort
Valfritt
Används av gpt-5-seriemodeller för antal resonemangstoken som de ska använda. Kan anges till openai.NOT_GIVEN eller ett strängvärde på "minimal", "låg", "medel" eller "hög". openai.NOT_GIVEN
seed
Valfritt
En int som anger vilket frö som ska användas för svaret från den underliggande modellen. Standardbeteendet väljer slumpmässigt ett startvärde för varje rad. Valet av ett konstant värde förbättrar reproducerbarheten för dina experiment. openai.NOT_GIVEN
temperature
Valfritt
En flyttal mellan 0.0 och 1.0 som anger temperaturen för den underliggande modellen. Högre temperaturer ökar slumpmässigheten eller kreativiteten i modellens utdata. 0.0
timeout
Valfritt
En int som anger antalet sekunder innan en AI-funktion utlöser ett timeout-fel. Som standard finns ingen tidsgräns. None
top_p
Valfritt
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. openai.NOT_GIVEN
use_progress_bar
Valfritt
Visa framstegsindikatorn för tqdm för AI-funktionens framsteg över indata. Använder tqdm under huven. Booleskt värde, som kan anges till True eller False. True
verbosity
Valfritt
Används av gpt-5-seriens modeller för utdatalängd. Kan anges till openai.NOT_GIVEN eller ett strängvärde för "low", "medium" eller "high". openai.NOT_GIVEN

Tips/Råd

  • Om din modelldistributionskapacitet kan hantera fler begäranden, kan du påskynda bearbetningstiden genom att ange högre samtidighetsnivåer.

Följande kodexempel visar hur du åsidosätter aifunc.Conf inställningar globalt, så att de gäller för alla AI-funktionsanrop i en session:

# This code uses AI. Always review output for mistakes.

aifunc.default_conf.temperature = 0.5 # Default: 0.0
aifunc.default_conf.concurrency = 300 # Default: 200

df = pd.DataFrame([
        "Hello! How are you doing today?", 
        "Tell me what you'd like to know, and I'll do my best to help.", 
        "The only thing we have to fear is fear itself.",
    ], columns=["text"])

df["translations"] = df["text"].ai.translate("spanish")
df["sentiment"] = df["text"].ai.analyze_sentiment()
display(df)

Du kan också anpassa de här inställningarna för varje enskilt funktionsanrop. Varje AI-funktion accepterar en valfri conf parameter. Följande kodexempel ändrar standardinställningarna aifunc för endast funktionsanropet ai.translate via ett anpassat temperaturvärde. (Anropet ai.analyze_sentiment använder fortfarande standardvärdena eftersom inga anpassade värden har angetts).

# This code uses AI. Always review output for mistakes. 

from synapse.ml.aifunc import Conf

df = pd.DataFrame([
        "Hello! How are you doing today?", 
        "Tell me what you'd like to know, and I'll do my best to help.", 
        "The only thing we have to fear is fear itself.",
    ], columns=["text"])

df["translations"] = df["text"].ai.translate("spanish", conf=Conf(temperature=0.5))
df["sentiment"] = df["text"].ai.analyze_sentiment()
display(df)

Följande kodexempel visar hur du konfigurerar gpt-5 och andra resonemangsmodeller för alla funktioner.

aifunc.default_conf.model_deployment_name = "gpt-5"
aifunc.default_conf.temperature = 1  # gpt-5 only accepts default value of temperature
aifunc.default_conf.top_p = 1  # gpt-5 only accepts default value of top_p
aifunc.default_conf.verbosity = "low"
aifunc.default_conf.reasoning_effort = "low"

Anpassade modeller

Om du vill använda en annan AI-modell än standard kan du välja en annan modell som stöds av Fabric eller konfigurera en anpassad modellslutpunkt.

Välj en annan stor språkmodell som stöds

Välj en av de modeller som stöds av Fabric och konfigurera den med hjälp av parametern model_deployment_name . Du kan göra den här konfigurationen på något av två sätt:

  • Globalt i aifunc.Conf klassen. Exempel:

    aifunc.default_conf.model_deployment_name = "<model deployment name>"
    
  • Individuellt i varje AI-funktionsanrop:

    df["translations"] = df["text"].ai.translate(
        "spanish",
        conf=Conf(model_deployment_name="<model deployment name>"),
    )
    

Välj en annan inbäddningsmodell som stöds

Välj en av de modeller som stöds av Fabric och konfigurera den med hjälp av parametern embedding_deployment_name . Du kan göra den här konfigurationen på något av två sätt:

  • Globalt i aifunc.Conf klassen. Exempel:

    aifunc.default_conf.embedding_deployment_name = "<embedding deployment name>"
    
  • Individuellt i varje AI-funktionsanrop. Exempel:

    df["embedding"] = df["text"].ai.embed(
        conf=Conf(embedding_deployment_name="<embbedding deployment name>"),
    )
    

Konfigurera en slutpunkt för anpassad modell

Som standard använder AI-funktioner FABRIC LLM-slutpunkts-API:et för enhetlig fakturering och enkel konfiguration. Du kan välja att använda din egen modellslutpunkt genom att konfigurera en Azure OpenAI- eller OpenAI-kompatibel klient med din slutpunkt och nyckel. I följande exempel visas hur du tar med din egen Microsoft AI Foundry-resurs (tidigare Azure OpenAI) med hjälp av aifunc.setup:

from openai import AzureOpenAI

# Example to create client for Microsoft AI Foundry OpenAI models
client = AzureOpenAI(
    azure_endpoint="https://<ai-foundry-resource>.openai.azure.com/",
    api_key="<API_KEY>",
    api_version=aifunc.session.api_version,  # Default "2025-04-01-preview"
    max_retries=aifunc.session.max_retries,  # Default: sys.maxsize ~= 9e18
)
aifunc.setup(client)  # Set the client for all functions.

Tips/Råd

  • Du kan konfigurera en anpassad AI Foundry-resurs så att den använder modeller utöver OpenAI.

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 Microsoft AI Foundry-resurs för att använda modeller utöver OpenAI:

Viktigt!

  • Stöd för Microsoft AI Foundry-modeller är begränsat till modeller som stöder Chat Completions API och accepterar response_format parametern med JSON-schema
  • Utdata kan variera beroende på beteendet för den valda AI-modellen. Utforska funktionerna i andra modeller med lämplig försiktighet
  • Inbäddningsbaserade AI-funktioner ai.embed och ai.similarity stöds inte när du använder en AI Foundry-resurs
from openai import OpenAI

# Example to create client for Azure AI Foundry models
client = OpenAI(
    base_url="https://<ai-foundry-resource>.services.ai.azure.com/openai/v1/",
    api_key="<API_KEY>",
    max_retries=aifunc.session.max_retries,  # Default: sys.maxsize ~= 9e18
)
aifunc.setup(client)  # Set the client for all functions.

aifunc.default_conf.model_deployment_name = "grok-4-fast-non-reasoning"