Dela via


Använda fördefinierade Azure AI Translator i Fabric med REST API och SynapseML (förhandsversion)

Viktigt!

Den här funktionen är i förhandsversion.

Azure AI Translator är en Azure AI-tjänst som gör att du kan utföra språköversättning och andra språkrelaterade åtgärder.

Det här exemplet visar användning, med RESTful API:er, av den fördefinierade Azure AI-översättaren i Fabric:

  • Översätta text
  • Translitterera text
  • Hämta språk som stöds

Förutsättningar

  • Skapa en ny anteckningsbok.
  • Anslut din anteckningsbok till ett lakehouse. Till vänster i anteckningsboken väljer du Lägg till för att lägga till ett befintligt lakehouse eller skapa ett nytt.

Anmärkning

Den här artikeln använder Microsoft Fabrics inbyggda fördefinierade AI-tjänster, som hanterar autentisering automatiskt. Du behöver inte skaffa en separat Azure AI-tjänstnyckel – autentiseringen hanteras via din Fabric-arbetsyta. Mer information finns i Förhandsbyggda AI-modeller i Fabric (förhandsversion).

Kodexemplen i den här artikeln använder bibliotek som är förinstallerade i Microsoft Fabric-notebook-filer:

  • SynapseML: Förinstallerat i Fabric Notebooks för maskininlärningsfunktioner
    • synapse.ml.core – Core SynapseML-funktioner
    • synapse.ml.fabric.service_discovery – Fabric-tjänstupptäckningsverktyg
    • synapse.ml.fabric.token_utils – Verktyg för autentiseringstoken
    • synapse.ml.services – INTEGRERING av AI-tjänster (inkluderar Translate, Transliterate-klasser)
  • PySpark: Tillgänglig som standard i Fabric Spark-beräkning
    • pyspark.sql.functions – DataFrame-transformeringsfunktioner (col, flatten)
  • Python-standardbibliotek: Inbyggt i Python-körning
    • json – JSON-parsning och formatering
    • requests – HTTP-klient för REST API-anrop
# Get workload endpoints and access token

from synapse.ml.fabric.service_discovery import get_fabric_env_config
from synapse.ml.fabric.token_utils import TokenUtils
import json
import requests


fabric_env_config = get_fabric_env_config().fabric_env_config
auth_header = TokenUtils().get_openai_auth_header()

# Make a RESTful request to AI service
prebuilt_AI_base_host = fabric_env_config.ml_workload_endpoint + "cognitive/texttranslation/"
print("Workload endpoint for AI service: \n" + prebuilt_AI_base_host)

service_url = prebuilt_AI_base_host + "language/:analyze-text?api-version=2022-05-01"
print("Service URL: \n" + service_url)

auth_headers = {
    "Authorization" : auth_header
}

def print_response(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översättning

Textöversättning är kärnan i Translator-tjänsten.

service_url = prebuilt_AI_base_host + "translate?api-version=3.0&to=fr"
post_body = [{'Text':'Hello, friend.'}]

response = requests.post(service_url, json=post_body, headers=auth_headers)

# Output all information of the request process
print_response(response)

Output

    HTTP 200
    [
      {
        "detectedLanguage": {
          "language": "en",
          "score": 1.0
        },
        "translations": [
          {
            "text": "Bonjour cher ami.",
            "to": "fr"
          }
        ]
      }
    ]

Texttranskribering

Transkribering konverterar ett ord eller en fras från skriptet (alfabetet) för ett språk till ett annat, baserat på fonetiska likheter.

service_url = prebuilt_AI_base_host + "transliterate?api-version=3.0&language=ja&fromScript=Jpan&toScript=Latn"
post_body = [
    {"Text":"こんにちは"},
    {"Text":"さようなら"}
]

response = requests.post(service_url, json=post_body, headers=auth_headers)

# Output all information of the request process
print_response(response)

Output

    HTTP 200
    [
      {
        "text": "Kon'nichiwa​",
        "script": "Latn"
      },
      {
        "text": "sayonara",
        "script": "Latn"
      }
    ]

Språkhämtning som stöds

Returnerar en lista över språk som translator-åtgärder stöder.

service_url = prebuilt_AI_base_host + "languages?api-version=3.0"

response = requests.get(service_url, headers=auth_headers)

# Output all information of the request process
print_response(response)