Delen via


De configuratie van AI-functies aanpassen

MET AI-functies, momenteel in openbare preview, kunnen gebruikers gebruikmaken van de kracht van de systeemeigen grote taalmodellen (LLM's) van Fabric om hun bedrijfsgegevens te transformeren en te verrijken. Ze zijn ontworpen om direct te werken, met het onderliggende model en de instellingen die standaard geconfigureerd zijn. Gebruikers die flexibelere configuraties willen, kunnen hun oplossingen echter aanpassen met een paar extra regels code.

Belangrijk

Deze functie bevindt zich in preview-, voor gebruik in de runtime van Fabric 1.3 en hoger.

  • Bekijk de vereisten in dit overzichtsartikel , waaronder de installaties van bibliotheken die tijdelijk nodig zijn voor het gebruik van AI-functies.
  • Hoewel het onderliggende model verschillende talen kan verwerken, zijn de meeste AI-functies geoptimaliseerd voor gebruik op Engelse teksten.
  • Tijdens de eerste implementatie van AI-functies zijn gebruikers tijdelijk beperkt tot 1000 aanvragen per minuut met het ingebouwde AI-eindpunt van Fabric.

AI-functies aanpassen met pandas

AI-functies worden standaard mogelijk gemaakt door het ingebouwde AI-eindpunt van Fabric. De instellingen van de LLM worden globaal geconfigureerd in de aifunc.Conf-klasse. Als u met AI-functies in pandas werkt, kunt u de aifunc.Conf-klasse gebruiken om enkele of al deze instellingen te wijzigen:

Parameter beschrijving standaard
model_deployment_name
Facultatief
Een tekenreeks die de naam aangeeft van de taalmodelimplementatie die AI-functies mogelijk maakt. gpt-35-turbo-0125-
embedding_deployment_name
Facultatief
Een tekenreeks die de naam aangeeft van de insluitmodelimplementatie die AI-functies mogelijk maakt. tekst-insluiten-ada-002-
temperature
Facultatief
Een kommagetal tussen 0,0 en 1,0 dat de temperatuur van het onderliggende model aanduidt. Hogere temperaturen verhogen de willekeurigheid of creativiteit van de uitvoer van het model. 0,0
seed
Facultatief
Een int die het zaad aanwijst dat moet worden gebruikt voor het antwoord van het onderliggende model. Het standaardgedrag kiest willekeurig een seed-waarde voor elke rij. De keuze van een constante waarde verbetert de reproduceerbaarheid van uw experimenten. openai. NOT_GIVEN
timeout
Facultatief
Een int die het aantal seconden aangeeft voordat een AI-functie een time-out-foutmelding genereert. Er is standaard geen time-out. Geen
max_concurrency
Facultatief
Een int die het maximum aantal rijen aangeeft dat parallel moet worden verwerkt met asynchrone aanvragen voor het model. Hogere waarden versnellen de verwerkingstijd (als uw capaciteit er ruimte voor heeft). 4

In het volgende codevoorbeeld ziet u hoe u aifunc.Conf instellingen globaal overschrijft, zodat deze van toepassing zijn op alle AI-functie-aanroepen in een bepaalde sessie:

# This code uses AI. Always review output for mistakes. 
# Read terms: https://azure.microsoft.com/support/legal/preview-supplemental-terms/

aifunc.default_conf.temperature = 0.5 # Default: 0.0
aifunc.default_conf.max_concurrency = 10 # Default: 4

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)

U kunt deze instellingen ook aanpassen voor elke afzonderlijke functieoproep. Elke AI-functie accepteert een optionele conf parameter. In het volgende codevoorbeeld worden de standaardinstellingen aifunc voor alleen de ai.translate functie-aanroep gewijzigd met behulp van een aangepaste temperatuurwaarde. (De ai.analyze_sentiment-aanroep gebruikt nog steeds de standaardwaarden, omdat er geen aangepaste waarden zijn ingesteld.)

# This code uses AI. Always review output for mistakes. 
# Read terms: https://azure.microsoft.com/support/legal/preview-supplemental-terms/

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)

Als u een aangepaste Azure OpenAI LLM-resource wilt vervangen in plaats van de systeemeigen Fabric LLM, kunt u de aifunc.setup-functie gebruiken met uw eigen client, zoals wordt weergegeven in het volgende codevoorbeeld:

from openai import AzureOpenAI

# Example of creating a custom client
client = AzureOpenAI(
    api_key="your-api-key",
    azure_endpoint="https://your-openai-endpoint.openai.azure.com/",
    api_version=aifunc.session.api_version,  # Default "2024-10-21"
    max_retries=aifunc.session.max_retries,  # Default: sys.maxsize ~= 9e18
)

aifunc.setup(client)  # Set the client for all functions

AI-functies aanpassen met PySpark

Als u met AI-functies in PySpark werkt, kunt u de OpenAIDefaults-klasse gebruiken om het onderliggende taalmodel te wijzigen dat de functies mogelijk maakt. In het volgende codevoorbeeld worden bijvoorbeeld tijdelijke waarden gebruikt om te laten zien hoe u het ingebouwde Fabric AI-eindpunt kunt overschrijven met een aangepaste Azure OpenAI LLM-implementatie:

from synapse.ml.services.openai import OpenAIDefaults
defaults = OpenAIDefaults()

defaults.set_deployment_name("your-deployment-name")
defaults.set_subscription_key("your-subscription-key")
defaults.set_URL("https://your-openai-endpoint.openai.azure.com/")
defaults.set_temperature(0.05)

U kunt uw eigen waarden vervangen door de implementatienaam, abonnementssleutel, eindpunt-URL en aangepaste temperatuurwaarde:

parameter beschrijving
deployment_name Een tekenreekswaarde die de aangepaste naam van uw modelimplementatie aanwijst in Azure OpenAI of Azure AI Foundry. In Azure Portal wordt deze waarde weergegeven onder Resource Management > Modelimplementaties. In de Azure AI Foundry-portal wordt de waarde weergegeven op de pagina Implementaties. Standaard is de native Fabric LLM-eindpuntimplementatie ingesteld op gpt-35-turbo-0125.
subscription_key Een API-sleutel die wordt gebruikt voor verificatie met uw LLM-resource. In Azure Portal wordt deze waarde weergegeven in de sectie Sleutels en Eindpunt.
URL Een URL die het eindpunt van uw LLM-resource aanwijzen. In Azure Portal wordt deze waarde weergegeven in de sectie Sleutels en Eindpunt. Bijvoorbeeld: "https://your-openai-endpoint.openai.azure.com/".
temperature Een numerieke waarde tussen 0,0 en 1,0. Hogere temperaturen verhogen de willekeurigheid of creativiteit van de uitvoer van het onderliggende model. Standaard staat de temperatuur van het Fabric LLM-eindpunt ingesteld op 0,0.

U kunt elk van de OpenAIDefaults parameters ophalen en afdrukken met het volgende codevoorbeeld:

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

U kunt de parameters ook zo eenvoudig opnieuw instellen als u ze hebt gewijzigd. In het volgende codevoorbeeld wordt de BIBLIOTHEEK met AI-functies opnieuw ingesteld, zodat deze gebruikmaakt van het standaard-FABRIC LLM-eindpunt:

defaults.reset_deployment_name()
defaults.reset_subscription_key()
defaults.reset_URL()
defaults.reset_temperature()