Udemy 新コース: 作って学ぶAI Builder!

Azure + Power Apps でドキュメント翻訳ソリューションの作成 (GitHub にソリューション公開しました)

Power Apps とAzure で作成したドキュメント全体を別の言語に翻訳するアプリです。

利用の流れのイメージです。

Azure ドキュメント翻訳:ドキュメント変換とは – Azure AI services | Microsoft Learn

  • ドキュメントをPower Apps にアップロードして、翻訳先の言語を指定します。
  • 実行すると翻訳され、結果のファイルのリンクが提供されます。
  • また、チャットにも翻訳の実行完了とともにファイルのリンクが通知されます。
  • ファイルはOneDrive のルードフォルダに保存されるので、必要に応じて別の場所に移動します。

Teams への通知も何故なされるかというと、Power Automate をPower Apps から呼び出した際の最大の待機時間の2分間であるための対処で、その時間を超える処理が経過した際にも完了通知が来るようにするため保険的に行われるようになっています。
また、これにより大きいファイルの翻訳にも対応できる仕様としています。

アーキテクチャ

ドキュメント翻訳(Azure Translation) にて翻訳処理を行いつつ、非同期処理のためPower Automate で処理を監視しています。処理が完了したらOneDrive に翻訳後のファイルを保存して、変換が終了したら、一時的に利用したストレージ(BLOB) は削除します。

image

Power Automate のフローはこのようにしています。

image

Do untilのところはバッチジョブのステータスを確認して成功したらループを抜けるようになっています。

image

デザイン

レスポンシブデザインに対応しています。

自由な画面サイズで利用いただけます。

image

対応しているファイル形式

対応している形式は以下のとおりです。こちらはAzure Translation サービスに依存しています。

pdf, csv, html, htm, xlf, markdown, mdown, mkdn, md, mkd, mdwn, mdtxt, mdtext, rmd, mthml, mht, xls, xlsx, msg, ppt, pptx, doc, docx, odt, odp, ods, rtf, tsv/tab, txt

Azure Translation Serivice | Mcirosoft Learn

前提条件

以下が必要です。

  • Power Apps Premium ライセンス
  • Azure サブスクリプション
  • Azure ストレージアカウントの管理権利
  • Azure AI Translator の管理権利

事前準備

Azure ストレージアカウントの準備

Azure ポータルにて、ストレージアカウントを作成します。

マーケットプレイスからStorage accountを探して作成します。Standardのレベルで作成するようにします。

image

2個のコンテナを作成します。

コンテナ名はinputoutputとします。

image

作成できましたら、Access keyとStorage Account name を取得しておきます。

image

ソリューションをインポートする際の接続情報を作成する際に必要となります。

AI Translator の準備

Translator と検索します。表示されたサービスを選択して作成します。

image

リソースの名前、リージョンはご自身のお住いに近いところ、Pricing tier は利用量に応じて選択ください。

image

Azure AI 翻訳の価格はこちらに記載があります。

デプロイされたTranslator のリソースにて、Identity を選択します。Status を有効にして一度保存します。保存後に現れるPermissions からAzure role assignments を行います。

image

Add role assignment からロールを追加します。

image

Roleの設定は以下のとおりに行います。Resource のところは先ほど作成したストレージアカウント名を指定するようにしてください。

image

1-2 分程立つとストレージアカウントが追加されます。少し待ってから更新を行って反映されるのを確認してください。

Identity の設定がこれで完了しました。

次に、Keys and Endpoint に移ります。こちらで、Document Translation のエンドポイント名とKey を取得しておきます。メモ帳などに残しておいてください。

image

ここまでで、以下の項目をメモ帳などに残しているか確認してください。

  1. BLOB Access key
  2. BLOB Storage Account name
  3. Document Translation Endpoint Name
  4. Document Translation Key

インポート方法

最新のソリューションをダウンロードします。

ソリューションをインポートを選択します。

image

参照からダウンロードしたソリューションをアップロードします。

image

次へ進みます。

image

接続情報を作成します。

image

こちらでBLOBの接続情報はAccess Key として、先ほど取得したBLOB Storage アカウント名とBLOBのアクセスキーをこちらにペーストして作成ボタンをクリックします。

他のコネクタについてもサインインしていないものがありましたらサインインします。接続がすべて作成できましたら次へ移ります。

image

ストレージアカウントのアカウント名は、接続だけでなくDocument Translation でも利用するため、ストレージアカウント名はもう一度同じものを入力します。その他。先ほど入手したKey とエンドポイント名を入力します。

image

こちらでインポートの作業は完了です。あとはインポート処理が完了するのを待ちます。

少々複雑なアプリのためか、私の環境ではおよそ30分ほどインポートにかかりました。

テスト実行

インポートが完了すると、緑のような成功メッセージが表示されます。

環境によっては言語ラベルについて警告が出ることもありますが、ラベルの警告は問題ありません。

マネージドソリューションとしてインポートされるため、マネージドのタブに切り替えます。

image

アプリを選択して再生します。

image

アプリのアクセス許可を行ってください。

image

ドキュメントをアップロードして、翻訳先の言語を選択して、翻訳ボタンを押せばドキュメント全体を翻訳してくれます。

image

翻訳が成功するとメッセージが表示されます。翻訳結果を開くボタンを押せば、その言語での翻訳結果を見ることができます。

image

OneDrive のルートフォルダにファイルは保存されています。

image

ファイル名は、翻訳先の言語コード2文字 + 処理を行った時刻 + 元のファイル名 で出力されます。

フランス語だと私は読めないのでうまくいっているかわかりませんが、日本語からフランス語にPowerPoint のファイルを変換してくれた例です。
image

以上、ご参考になれば幸いです。

人気記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Index