Edit

Share via


Translate text with the ai.translate function

The ai.translate function uses generative AI to translate input text into a new language (of your choice). It uses only a single line of code.

AI functions improve data engineering by using the power of large language models in Microsoft Fabric. To learn more, see this overview article.

Important

This feature is in preview, for use in Fabric Runtime 1.3 and later.

  • Review the prerequisites in this overview article, including the library installations that are temporarily required to use AI functions.
  • By default, the gpt-4o-mini model currently powers AI functions. Learn more about billing and consumption rates.
  • Although the underlying model can handle several languages, most of the AI functions are optimized for use on English-language texts.
  • During the initial rollout of AI functions, users are temporarily limited to 1,000 requests per minute with the built-in AI endpoint in Fabric.

Use ai.translate with pandas

The ai.translate function extends the pandas Series class. To translate each input row into a target language of your choice, call the function on a pandas DataFrame text column.

The function returns a pandas Series that contains translations, which you can store in a new DataFrame column.

Tip

The ai.translate function was tested with 10 languages: Czech, English, Finnish, French, German, Greek, Italian, Polish, Spanish, and Swedish. Your results with other languages might vary.

Syntax

df["translations"] = df["text"].ai.translate("target_language")

Parameters

Name Description
to_lang
Required
A string representing the target language for text translations.

Returns

The function returns a pandas Series that contains translations for each row of input text. If the input text is null, the result is null.

Example

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

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")
display(df)

Use ai.translate with PySpark

The ai.translate function is also available for Spark DataFrames. You must specify an existing input column name as a parameter, along with a target language.

The function returns a new DataFrame with translations for each input text row, stored in an output column.

Syntax

df.ai.translate(to_lang="spanish", input_col="text", output_col="translations")

Parameters

Name Description
to_lang
Required
A string that represents the target language for text translations.
input_col
Required
A string that contains the name of an existing column with input text values to translate.
output_col
Optional
A string that contains the name of a new column that stores translations for each input text row. If you don't set this parameter, a default name generates for the output column.
error_col
Optional
A string that contains the name of a new column that stores any OpenAI errors that result from processing each input text row. If you don't set this parameter, a default name generates for the error column. If an input row has no errors, the value in this column is null.

Returns

The function returns a Spark DataFrame that includes a new column that contains translations for the text in the input column row. If the input text is null, the result is null.

Example

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

df = spark.createDataFrame([
        ("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.",),
    ], ["text"])

translations = df.ai.translate(to_lang="spanish", input_col="text", output_col="translations")
display(translations)