Sdílet prostřednictvím


Přizpůsobení funkcí AI pomocí PySpark

Funkce AI jsou navrženy tak, aby fungovaly ihned po vybalení, s tím, že základní model a nastavení jsou nakonfigurovány ve výchozím režimu. Uživatelé, kteří ale chtějí flexibilnější konfigurace, můžou svá řešení přizpůsobit několika dalšími řádky kódu.

Důležité

  • Funkce AI se používají v prostředí Fabric Runtime 1.3 (Spark 3.5) a novějších.
  • Projděte si požadavky v tomto přehledovém článku , včetně dočasně nezbytných instalací knihoven pro používání funkcí AI.
  • I když základní model dokáže zpracovat několik jazyků, většina funkcí umělé inteligence je optimalizovaná pro použití v textech anglického jazyka.

Poznámka:

  • Tento článek popisuje přizpůsobení funkcí AI pomocí PySpark. Informace o přizpůsobení funkcí AI pomocí knihovny pandas najdete v tomto článku.
  • Všechny funkce AI najdete v tomto článku s přehledem.

Konfigurace

Pokud pracujete s funkcemi AI v PySparku, můžete pomocí OpenAIDefaults třídy nakonfigurovat základní model AI používaný všemi funkcemi. Nastavení, která lze použít pouze pro volání funkce, jsou uvedena v následující části.

Parameter Description Výchozí
concurrency Int, který určuje maximální počet řádků, které se mají zpracovat paralelně s asynchronními požadavky na model. Vyšší hodnoty urychlují dobu zpracování (pokud ji vaše kapacita zvládne). Dá se nastavit až 1 000. Tato hodnota musí být nastavena pro jednotlivá volání funkce AI. Ve Sparku je tato hodnota souběžnosti pro každý pracovní proces. 50
deployment_name Řetězcová hodnota, která určuje název základního modelu. Můžete si vybrat z modelů podporovaných službou Fabric. Tuto hodnotu lze také nastavit na vlastní nasazení modelu v Azure OpenAI nebo Azure AI Foundry. V Azure portálu se tato hodnota zobrazí v části Správa>Nasazení modelu. Na portálu Azure AI Foundry se hodnota zobrazí na stránce nasazení. gpt-4.1-mini
embedding_deployment_name Řetězcová hodnota, která určuje název nasazení modelu pro vkládání využívané funkcemi AI. text-embedding-ada-002
reasoning_effort Součást OpenAIDefaults. Modely řady gpt-5 používají pro počet důvodovacích tokenů, kolik by měly použít. Lze nastavit na Hodnotu None nebo řetězcovou hodnotu "minimal", "low", "medium" nebo "high". None
subscription_key Klíč API používaný k autentizaci vaší prostředku velkého jazykového modelu (LLM). V portálu Azure se tato hodnota zobrazí v části Klíče a koncový bod. N/A
temperature Číselná hodnota mezi 0,0 a 1,0. Vyšší teploty zvyšují náhodnost nebo kreativitu výstupů podkladového modelu. 0.0
top_p Součást OpenAIDefaults. Plovák mezi 0 a 1. Nižší hodnota (například 0,1) omezuje model, aby zvažoval pouze nejpravděpodobnější tokeny, což činí výstup determinističtější. Vyšší hodnota (například 0,9) umožňuje různorodější a kreativní výstupy zahrnutím širšího rozsahu tokenů. None
URL Adresa URL, která určuje koncový bod vašeho prostředku LLM. V portálu Azure se tato hodnota zobrazí v části Klíče a koncový bod. Například: https://your-openai-endpoint.openai.azure.com/. N/A
verbosity Součást OpenAIDefaults. Pro délku výstupu se používají modely řady gpt-5. Může být nastavena na hodnotu None nebo řetězcová hodnota "low", "medium" nebo "high". None

Následující ukázka kódu ukazuje, jak nakonfigurovat concurrency pro jednotlivá volání funkce.

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)

Následující ukázka kódu ukazuje, jak nakonfigurovat gpt-5 a další modely odůvodnění pro všechny funkce.

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

Každý z OpenAIDefaults parametrů můžete načíst a vytisknout pomocí následující ukázky kódu:

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

Parametry můžete také resetovat stejně snadno, jak jste je upravili. Následující ukázka kódu resetuje knihovnu funkcí AI tak, aby používala výchozí koncový bod Fabric LLM.

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

Vlastní modely

Volba jiného podporovaného velkého jazykového modelu

deployment_name Nastavte na jeden z modelů podporovaných Fabric.

  • Globálně v objektu OpenAIDefaults() :

    from synapse.ml.services.openai import OpenAIDefaults
    default_conf = OpenAIDefaults()
    default_conf.set_deployment_name("<model deployment name>")
    
  • Jednotlivě v každém volání funkce AI:

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

Volba jiného podporovaného modelu vkládání

embedding_deployment_name nastavte na jeden z modelů podporovaných Fabric při použití ai.embed nebo ai.similarity funkcí.

  • Globálně v objektu OpenAIDefaults() :

    from synapse.ml.services.openai import OpenAIDefaults
    default_conf = OpenAIDefaults()
    default_conf.set_embedding_deployment_name("<embedding deployment name>")
    
  • Jednotlivě v každém volání funkce AI:

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

Konfigurace vlastního koncového bodu modelu

Ve výchozím nastavení funkce AI používají koncový bod API Fabric LLM pro jednotnou fakturaci a snadné nastavení. Můžete se rozhodnout použít vlastní koncový bod modelu nastavením klienta kompatibilního s Azure OpenAI nebo AsyncOpenAI s vaším koncovým bodem a klíčem. Následující ukázka kódu používá zástupné hodnoty, které vám ukážou, jak nahradit vestavěný koncový bod Fabric AI vlastními nasazeními modelů zdrojů Microsoft AI Foundry (dříve Azure OpenAI).

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

Následující ukázka kódu používá zástupné hodnoty, aby vám ukázala, jak přepsat integrovaný koncový bod Fabric AI vlastním prostředkem Microsoft AI Foundry k použití modelů nad rámec OpenAI.

Důležité

  • Podpora modelů Microsoft AI Foundry je omezená na modely, které podporují Chat Completions rozhraní API a přijímají response_format parametr se schématem JSON.
  • Výstup se může lišit v závislosti na chování vybraného modelu AI. Prozkoumejte možnosti jiných modelů s odpovídající opatrností.
  • Funkce AI ai.embed založené na vkládání a ai.similarity nejsou podporovány při použití prostředku AI Foundry.
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")