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()
Verwante inhoud
- Bereken overeenkomsten met
ai.similarity
. - Gevoel detecteren met
ai.analyze_sentiment
. - Tekst categoriseren met
ai.classify
. - Entiteiten extraheren met
ai_extract
. - Corrigeer de grammatica met
ai.fix_grammar
. - Vat de tekst samen met
ai.summarize
. - Tekst vertalen met
ai.translate
. - Beantwoord aangepaste gebruikersprompts met
ai.generate_response
. - Meer informatie over de volledige set AI-functies hier.
- Hebben we een functie gemist die u nodig hebt? Laat het ons weten! Stel het voor op het forum Fabric Ideas