👻

Microsoft Fabric の組み込みの AI モデルを使ってみる-【テキスト翻訳編】

2024/02/08に公開

やってみること

OpenAI Python SDKを使用して、Fabric の Azure OpenAI を使用してテキスト翻訳を行う

手順

  1. Microsoft Fabric(https://app.fabric.microsoft.com/home)にアクセス
  2. 「Synapse Data Engineering」をクリック
  3. 「ワークスペース」をクリック
  4. 作業を行うワークスペースをクリック
  5. 「+新規」をクリック
  6. 「ノートブック」をクリック
  7. ノートブックが開くことを確認
  8. 下記のコードを実行し、AIサービスに接続する
# 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}")
  1. 下記のコードを実行する
import requests
import uuid

## 日本語へ翻訳
service_url = prebuilt_AI_base_host + "translate?api-version=3.0&to=ja"
post_body = [{'Text':'Good morning, world.'}]

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)

  1. 結果を確認
HTTP 200
[
  {
    "detectedLanguage": {
      "language": "en",
      "score": 1.0
    },
    "translations": [
      {
        "text": "おはようございます。",
        "to": "ja"
      }
    ]
  }
]

サポートされている言語を取得

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)
ヘッドウォータース

Discussion