はじめに
Azure AI ドキュメント翻訳 のための Azure リソースの構成手順となります。
構築が完了すると、Language Studio という フロントエンドの UI を使って、簡単に ドキュメント翻訳を実施できるようになります。
それから、開発言語や PowerPlatform から ドキュメント翻訳 を実行するための下地の環境も この手順で構築できます。
私が ドキュメント翻訳に手を出した経緯
ドキュメント翻訳をやってみたいと思った経緯などは、以下の記事に投稿してありますので、参照いただければと思います。
Language Studio を使った ドキュメント翻訳 の操作の流れ
以下の記事で、Language Studio を使った際の ドキュメント翻訳 の操作内容を画面キャプチャ付きで紹介しています。いわば、完成したら こういう動きをするよ・・・という内容です。
1. 構築前の準備
Azure AI ドキュメント翻訳 を使うためには、Azure AI Translator と Azure ストレージアカウント の2種類の Azure リソース が必要です。
この2つを利用するためには、Azure サブスクリプション が必要です。
既に、利用中の Azure でも良いですし、下記の記事を参考に Azure サブスクリプション を無料でサインアップすることも可能です。
2. 構築手順
2章では、以下の公開情報の内容を画面付き手順で説明しています。
さらに、本記事では、この公開情報の手順だけでは動作しないことも判明しており、追加の設定についても説明しています。
2-1. Azure AI Translator リソースの作成
- Azure Portal に 管理者アカウントで サインインします。
https://portal.azure.com
- 検索で Azure AI services 探して、選択します。
- 左ペインで「翻訳」を選び「作成」を選択します。
- 「基本」タブでは「新規作成」を押して リソースグループ名 を決めて「OK」を押します。
- 引き続き「基本」タブで、各項目を設定して、「次へ」を押します。
・ リージョン = ★Translator がサポートされたリージョン を必ず選びます。
・ 名前 = [任意の名前]
・ 価格レベル = S1 または D3 を選択します。
※S1 と D3 だけが、ドキュメント翻訳 をサポートしています。
(★サポートされているリージョン)
このリンク先に記載されているリージョンだけが、ドキュメント翻訳をサポートしています。誤りの無いように選択してください。
https://learn.microsoft.com/ja-jp/azure/ai-services/translator/document-translation/language-studio?tabs=local-env#supported-regions
7.「Identity」タブでは、必ず「システム割り当てマネージド ID」の状態 を「オン」にして「確認と作成」を押します。
9.リソースがデプロイされると、以下の画面になるので「リソースに移動」を押します。
10.作成されたリソースの画面は、以下のようになっています。
2-2. Azure ストレージアカウントの作成
- Azure Portal に 管理者アカウントで サインインします。
https://portal.azure.com
- 検索で ストレージアカウント を探して、選択します。
- 「作成」を押して、ストレージアカウント の作成を開始します。
- 以下の情報を入力して、最後に「レビュー」を押します。
・ リソースグループ = 任意
※ Translator と同じリソースグループが分かりやすいと思います。
・ ストレージアカウント名 = 任意(全世界の Azure 内でユニークな名称)
・ 地域 = ★要注意★
※Translator リソースと同一のリージョンにする必要があります。
・ パフォーマンス = 任意(Standardで十分)
※Premium だと固定コストが発生します。
・ 冗長性 = 任意(ローカル冗長ストレージ LRS で十分)
- 「レビュー」タブで内容を確認して「作成」を押します。
- デプロイが完了したら「リソースに移動」を押します。
- 作成されたリソースの画面は、以下のようになっています。
2-3. ネットワークの設定
前章に続けて、ストレージアカウントで操作を行います。
- 左ペインで「ネットワーク」を選び「ファイアウォールと仮想ネットワーク」タブで、「選択した仮想ネットワークと IP アドレスから有効」を選択します。
- 「ファイアウォールと仮想ネットワーク」タブのまま、さらに下へスクロールして、各項目を指示通りの設定を行います。
(緑枠)リソースインスタンス
リソースの種類 = "Microsoft.CognitiveServices/accounts"
インスタンス名 = [前章で作成した Azure AI Translator リソース の名称]
(紫枠)例外
「信頼されたサービスの一覧にある Azure サービスがこのストレージ アカウントにアクセスすることを許可します。」だけにチェックを入れる。他は チェックを外す。
(橙枠)ネットワークルーティング
「Microsoft ネットワークルーティング」を選択する。
3.「ファイアウォールと仮想ネットワーク」タブのまま、一番上までスクロールして「保存」ボタンを押します。
この操作で、ストレージアカウントに対して、Translator リソースからのアクセスのみを許可されます。
ストレージアカウントを 他の用途でも使用する場合は、その場所やリソースからのアクセス許可も与えてください。
2-4. マネージド ID
Translator リソースに、マネージド ID で、"ストレージ BLOB データ共同作成者" を付与します。こうすることで、Translator リソースが 前章で作成した ストレージアカウントを操作することが出来るようになります。
- Translator リソースを開き、左ペインから「ID」を選び、「システム割り当て済み」タブから、「Azure ロールの割り当て」ボタンを押します。
- 「ロールの割り当ての追加」ボタンを押します。
- 以下の設定値を選択して、「保存」を押します。
スコープ = "ストレージ"
リソース = [Translator リソース名]
役割 = "ストレージ BLOB データ共同作成者"
- ロールが作成されると、以下の画面のように 一覧に表示されます。
2-5. CORS
ココが一番のハマりどころです。
公開情報には、この設定について記載がありません。
しかし、公開情報の手順だけだと、ドキュメント翻訳時に以下のエラーが出て 使うことができませんでした。
"Unknown : A server error occurred. Please refresh the page and try again."
実は、Language Studio の初期設定の際に、以下の画面で Blob ストレージを選択する箇所があるのですが、ストレージを選択したあと、しばらくこの画面で放置していると出るエラーメッセージです。かなり気づきづらいですが。これを不意に見かけたので、問題に気が付くことができて、対処することができました。
以下に紹介する CORS の設定を行うことで、問題解決できました。
- ストレージアカウントを開き、左ペインから「リソースの共有 (CORS)」を選択します。
続けて、以下の設定値を入力して、「保存」ボタンを押します。
許可されたオリジン = *
許可されたメソッド = 8個すべてのチェックを ON
許可されたヘッダー = *
公開されるヘッダー = *
最長有効時間 = 200
- 保存が完了すると、以下の通知メッセージが表示されます。
3. Language Studio の初期設定
2章の構成が完了すると、Azure AI Translator が利用できる状態です。
3章では、Language Studio が Azure AI Translator を使って ドキュメント翻訳が行うことができるように初期設定します。
この設定は、PC 上の ブラウザー単位で設定が記憶されるようなので、PC や ブラウザー が異なる環境で操作する際に、都度 設定してください。
同一のブラウザーで操作する場合は、1回の設定のみで大丈夫です。
3-1. 日本語化
- Language Studio にアクセスします。
https://language.cognitive.azure.com
- 右上の 歯車マーク を押します。
- General タブ から 日本語化 できます。
3-2. テナント と サブスクリプションの割り当て
Language Studio が利用する Translator リソースと、ストレージアカウント を割り当てておく必要があります。
- Language Studio に接続します。
https://language.cognitive.azure.com/home
- 「ドキュメントの翻訳」を選択します。
- 「Azure でサインインする」を選択します。
- テナントのユーザーでサインインします。
- > を数回 押して画面を送ります。
- 「リソースの選択」を押します。
- 以下の画面で Language Studio で利用する Azure ディレクトリ(Microsoft Entra テナントのこと)と、Azure サブスクリプション を選択する必要があります。
その後、事前に作成しておいた Translator リソース を選択して「完了」を押します。
- 緑枠(Translatorリソース)と 水色枠(ストレージアカウント)を選択して、「次へ」を押します。
4. Language Studio を使った ドキュメント翻訳の実行
前章までの設定で、準備が完了しました。
さっそく、Language Studio を使って ドキュメント翻訳を実行してみましょう。
操作手順については、以下の記事に記載してあります。
Next Step
Language Studio で Azure AI Translator を利用できるようになりました。
これが出来ていれば、Language Studio の部分を Power Automate や 開発言語 に置き換えて、Azure AI Translator(ドキュメント翻訳)を利用することが出来る状態です。
以下の記事の内容を参考に、さらに 発展した ドキュメント翻訳 にチャレンジいただけると思います。
Next Step : REST API トリガーによる ドキュメント翻訳
ストレージアカウントに ドキュメントを保存しておき、REST API からキックすることで、ドキュメント翻訳を行い、ストレージアカウントに翻訳結果を保存します。
Next Step : Power Automate Translator V3 コネクタ によるドキュメント翻訳
ストレージアカウントに ドキュメントを保存しておき、Power Automate からキックすることで、ドキュメント翻訳を行い、ストレージアカウントに翻訳結果を保存します。
Share Point からの翻訳にも対応しています。