Zdieľať cez


Prispôsobte si funkcie AI pomocou PySpark

Funkcie AI sú navrhnuté tak, aby fungovali hneď po vybalení, pričom základný model a nastavenia sú predvolene nakonfigurované. Používatelia, ktorí chcú flexibilnejšie konfigurácie, si však môžu svoje riešenia prispôsobiť niekoľkými ďalšími riadkami kódu.

Dôležité

  • AI funkcie sú určené pre použitie v Fabric Runtime 1.3 (Spark 3.5) a novších.
  • Prečítajte si požiadavky uvedené v článku s prehľadomvrátane inštalácií knižnice , ktoré sú dočasne potrebné na používanie funkcií AI.
  • Napriek tomu, že základný model dokáže pracovať v niekoľkých jazykoch, väčšina funkcií AI je optimalizovaná na používanie v textoch v anglickom jazyku.

Poznámka

  • Tento článok sa zaoberá prispôsobením funkcií AI pomocou PySparku. Ak chcete prispôsobiť funkcie AI pomocou pand, pozrite si tento článok.
  • Všetky funkcie umelej inteligencie nájdete v tomto prehľadnom článku.

Konfigurácie

Ak pracujete s funkciami AI v PySparku, môžete triedu OpenAIDefaults použiť na konfiguráciu základného modelu AI používaného všetkými funkciami. Nastavenia, ktoré je možné použiť iba na volanie funkcie, sú uvedené v nasledujúcej časti.

Parameter Popis Predvolené
concurrency Int, ktorý určuje maximálny počet riadkov, ktoré sa majú spracovať paralelne s asynchrónnymi požiadavkami na model. Vyššie hodnoty urýchlia čas spracovania (ak ju vaša kapacita dokáže prispôsobiť). Dá sa nastaviť až 1 000. Táto hodnota musí byť nastavená pre každé jednotlivé volanie funkcie AI. V Spark je táto hodnota súbežnosti pre každého pracovníka. 50
deployment_name Reťazcová hodnota, ktorá určuje názov základného modelu. Môžete si vybrať z modelov podporovaných technológiou Fabric. Túto hodnotu je možné nastaviť aj na nasadenie vlastného modelu v Azure OpenAI alebo Azure AI Foundry. Na portáli Azure sa táto hodnota zobrazuje v častiNasadenia modelu> zdrojov. Na portáli Azure AI Foundry sa táto hodnota zobrazí na stránke Nasadenia. gpt-4.1-mini
embedding_deployment_name Hodnota reťazca, ktorá označuje názov nasadenia embedding modelu, ktorý poháňa AI funkcie. text-embedding-ada-002
reasoning_effort Súčasť OpenAIDefaults. Používajú ho modely série gpt-5 na množstvo tokenov uvažovania, ktoré by mali používať. Môže byť nastavená na Žiadna alebo reťazcová hodnota "minimálna", "nízka", "stredná" alebo "vysoká". Žiadne
subscription_key Kľúč rozhrania API používaný na overovanie pomocou prostriedku LLM (Large Language Model). Na portáli Azure sa táto hodnota zobrazí v časti Kľúče a Koncový bod. Nie je k dispozícii
temperature Číselná hodnota v rozsahu od 0,0 do 1,0. Vyššie teploty zvyšujú náhodnosť alebo kreativitu výstupov základného modelu. 0.0
top_p Súčasť OpenAIDefaults. Plavák medzi 0 a 1. Nižšia hodnota (napríklad 0,1) obmedzuje model tak, aby bral do úvahy iba najpravdepodobnejšie tokeny, čím sa výstup stáva deterministickejším. Vyššia hodnota (napríklad 0,9) umožňuje rozmanitejšie a kreatívnejšie výstupy zahrnutím širšej škály tokenov. Žiadne
URL URL adresa, ktorá označuje koncový bod vášho prostriedku LLM. Na portáli Azure sa táto hodnota zobrazí v časti Kľúče a Koncový bod. Napríklad: https://your-openai-endpoint.openai.azure.com/. Nie je k dispozícii
verbosity Súčasť OpenAIDefaults. Používa sa v modeloch série gpt-5 na výstupnú dĺžku. Môže byť nastavená na hodnotu Žiadna alebo reťazcová hodnota "nízka", "stredná" alebo "vysoká". Žiadne

Nasledujúca ukážka kódu ukazuje, ako nakonfigurovať concurrency pre jednotlivé volanie funkcií.

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)

Nasledujúci príklad kódu ukazuje, ako konfigurovať gpt-5 a ďalšie modely uvažovania pre všetky funkcie.

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 parametrov OpenAIDefaults môžete načítať a vytlačiť pomocou nasledujúcej ukážky kódu:

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

Parametre môžete tiež resetovať rovnako jednoducho, ako ste ich upravili. Nasledujúca ukážka kódu resetuje knižnicu funkcií AI tak, aby využívala predvolený koncový bod LLM služby Fabric:

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

Vlastné modely

Výber iného podporovaného veľkého jazykového modelu

Nastavte deployment_name na jeden z modelov podporovaných nástrojom Fabric.

  • Globálne v objekte OpenAIDefaults() :

    from synapse.ml.services.openai import OpenAIDefaults
    default_conf = OpenAIDefaults()
    default_conf.set_deployment_name("<model deployment name>")
    
  • Individuálne v každom volaní funkcie AI:

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

Výber iného podporovaného modelu vkladania

Nastavte the embedding_deployment_name na jeden z modelov podporovaných Fabric pri používaní ai.embed alebo ai.similarity funkcií.

  • Globálne v objekte OpenAIDefaults() :

    from synapse.ml.services.openai import OpenAIDefaults
    default_conf = OpenAIDefaults()
    default_conf.set_embedding_deployment_name("<embedding deployment name>")
    
  • Individuálne v každom volaní funkcie AI:

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

Konfigurácia koncového bodu vlastného modelu

Štandardne AI funkcie používajú Fabric LLM endpoint API pre jednotnú fakturáciu a jednoduché nastavenie. Môžete si zvoliť použitie vlastného modelového endpointu nastavením klienta kompatibilného s Azure OpenAI alebo AsyncOpenAI s vaším endpointom a kľúčom. Nasledujúca ukážka kódu používa zástupné hodnoty, aby vám ukázala, ako prepísať zabudovaný Fabric AI endpoint pomocou modelových nasadení vášho vlastného Microsoft AI Foundry (predtým Azure OpenAI) zdroja:

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

Nasledujúca ukážka kódu používa zástupné hodnoty, aby vám ukázala, ako prepísať zabudovaný Fabric AI endpoint pomocou vlastného zdroja Microsoft AI Foundry na použitie modelov mimo OpenAI:

Dôležité

  • Podpora Microsoft AI Foundry modelov je obmedzená na modely, ktoré podporujú Chat Completions API a akceptujú response_format parametre pomocou JSON schémy
  • Výstup sa môže líšiť v závislosti od správania vybraného AI modelu. Prosím, preskúmajte možnosti iných modelov s primeranou opatrnosťou
  • AI založená na vkladaní funguje ai.embed a ai.similarity nie je podporovaná pri používaní AI Foundry zdroja
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")