先週、新しいAIチャットWebアプリテンプレートをMicrosoftが発表した。このテンプレートはAIをより身近なものにするというMicrosoftの継続的な取り組みの一環であり、Visual Studio、Visual Studio Code、.NET CLIでスキャフォールディングとガイダンスを提供する。
説明によると.NET AIチャットテンプレートは開発者がAI駆動チャットアプリケーションを迅速に構築するのに役立つ。このテンプレートにはBlazorベースWebアプリが含まれており、Microsoft.Extensions.AIと Microsoft.Extensions.VectorDataの抽象化を活用して、チャットアプリケーションで一般的に使用される検索拡張生成(RAG)パターンに従っている。
主な機能にはRAGパターンを使用して、サンプルPDFやユーザーデータなどのカスタムデータと対話するチャットインターフェイスを作成する機能が含まれている。このテンプレートはローカルとAzureの両方の統合をサポートしており、プロトタイピング用のローカルベクターストアやより高度なセットアップ用のAzure AI Searchも含まれている。生成されたコードにはチャット・インタラクション、引用追跡、フォローアップ提案のためのUIコンポーネントが含まれており、報告されているように必要に応じてカスタマイズしたり削除可能だ。
(出典:公式Microsoft .NET DevBlogs)
テンプレートを使い始めるには、開発者はCLIコマンドを使ってインストールする必要がある:
dotnet new install Microsoft.Extensions.AI.Templates
このテンプレートはさまざまなデータソースやフォーマットを処理するコードを含み、データの取り込みを簡素化している。開発者が自分のファイルを置き換えるためのサンプルPDFとデータ取り込みコードが含まれている。アプリケーションはフォルダーの内容を自動的に比較し、それに応じてベクターストアを更新する。
ただし、指摘されているように大きなデータ・ファイルはエラーや遅延につながる可能性があるため、開発者はAIモデル・プロバイダのクォータやレート制限に注意が必要だ。
プロダクトチームは以下の点を強調している:
コードはMicrosoft.Extensions.AIを使用して構築されており、カスタム動作を簡単に組み込むことができます。チャットボットに任意のC#関数を呼び出すアクセス権限を与えることができます。これにより追加データを取得したり、アクションを実行したりする能力を拡張できます。
今後、Microsoft社の開発チームはテンプレートの提供範囲を拡大する予定だ。今後のアップデートにはAIコンソールテンプレート、Minimal APIテンプレート、.NET Aspireのサポートが含まれる。さらに、これらのテンプレートを.NET SDKにデフォルトで含めることや、Azure AI Foundryのサポートを検討する計画もある。
最後に、Microsoft社はSemantic Kernelチームと協力して、Semantic Kernelユーザー向けのテンプレート・オプションの拡張を進めている。