Partager via


Personnaliser des fonctions IA avec pandas

Les fonctions d'IA sont conçues pour fonctionner immédiatement, avec le modèle sous-jacent et les paramètres configurés par défaut. Toutefois, les utilisateurs qui souhaitent des configurations plus flexibles peuvent personnaliser leurs solutions avec quelques lignes de code supplémentaires.

Important

Note

  • Cet article traite de la personnalisation des fonctions IA avec pandas. Pour personnaliser les fonctions IA avec PySpark, consultez cet article.
  • Consultez toutes les fonctions IA dans cet article de vue d’ensemble.

Configurations

Par défaut, les fonctions IA sont alimentées par le point de terminaison IA intégré dans Fabric. Les paramètres du modèle de langage volumineux (LLM) sont configurés globalement dans la aifunc.Conf classe. Si vous utilisez des fonctions IA dans pandas, vous pouvez utiliser la aifunc.Conf classe pour modifier certains ou tous ces paramètres :

Paramètre Descriptif Par défaut
concurrency
Optional
Int qui désigne le nombre maximal de lignes à traiter en parallèle avec les demandes asynchrones adressées au modèle. Des valeurs plus élevées accélèrent le temps de traitement (si votre capacité peut l’accueillir). Il peut être configuré jusqu’à 1 000. 200
embedding_deployment_name
Optional
Chaîne qui désigne le nom du déploiement du modèle incorporé qui alimente les fonctions IA. text-embedding-ada-002
model_deployment_name
Optional
Chaîne qui désigne le nom du déploiement du modèle de langage qui alimente les fonctions IA. Vous pouvez choisir parmi les modèles pris en charge par Fabric. gpt-4.1-mini
reasoning_effort
Optional
Utilisé par les modèles de la gamme gpt-5 pour déterminer le nombre des tokens de raisonnement qu’ils doivent utiliser. Peut être défini sur openai.NOT_GIVEN ou une valeur de chaîne de « minimal », « faible », « moyen » ou « élevé ». openai.NOT_GIVEN
seed
Optional
Int qui désigne la valeur initiale à utiliser pour la réponse du modèle sous-jacent. Le comportement par défaut choisit de façon aléatoire une valeur initiale pour chaque ligne. Le choix d’une valeur constante améliore la reproductibilité de vos expériences. openai.NOT_GIVEN
temperature
Optional
Flottant entre 0.0 et 1.0 qui désigne la température du modèle sous-jacent. Des températures plus élevées augmentent l'aléatoire ou la créativité des résultats du modèle. 0.0
timeout
Optional
Int qui désigne le nombre de secondes avant qu’une fonction IA déclenche une erreur de délai d’attente. Par défaut, il n’y a pas de délai d’expiration. Aucun
top_p
Optional
Un nombre flottant compris entre 0 et 1. Une valeur inférieure (par exemple, 0.1) limite le modèle à considérer uniquement les jetons les plus probables, ce qui rend la sortie plus déterministe. Une valeur plus élevée (par exemple, 0,9) permet d’obtenir des sorties plus diversifiées et créatives en incluant un plus large éventail de jetons. openai.NOT_GIVEN
use_progress_bar
Optional
Afficher la barre de progression tqdm pour la progression de la fonction IA sur les données d’entrée. Utilise tqdm sous le capot. Valeur booléenne, qui peut être définie sur True ou False. True
verbosity
Optional
Utilisé pour la longueur de sortie par les modèles de la série gpt-5. Peut être défini sur openai.NOT_GIVEN ou une valeur textuelle « faible », « moyen » ou « élevé ». openai.NOT_GIVEN

Conseil / Astuce

  • Si votre capacité de déploiement de modèle peut prendre en charge davantage de demandes, définir une valeur de concurrence plus élevée peut accélérer le traitement.

L’exemple de code suivant montre comment remplacer les paramètres aifunc.Conf globalement, afin qu’ils s’appliquent à tous les appels de fonction d'intelligence artificielle au cours d'une 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)

Vous pouvez également personnaliser ces paramètres pour chaque appel de fonction individuel. Chaque fonction IA accepte un paramètre facultatif conf . L’exemple de code suivant modifie les paramètres par défaut aifunc pour l’appel de fonction uniquement ai.translate , via une valeur de température personnalisée. (L’appel ai.analyze_sentiment utilise toujours les valeurs par défaut, car aucune valeur personnalisée n’est définie).

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

L’exemple de code suivant montre comment configurer les gpt-5 et d’autres modèles de raisonnement pour toutes les fonctions.

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"

Modèles personnalisés

Pour utiliser un modèle IA autre que la valeur par défaut, vous pouvez choisir un autre modèle pris en charge par Fabric ou configurer un point de terminaison de modèle personnalisé.

Choisir un autre modèle de langage de grande taille pris en charge

Sélectionnez l’un des modèles pris en charge par Fabric et configurez-le à l’aide du model_deployment_name paramètre. Vous pouvez effectuer cette configuration de deux façons :

  • Globalement dans la classe aifunc.Conf. Exemple :

    aifunc.default_conf.model_deployment_name = "<model deployment name>"
    
  • Dans chaque appel individuel d'une fonction d'IA :

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

Choisir un autre modèle d’incorporation pris en charge

Sélectionnez l’un des modèles pris en charge par Fabric et configurez-le à l’aide du embedding_deployment_name paramètre. Vous pouvez effectuer cette configuration de deux façons :

  • Globalement dans la classe aifunc.Conf. Exemple :

    aifunc.default_conf.embedding_deployment_name = "<embedding deployment name>"
    
  • Individuellement dans chaque appel de fonction IA. Exemple :

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

Configurer un point de terminaison de modèle personnalisé

Par défaut, les fonctions IA utilisent l’API de point de terminaison Fabric LLM pour la facturation unifiée et la configuration facile. Vous pouvez choisir d’utiliser votre propre point de terminaison de modèle en configurant un client compatible avec Azure OpenAI ou un service compatible OpenAI avec votre point de terminaison et votre clé. L’exemple suivant montre comment apporter votre propre ressource Microsoft AI Foundry (anciennement Azure OpenAI) à l’aide de 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.

Conseil / Astuce

  • Vous pouvez configurer une ressource AI Foundry personnalisée pour utiliser des modèles au-delà d’OpenAI.

L’exemple de code suivant utilise des valeurs d’espace réservé pour vous montrer comment remplacer le point de terminaison intégré de Fabric AI avec une ressource personnalisée de Microsoft AI Foundry pour utiliser des modèles supplémentaires à ceux d’OpenAI.

Important

  • La prise en charge des modèles Microsoft AI Foundry est limitée aux modèles qui prennent en charge Chat Completions l’API et acceptent response_format les paramètres avec le schéma JSON
  • La sortie peut varier en fonction du comportement du modèle IA sélectionné. Explorez les fonctionnalités d’autres modèles avec précaution appropriée
  • Les fonctions IA basées sur l'intégration ai.embed et ai.similarity ne sont pas prises en charge lors de l'utilisation d'une ressource 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"