Sdílet prostřednictvím


Přizpůsobte funkce AI pomocí pandas

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), (Python 3.11) 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 se zabývá přizpůsobením funkcí AI pomocí knihovny pandas. Pokud chcete přizpůsobit funkce AI pomocí PySpark, přečtěte si tento článek.
  • Všechny funkce AI najdete v tomto článku s přehledem.

Konfigurace

Funkce AI jsou ve výchozím nastavení poháněny integrovanym AI koncovým bodem v rámci Fabric. Nastavení velkého jazykového aifunc.Conf modelu (LLM) jsou globálně nakonfigurovaná ve třídě. Pokud pracujete s funkcemi AI v knihovně pandas, můžete pomocí třídy aifunc.Conf upravit některá nebo všechna tato nastavení:

Parameter Description Výchozí
concurrency
Volitelný
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. 200
embedding_deployment_name
Volitelný
Řetězec , který určuje název nasazení modelu vkládání, které využívá funkce AI. text-embedding-ada-002
model_deployment_name
Volitelný
Řetězec , který určuje název nasazení jazykového modelu, které využívá funkce AI. Můžete si vybrat z modelů podporovaných systémem Fabric. gpt-4.1-mini
reasoning_effort
Volitelný
Modely řady gpt-5 používají pro počet důvodovacích tokenů, kolik by měly použít. Lze nastavit na openai.NOT_GIVEN nebo na řetězcové hodnoty "minimální", "nízká", "střední" nebo "vysoká". openai.NOT_GIVEN
seed
Volitelný
int, která určuje počáteční hodnota, která se má použít pro odpověď základního modelu. Výchozí chování náhodně vybere počáteční hodnotu pro každý řádek. Volba konstantní hodnoty zlepšuje reprodukovatelnost experimentů. openai.NOT_GIVEN
temperature
Volitelný
Desetinné číslo mezi 0.0 a 1.0 představující teplotu základního modelu. Vyšší teploty zvyšují náhodnost nebo kreativitu výstupů modelu. 0.0
timeout
Volitelný
int, který určuje počet sekund před vyvoláním chyby vypršení časového limitu funkce AI. Ve výchozím nastavení neexistuje žádný časový limit. None
top_p
Volitelný
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ů. openai.NOT_GIVEN
use_progress_bar
Volitelný
Zobrazení indikátoru průběhu tqdm pro průběh funkce AI u vstupních dat Používá tqdm pod kapotou. Logická hodnota, kterou lze nastavit na True nebo False. True
verbosity
Volitelný
Pro délku výstupu se používají modely řady gpt-5. Lze nastavit na hodnotu openai.NOT_GIVEN nebo na hodnotu řetězce "nízká", "střední" nebo "vysoká". openai.NOT_GIVEN

Návod

  • Pokud kapacita nasazení modelu může pojmout více požadavků, může nastavení vyšších hodnot souběžnosti zrychlit dobu zpracování.

Následující ukázka kódu ukazuje, jak přepsat aifunc.Conf nastavení globálně, aby se použily pro všechna volání funkce AI v relaci:

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

Tato nastavení můžete také přizpůsobit pro každé volání jednotlivých funkcí. Každá funkce AI přijímá volitelný parametr conf. Následující ukázka kódu upraví výchozí nastavení aifunc pouze pro volání funkce ai.translate pomocí vlastní hodnoty teploty. (Volání ai.analyze_sentiment stále používá výchozí hodnoty, protože nejsou nastaveny žádné vlastní hodnoty).

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

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

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"

Vlastní modely

Pokud chcete použít jiný model AI než výchozí, můžete zvolit jiný model podporovaný prostředky infrastruktury nebo nakonfigurovat vlastní koncový bod modelu.

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

Vyberte jeden z modelů podporovaných službou Fabric a nakonfigurujte ho pomocí parametru model_deployment_name . Tuto konfiguraci můžete provést jedním ze dvou způsobů:

  • Globálně ve aifunc.Conf třídě. Příklad:

    aifunc.default_conf.model_deployment_name = "<model deployment name>"
    
  • Jednotlivě v každém volání funkce AI:

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

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

Vyberte jeden z modelů podporovaných službou Fabric a nakonfigurujte ho pomocí parametru embedding_deployment_name . Tuto konfiguraci můžete provést jedním ze dvou způsobů:

  • Globálně ve aifunc.Conf třídě. Příklad:

    aifunc.default_conf.embedding_deployment_name = "<embedding deployment name>"
    
  • Jednotlivě v každém volání funkce AI. Příklad:

    df["embedding"] = df["text"].ai.embed(
        conf=Conf(embedding_deployment_name="<embbedding 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 pro model nastavením klienta Azure OpenAI nebo klienta kompatibilního s OpenAI s vaším koncovým bodem a vaším klíčem. Následující příklad ukazuje, jak použít vlastní prostředek Microsoft AI Foundry (dříve Azure OpenAI) pomocí 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.

Návod

  • Vlastní prostředek AI Foundry můžete nakonfigurovat tak, aby používal modely nad rámec OpenAI.

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