JAZUG 14 周年イベントの「Semantic KernelのAgent機能試してみた!」でデモをしたコードです。
- Azure に Azure OpenAI Service をデプロイしてください。
- gpt-4o のモデルを gpt-4o という名前でデプロイしてください。
- 作成した Azure OpenAI Service に対して Azure CLI や Azure Developer CLI などでサインインしているユーザーに「Cognitive Services OpenAI ユーザー」のロールを割り当ててください。
- このリポジトリをクローンしてください。
TravelAgentsSample.slnを Visual Stduio 2022 で開いてくださいTravelAgentsSample.AppHostプロジェクトを右クリックしてユーザーシークレットの管理を選択して以下のように、作成した Azure OpenAI Service のエンドポイントを設定してください。{ "ConnectionStrings": { "openai": "https://<<リソース名>>.openai.azure.com/" } }TravelAgentsSample.AppHostプロジェクトをデバッグ実行してください。
.NET Aspire のダッシュボードが表示されるので TravelAgentsSample のエンドポイントをクリックしてください。
デモアプリの画面が表示されるので、テキストボックスに「東京に住んでいるのですが、2泊3日で広島に行きたいです。」など旅行のプランを立てるための基本情報を入力して「問い合わせる」ボタンをクリックしてください。
TravelAgentsSampleプロジェクト- Blazor Web App プロジェクト。デモアプリの画面が含まれています。
Program.csでKernelなどのセットアップを行っています。Components/Pages/Home.razorとHome.razor.csでエージェントの呼び出しと結果の表示を行っています。
- Blazor Web App プロジェクト。デモアプリの画面が含まれています。
TravelAgentsSample.Agentsプロジェクト- Agent を定義しています。
AgentFactory.csで各種エージェントのプロンプトの定義やエージェントの生成とAgentGroupChatの作成を行っています。HiroshimaDialectPlugin.csで広島弁のプラグインを定義しています。
- Agent を定義しています。
TravelAgentsSample.AppHostプロジェクト- .NET Aspire のアプリホストプロジェクト。このプロジェクトをスタートアッププロジェクトに設定して起動してください。
TravelAgentsSample.ServiceDefaultsプロジェクト- .NET Aspire のサービスデフォルトプロジェクト。OTel の構成などのコードが含まれています。