Κοινοποίηση μέσω


Προσαρμόστε τις λειτουργίες AI με το PySpark

Οι λειτουργίες AI έχουν σχεδιαστεί για να λειτουργούν αμέσως, με το υποκείμενο μοντέλο και τις ρυθμίσεις διαμορφωμένες από προεπιλογή. Ωστόσο, οι χρήστες που επιθυμούν πιο ευέλικτες ρυθμίσεις παραμέτρων μπορούν να προσαρμόσουν τις λύσεις τους με μερικές επιπλέον γραμμές κώδικα.

Σημαντικό

  • Οι συναρτήσεις AI προορίζονται για χρήση στο Fabric Runtime 1.3 (Spark 3.5) και νεότερες εκδόσεις.
  • Εξετάστε τις προϋποθέσεις σε αυτό το άρθρο επισκόπησης, συμπεριλαμβανομένων των εγκαταστάσεων βιβλιοθήκης που απαιτούνται προσωρινά για τη χρήση συναρτήσεων AI.
  • Παρόλο που το υποκείμενο μοντέλο μπορεί να χειριστεί πολλές γλώσσες, οι περισσότερες συναρτήσεις AI έχουν βελτιστοποιηθεί για χρήση σε αγγλόφωνα κείμενα.

Σημείωμα

  • Αυτό το άρθρο καλύπτει την προσαρμογή των λειτουργιών AI με το PySpark. Για να προσαρμόσετε τις λειτουργίες AI με pandas, ανατρέξτε σε αυτό το άρθρο.
  • Δείτε όλες τις λειτουργίες AI σε αυτό το άρθρο επισκόπησης.

Ρυθμίσεις παραμέτρων

Εάν εργάζεστε με συναρτήσεις AI στο PySpark, μπορείτε να χρησιμοποιήσετε την OpenAIDefaults κλάση για να διαμορφώσετε το υποκείμενο μοντέλο AI που χρησιμοποιείται από όλες τις συναρτήσεις. Οι ρυθμίσεις που μπορούν να εφαρμοστούν μόνο ανά κλήση συνάρτησης καθορίζονται στην επόμενη ενότητα.

Παράμετρος Περιγραφή Προεπιλεγμένος
concurrency Ένα int που ορίζει τον μέγιστο αριθμό γραμμών για επεξεργασία παράλληλα με ασύγχρονες αιτήσεις στο μοντέλο. Οι υψηλότερες τιμές επιταχύνουν τον χρόνο επεξεργασίας (εάν οι εκχωρημένοι πόροι σας μπορούν να το εξυπηρετήσουν). Μπορεί να ρυθμιστεί έως και 1,000. Αυτή η τιμή πρέπει να οριστεί ανά μεμονωμένη κλήση συνάρτησης AI. Στο spark, αυτή η ταυτόχρονη αξία είναι για κάθε εργαζόμενο. 50
deployment_name Μια τιμή συμβολοσειράς που προσδιορίζει το όνομα του υποκείμενου μοντέλου. Μπορείτε να επιλέξετε από μοντέλα που υποστηρίζονται από το Fabric. Αυτή η τιμή μπορεί επίσης να οριστεί σε μια ανάπτυξη προσαρμοσμένου μοντέλου στο Azure OpenAI ή στο Azure AI Foundry. Στην πύλη Azure, αυτή η τιμή εμφανίζεται στην περιοχήΑναπτύξεις μοντέλου> πόρων. Στην πύλη Azure AI Foundry, η τιμή εμφανίζεται στη σελίδα Αναπτύξεις . gpt-4.1-mini
embedding_deployment_name Μια τιμή συμβολοσειράς που προσδιορίζει το όνομα της ανάπτυξης μοντέλου ενσωμάτωσης που τροφοδοτεί τις λειτουργίες AI. text-embedding-ada-002
reasoning_effort Μέρος του OpenAIDefaults. Χρησιμοποιείται από μοντέλα της σειράς gpt-5 για τον αριθμό των διακριτικών συλλογισμού που πρέπει να χρησιμοποιούν. Μπορεί να οριστεί σε Κανένα ή σε τιμή συμβολοσειράς "ελάχιστο", "χαμηλό", "μεσαίο" ή "υψηλό". None
subscription_key Ένα κλειδί API που χρησιμοποιείται για έλεγχο ταυτότητας με τον πόρο του μεγάλου γλωσσικού μοντέλου (LLM). Στην πύλη Azure, αυτή η τιμή εμφανίζεται στην ενότητα Κλειδιά και τελικό σημείο . ΔΙ
temperature Μια αριθμητική τιμή μεταξύ 0,0 και 1,0. Οι υψηλότερες θερμοκρασίες αυξάνουν την τυχαιότητα ή τη δημιουργικότητα των αποτελεσμάτων του υποκείμενου μοντέλου. 0.0
top_p Μέρος του OpenAIDefaults. Ένας πλωτήρας μεταξύ 0 και 1. Μια χαμηλότερη τιμή (για παράδειγμα, 0.1) περιορίζει το μοντέλο να λαμβάνει υπόψη μόνο τα πιο πιθανά διακριτικά, καθιστώντας την έξοδο πιο ντετερμινιστική. Μια υψηλότερη τιμή (για παράδειγμα, 0,9) επιτρέπει πιο ποικίλα και δημιουργικά αποτελέσματα, συμπεριλαμβάνοντας ένα ευρύτερο φάσμα διακριτικών. None
URL Μια διεύθυνση URL που ορίζει το τελικό σημείο του πόρου LLM. Στην πύλη Azure, αυτή η τιμή εμφανίζεται στην ενότητα Κλειδιά και τελικό σημείο . Για παράδειγμα: https://your-openai-endpoint.openai.azure.com/. ΔΙ
verbosity Μέρος του OpenAIDefaults. Χρησιμοποιείται από μοντέλα της σειράς gpt-5 για μήκος εξόδου. Μπορεί να οριστεί σε Κανένα ή σε τιμή συμβολοσειράς "χαμηλή", "μεσαία" ή "υψηλή". None

