OpenAIをMicrosoft Teamsに簡単に統合する: Logic Appを使ったスムーズな実現

<span>最近の働き方の変化に伴い、Microsoft Teams と AI 技術を組み合わせて業務効率を向上させる方法が求められています。この記事では、OpenAI を Microsoft Teams チャネルに統合し、Logic App を使用してスムーズに実現する方法について詳しく解説しています。
</span><span>OpenAIをMicrosoft Teamsチャネルに統合する際に</span><span>Logic Appを利用するには以下の様なメリットとデメリットが考えられます。</span>

本記事は以下の記事を参考により詳細を記載しています。

https://techcommunity.microsoft.com/t5/integrations-on-azure-blog/integrate-azure-open-ai-in-teams-channel-via-logic-app/ba-p/3776048

同じタイミングに素晴らしい記事が紹介されていましたので、こちらも参照ください。

https://qiita.com/akihiro_suto/items/29b340e19d2700ce4288

<h2>はじめに</h2>
本記事では、OpenAIをMicrosoft Teamsチャネルに統合する方法について解説します。統合には、Logic Appを使用し、これにより自動化されたワークフローを構築することができます。この統合を実現することで、Microsoft Teams内でOpenAIを活用した機能を簡単に利用することができるようになります。
<ol>
 	<li><strong>OpenAIとMicrosoft Teamsの統合の概要</strong>
OpenAIとMicrosoft Teamsの統合により、チームメンバーはMicrosoft Teams内で直接OpenAIの機能を活用できます。これにより、コラボレーションが容易になり、生産性が向上することが期待されます。</li>
 	<li><strong>Logic Appを使用する目的と利点
</strong>Logic Appは、クラウドベースのサービスで、さまざまなアプリケーションやサービス間のデータの統合と自動化を実現するためのツールです。Logic Appを使用することで、OpenAIとMicrosoft Teamsの統合を簡単かつ効率的に実現することができます。また、ロジックアプリを使用することで、カスタムコードを記述することなく、Microsoft Teams内でOpenAIを利用したアプリケーションを構築することができます。</li>
 	<li><strong>対象読者と事前知識</strong>
本記事は、OpenAIとMicrosoft Teamsの統合に興味がある開発者やIT管理者を対象としています。OpenAI、Microsoft Teams、およびLogic Appに関する基本的な知識を持っていることが望ましいですが、初心者でも理解できるように説明されています。</li>
</ol>
<h2>Logic App を使用した OpenAI の統合</h2>
<h4><span>Logic Appを使うメリット</span></h4>
<ol>
 	<li><strong>簡単な設定: </strong>
Logic Appは、視覚的なデザイナを使ってワークフローを簡単に作成・編集できます。これにより、複雑なコードを書くことなく、Microsoft TeamsとOpenAIの統合が可能です。</li>
 	<li><strong>柔軟性: </strong>
Logic Appは、多様なコネクタとアクションが用意されており、異なるサービスやアプリケーションとの連携が容易です。これにより、カスタマイズ性の高いワークフローが構築できます。</li>
 	<li><strong>スケーラビリティ: </strong>
Logic Appはクラウドベースのサービスであり、必要に応じてスケールアップ・ダウンが可能です。これにより、大量のリクエストやデータを処理する際にも対応できます。</li>
 	<li><strong>ローコスト:</strong>
<span>Logic Appは、アクションの実行回数やコネクタの使用に応じて課金されます。コネクターをコールするたびに$0.000125(約0.02円)程度で始めることが出来ます。処理を複雑にすることで料金が上がることがあります。</span></li>
</ol>
<h4><span>Logic Appを使うデメリット</span></h4>
<ol>
 	<li><strong>OpenAIのバージョン制限: </strong>
現時点で、Logic Appは最新のGPT-3.5-turboやGPT-4などのバージョンには対応していません。これにより、最新のAIモデルを活用することができません。
また、Logic AppはAzureのサービスですが、2023年4月現在 Azure OpenAI Serviceとのコネクターが無いため、OpenAIのサービスを利用する必要があります。</li>
 	<li><strong>カスタマイズ処理: </strong>
Logic App内で使える処理だけになっているため、大きくカスタマイズすることは出来ません。</li>
</ol>
<h3>実装手順</h3>
ここからは具体的な手順の説明です。
<ol>
 	<li>Azureポータルにサインインする。</li>
 	<li>上側のメニューの検索ボックスに「ロジック アプリ（Logic App）」を入力し、「ロジック アプリ」を選択し、「Create（作成）」をクリックします。</li>
 	<li>必要な情報を入力し、下部の「Review + create（確認 + 作成）」をクリックします。検証が成功したら、「Create（作成）」をクリックします。
