🤖

第10章 デプロイ

2023/11/27に公開1

1 FastAPIのデプロイ方法

1.1 第8章で作成したチャットボットの回答を生成するAPIのフォルダをVisual Studio Codeで開きます。

1.2 拡張機能にて、Azure App Serviceをインストールします。

1.3 Acitivity BarにあるAzureのアイコンを選択し、Azureにサインインします。

1.4 「サブスクリプション」 > 「App Service」にあるFastAPI用のApp Serviceで右クリックし、メニューの中から「Deploy to Web App...」を選択します。

1.5 デプロイが完了したらAzureの「App Service」の「構成」に移動し、「新しいアプリケーション設定」を行います。ここで設定する環境変数はローカルで「.envファイル」で設定したものと同様です。

アプリケーション設定
OPENAI_API_TYPE=azure
OPENAI_API_BASE=https://xxxxxxxx.openai.azure.com/
OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxxx
OPENAI_API_VERSION=2023-07-01-preview
OPENAI_API_EMBEDDING_DEPLOYMENT_NAME=text-embedding-ada-002
OPENAI_API_EMBEDDING_MODEL_NAME=text-embedding-ada-002
OPENAI_API_CHAT_ENGINE=gpt-35-turbo
AZURE_VECTORE_STORES_ADDRESES=https://xxxxxxxx.search.windows.net
AZURE_VECTORE_STORES_PASSWORD=xxxxxxxxxxxxxxxxxxxxxxx
AZURE_VECTORE_STORES_INDEX_NAME=sample-internal-documents
DOCUMENT_NUM=1

1.6 「全般設定」に移動し、「スタートアップ コマンド」を設定します。最後に保存をします。

スタートアップ コマンド
python -m uvicorn server:app --host 0.0.0.0

2 チャットボットのデプロイ方法

2.1 チャットボットの環境変数を設定します。まずは、Azureの「Bot Service」の「構成」に移動し、「Microsoft App ID」と「アプリ テナント ID」を控えます。

2.2 Azure上にあるFastAPIの「App Service」の「概要」に移動し、「既定のドメイン」を控えます。

2.3 先ほど控えた「Microsoft App ID」、「アプリ テナント ID」、「既定のドメイン」をチャットボットの「appsettings.json」に設定します。

2.4 先ほどのFastAPIと同様の手順でBot Service用の「App Service」にデプロイをします。「App Service」のURLをたたき、以下の画面が表示されればデプロイが完了しています。

3 チャットボットをTeamsで利用する方法

3.1 Azureの「Bot Service」の「構成」に移動し、「メッセージング エンドポイント」に「https://<チャットボット用App Service名>.azurewebsites.net/api/messages/」を設定し、適用を選択します。

3.2 「Web チャットでテスト」にて、質問をし、回答が返ってくればチャットボットの完成です。

3.3 「チャンネル」に移動し、「使用可能なチャンネル」から「Microsoft Teams」を選択します。

3.4 特に変更は加えずに「適用」を選択します。

3.5 「チャンネル」にある「Microsoft Teams」のアクション「Open in Teams」を選択する。

3.6 Teamsに今回作成したチャットボットが追加されるので、質問をし、回答が返って来れば「Teams チャットボット」の完成です。

4 注意点

第4章でも述べましたように、ここでは検証を目的としたチャットボットの開発を想定しており、簡単のためセキュリティに関する実装は最小限としています。そのため、ここでデプロイしたチャットボットとAPIはこのままだとエンドポイントさえ分かれば誰でも利用できてしまう状態になっていることにご注意ください。実際に本チャットボットを外部に公開したり運用したりすることを考える場合には、Azure Virtual Network(VNet)等を利用し、セキュアな環境を構築することをご検討ください。

お知らせ

もちろん、株式会社piponでも技術でお困りのことがある方はオンライン相談が可能です。
こちらから会社概要資料をDLできます!
お問い合わせ内容に「オンライン相談希望」とご記載ください。
お問い合わせはこちら

株式会社piponでは定期的に技術勉強会を開催しています。
ChatGPT・AI・データサイエンスについてご興味がある方は是非、ご参加ください。
技術勉強会についてはこちら

株式会社piponではChatGPT・AI・データサイエンスについて業界ごとの事例を紹介しています。ご興味ある方はこちらのオウンドメディアをご覧ください。
オウンドメディアはこちら

株式会社piponのテックブログ

Discussion

Tatsuya OtakeTatsuya Otake

コメントをいただき、ありがとうございます。
現在、第8章を公開する予定はございません。
手前味噌で恐縮ですが、弊社で公開しているKindle本の第10章がZennで公開する予定でした第8章に該当する部分になっていますので、こちらを参照していただけますと幸いです。
お手数おかけしますが、よろしくお願いいたします。