Το παρακάτω δείγμα κώδικα δείχνει πώς μπορείτε να ρυθμίσετε τις παραμέτρους concurrency για μια μεμονωμένη κλήση συνάρτησης.

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)

Το παρακάτω δείγμα κώδικα δείχνει πώς μπορείτε να ρυθμίσετε τις παραμέτρους του gpt-5 και άλλων μοντέλων συλλογισμού για όλες τις συναρτήσεις.

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

Μπορείτε να ανακτήσετε και να εκτυπώσετε καθεμία από τις OpenAIDefaults παραμέτρους με το ακόλουθο δείγμα κώδικα:

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

Μπορείτε επίσης να επαναφέρετε τις παραμέτρους τόσο εύκολα όσο τις τροποποιείτε. Το ακόλουθο δείγμα κώδικα επαναφέρει τη βιβλιοθήκη συναρτήσεων AI, ώστε να χρησιμοποιεί το προεπιλεγμένο τελικό σημείο FABRIC LLM:

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

Προσαρμοσμένα μοντέλα

Επιλέξτε ένα άλλο υποστηριζόμενο μοντέλο μεγάλης γλώσσας

Ορίστε το deployment_name σε ένα από τα μοντέλα που υποστηρίζονται από το Fabric.

  • Συνολικά στο OpenAIDefaults() αντικείμενο:

    from synapse.ml.services.openai import OpenAIDefaults
    default_conf = OpenAIDefaults()
    default_conf.set_deployment_name("<model deployment name>")
    
  • Ξεχωριστά σε κάθε κλήση συνάρτησης AI:

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

Επιλέξτε ένα άλλο υποστηριζόμενο μοντέλο ενσωμάτωσης

Ορίστε το σε ένα από τα μοντέλα που υποστηρίζονται από το Fabric κατά τη embedding_deployment_name χρήση ai.embed ή ai.similarity συναρτήσεων.

  • Συνολικά στο OpenAIDefaults() αντικείμενο:

    from synapse.ml.services.openai import OpenAIDefaults
    default_conf = OpenAIDefaults()
    default_conf.set_embedding_deployment_name("<embedding deployment name>")
    
  • Ξεχωριστά σε κάθε κλήση συνάρτησης AI:

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

Ρύθμιση παραμέτρων τελικού σημείου προσαρμοσμένου μοντέλου

Από προεπιλογή, οι λειτουργίες AI χρησιμοποιούν το API τελικού σημείου Fabric LLM για ενοποιημένη χρέωση και εύκολη ρύθμιση. Μπορείτε να επιλέξετε να χρησιμοποιήσετε το δικό σας τελικό σημείο μοντέλου ρυθμίζοντας ένα πρόγραμμα-πελάτη συμβατό με Azure OpenAI ή AsyncOpenAI με το τελικό σημείο και το κλειδί σας. Το παρακάτω δείγμα κώδικα χρησιμοποιεί τιμές κράτησης θέσης για να σας δείξει πώς μπορείτε να παρακάμψετε το ενσωματωμένο τελικό σημείο Fabric AI με τις αναπτύξεις μοντέλων του δικού σας πόρου Microsoft AI Foundry (πρώην 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>")

Το παρακάτω δείγμα κώδικα χρησιμοποιεί τιμές κράτησης θέσης για να σας δείξει πώς μπορείτε να παρακάμψετε το ενσωματωμένο τελικό σημείο Fabric AI με έναν προσαρμοσμένο πόρο Microsoft AI Foundry για να χρησιμοποιήσετε μοντέλα πέρα από το OpenAI:

Σημαντικό

  • Η υποστήριξη για μοντέλα Microsoft AI Foundry περιορίζεται σε μοντέλα που υποστηρίζουν Chat Completions API και δέχονται response_format παραμέτρους με σχήμα JSON
  • Η έξοδος μπορεί να διαφέρει ανάλογα με τη συμπεριφορά του επιλεγμένου μοντέλου AI. Εξερευνήστε τις δυνατότητες άλλων μοντέλων με τη δέουσα προσοχή
  • Οι λειτουργίες ai.embed AI που βασίζονται στην ενσωμάτωση και ai.similarity δεν υποστηρίζονται κατά τη χρήση ενός πόρου 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")