途中で断念していた Teams AI Library で Azure OpenAI Service を利用する作業ですが、Issue で確認して修正方法が分かりましたのでまとめます。
なお、この記事以外の修正箇所は以前の記事を参考にしてください。
AzureOpenAIPlanner
クラスの利用
teams-ai/js/samples/04.ai.a.teamsChefBot/src/index.ts
に以下の変更を加えます。
読み込むクラスの追加
import { Application, ConversationHistory, DefaultPromptManager, DefaultTurnState, OpenAIModerator, OpenAIPlanner, AI } from '@microsoft/botbuilder-m365';
▼ AzureOpenAIPlanner
を追加する
import { Application, ConversationHistory, DefaultPromptManager, DefaultTurnState, OpenAIModerator, OpenAIPlanner, AI, AzureOpenAIPlanner } from '@microsoft/botbuilder-m365';
planner の変更
const planner = new OpenAIPlanner({ apiKey: process.env.OPENAI_API_KEY, defaultModel: 'text-davinci-003', logRequests: true });
▼ OpenAIPlanner
から AzureOpenAIPlanner
に変更する
const planner = new AzureOpenAIPlanner({ apiKey: process.env.OPENAI_API_KEY, defaultModel: 'gpt-4-32k', logRequests: true, endpoint: process.env.OPENAI_API_ENDPOINT, apiVersion: process.env.OPENAI_API_VERSION || '2023-05-15' });
Teams Toolkit の環境ファイルの変更
- uses: file/createOrUpdateEnvironmentFile # Generate runtime environment variables with: target: ./.localSettings envs: BOT_ID: ${{BOT_ID}} BOT_PASSWORD: ${{SECRET_BOT_PASSWORD}} OPENAI_API_KEY: ${{SECRET_OPENAI_API_KEY}}
▼ AOAI のエンドポイントと API バージョンの設定を追加する
- uses: file/createOrUpdateEnvironmentFile # Generate runtime environment variables with: target: ./.localSettings envs: BOT_ID: ${{BOT_ID}} BOT_PASSWORD: ${{SECRET_BOT_PASSWORD}} OPENAI_API_KEY: ${{SECRET_OPENAI_API_KEY}} OPENAI_API_ENDPOINT: ${{SECRET_OPENAI_API_ENDPOINT}} OPENAI_API_VERSION: ${{SECRET_OPENAI_API_VERSION}}
なお teamsapp.local.yml
とは、Teams Toolkit のローカル環境のようです。
設定値は .env.local.user
に指定します。(コミット対象外)
ここまでの変更を行い、VS Code の Teams Toolkit でデバッグを開始すると、Azure OpenAI Service を利用する Teams AI のボットができあがります。