Use prebuilt Azure AI Translator in Fabric with REST API and SynapseML (preview)
Important
This feature is in preview.
Azure AI Translator is an Azure AI services that enables you to perform language translation and other language-related operations.
This sample shows use, with RESTful APIs, of the prebuilt Azure AI translator, in Fabric:
- Translate text
- Transliterate text
- Get supported languages
Prerequisites
# Get workload endpoints and access token
from synapse.ml.mlflow import get_mlflow_env_config
import json
mlflow_env_configs = get_mlflow_env_config()
access_token = access_token = mlflow_env_configs.driver_aad_token
prebuilt_AI_base_host = mlflow_env_configs.workload_endpoint + "cognitive/texttranslation/"
print("Workload endpoint for AI service: \n" + prebuilt_AI_base_host)
# Make a RESTful request to AI service
post_headers = {
"Content-Type" : "application/json",
"Authorization" : "Bearer {}".format(access_token),
}
def printresponse(response):
print(f"HTTP {response.status_code}")
if response.status_code == 200:
try:
result = response.json()
print(json.dumps(result, indent=2, ensure_ascii=False))
except:
print(f"pasre error {response.content}")
else:
print(f"error message: {response.content}")
Text Translation
Text translation is the core operation of the Translator service.
import requests
import uuid
service_url = prebuilt_AI_base_host + "translate?api-version=3.0&to=fr"
post_body = [{'Text':'Hello, friend.'}]
post_headers["x-ms-workload-resource-moniker"] = str(uuid.uuid1())
response = requests.post(service_url, json=post_body, headers=post_headers)
# Output all information of the request process
printresponse(response)
Output
HTTP 200
[
{
"detectedLanguage": {
"language": "en",
"score": 1.0
},
"translations": [
{
"text": "Bonjour cher ami.",
"to": "fr"
}
]
}
]
Text Transliteration
Transliteration converts a word or phrase from the script (alphabet) of one language to another, based on phonetic similarity.
service_url = prebuilt_AI_base_host + "transliterate?api-version=3.0&language=ja&fromScript=Jpan&toScript=Latn"
post_body = [
{"Text":"こんにちは"},
{"Text":"さようなら"}
]
post_headers["x-ms-workload-resource-moniker"] = str(uuid.uuid1())
response = requests.post(service_url, json=post_body, headers=post_headers)
# Output all information of the request process
printresponse(response)
Output
HTTP 200
[
{
"text": "Kon'nichiwa",
"script": "Latn"
},
{
"text": "sayonara",
"script": "Latn"
}
]
Supported Languages Retrieval
Returns a list of languages that Translator operations support.
service_url = prebuilt_AI_base_host + "languages?api-version=3.0"
post_headers["x-ms-workload-resource-moniker"] = str(uuid.uuid1())
response = requests.get(service_url, headers=post_headers)
# Output all information of the request process
printresponse(response)
Related content
- Use prebuilt Text Analytics in Fabric with REST API
- Use prebuilt Text Analytics in Fabric with SynapseML
- Use prebuilt Azure AI Translator in Fabric with SynapseML
- Use prebuilt Azure OpenAI in Fabric with REST API
- Use prebuilt Azure OpenAI in Fabric with Python SDK
- Use prebuilt Azure OpenAI in Fabric with SynapseML