公開は<strong>「ワークフロー」</strong>を選びます。
地域としてOpenAIがあるリージョンを選ぶ、日本（Japan East）を選ぶか選択肢がありますが<strong>「日本（Japan East）」</strong>を選びます。
プランは<strong>「消費」</strong>を選びます</li>
 	<li>リソースが作成されたら、「Go to resource（リソースへ移動）」をクリックすると、Logic App Designerに移動します。
左側のメニューから「Blank Logic App（空白のLogic App）」を選択します。</li>
 	<li>最初のトリガーとして、「チャネルに新しいメッセージが追加されたとき」を選択します。これにより、新しいメッセージがTeamsチャネルに投稿されるたびにLogic Appがトリガーされます。
他のトリガーとして以下もおすすめです。
<strong>「キーワードが言及された場合」</strong>　チャネル内で例えば ChatGPT というキーワードがあったときのみ実行されます
<strong>「チャットに新しいメッセージが追加されたとき」</strong>　コネクターを設定したユーザーに対してメッセージが追加されたときに実行されます
<strong>「チャネルのメッセージで自分がメンションされているとき」</strong>　チャネル内でコネクターを設定したユーザーに対して メンション付き でメッセージが追加されると実行されます</li>
 	<li>Microsoft Teamsへのサインインを求められたら、アカウント情報を入力し、サインインします。
もし、自分以外のユーザー、例えばChatGPTというユーザーで応対したいときにはChatGPTというアカウントでサインインします。</li>
 	<li>トリガーにチャネル情報を設定します。「Team Id（チームID）」と「Channel Id（チャネルID）」を選択してください。</li>
 	<li>次に、「OpenAI」アクションを検索して「GPT3 Completes your prompt」追加します。OpenAIの設定を行い、APIキーを入力します。
この時、APIキーは「sk-****************」ではなく必ず<strong>「Bearer sk-****************」</strong>と先頭にBearer[スペース]を付けます。</li>
 	<li>OpenAIアクションの入力パラメーター「prompt」に、Teamsからの<strong>「メッセージ 本文 コンテンツ」</strong>を指定します。</li>
 	<li>最後に、OpenAIからの応答をチャネルに投稿するよう、「チャネル内にメッセージで応答します」アクションを再度追加します。
Message IDは最初のTeamsトリガーで取得した「メッセージ ID」
Messageには 「OpenAI」アクションで取得した「Text」</li>
 	<li>全て設定が完了したら保存して、設定したチャネルに対してメッセージを送信してみます。</li>
</ol>
<img src="https://azure-recipe.kc-cloud.jp/wp-content/uploads/2023/04/openai-logicapps.png" alt="" width="575" height="189" class="alignnone size-full wp-image-18895" />
<h3>よくある質問と解決策</h3>
参考としてトラブルシュート例をあげます。具体的にはロジックアプリの「実行の履歴」から<strong>「！」</strong>になっている部分を確認して修正します。

<strong>問題1: 統合が正常に動作しない</strong>
解決策: Logic Appの設定を再確認し、正しいAPIキーやトリガー、アクションが設定されていることを確認してください。また、OpenAIとMicrosoft Teamsの接続設定を見直し、必要に応じて修正してください。

<strong>問題2: 応答が遅い </strong>
解決策: ネットワークの遅延やOpenAIのサービス状況を確認してください。また、Logic Appの設定やアクション間の遅延設定が適切かどうか確認し、必要に応じて修正してください。

<strong>問題3: 期待した応答が得られない </strong>
解決策: OpenAIへのクエリやパラメータを見直し、正確な情報が渡されていることを確認してください。また、OpenAIのAPI仕様や制限について理解し、適切な設定や使用方法を確認してください。
<h2>まとめ</h2>
<span>本記事では、Microsoft TeamsとOpenAIを統合する方法について、Logic Appを活用したスムーズな実現方法を解説しました。統合により、Microsoft Teams内でOpenAIの機能を直接活用できるようになり、チームメンバー間のコラボレーションが容易になります。これにより、業務効率の向上が期待されます。本記事を参考に、Microsoft TeamsとOpenAIの統合を試してみてください。</span>