このクイック スタートでは、.NET AI アプリ テンプレートを使用してカスタム データとチャットする .NET AI アプリを作成する方法について説明します。 このテンプレートは、一般的なセットアップ タスクと構成を処理することで、.NET で AI アプリを構築するための作業の開始エクスペリエンスを効率化するように設計されています。
前提 条件
- .NET 9.0 SDK - .NET 9.0 SDK をインストールする
- Visual Studio 2022 - Visual Studio 2022 のインストール (省略可能)、または
- Visual Studio Code - Visual Studio Code をインストールする (省略可能)
- C# DevKit - C# Dev Kit 拡張機能をインストール
.NET AI アプリ テンプレートをインストールする
AI Chat Web App テンプレートは、NuGet を通じてテンプレート パッケージとして使用できます。 dotnet new install
コマンドを使用してパッケージをインストールします。
dotnet new install Microsoft.Extensions.AI.Templates
.NET AI アプリを作成する
AI アプリ テンプレートをインストールしたら、それらを使用して、Visual Studio UI、Visual Studio Code、または .NET CLI を使用してスターター アプリを作成できます。
- Visual Studio で、[ファイル] > [新しい > プロジェクト] に移動します。
- [新しいプロジェクト の作成] 画面で、AI チャット Web アプリのを検索します。 一致する結果を選択し、次に [次へ]を押します。
- [新しいプロジェクト の構成] 画面で、プロジェクトの目的の名前と場所を入力し、[次へ] 選択します。
- 追加情報 画面で、次の手順を実行します。
- [フレームワーク] オプションで [.NET 9.0] を選択します。
- [AI サービス プロバイダー] オプションで [GitHub モデル] を選択します。
- [ベクトル ストア] オプションで [ローカル オンディスク (プロトタイプ作成用)] を選択します。
- [作成] を選択してプロセスを完了します。
サンプル アプリを調べる
作成したサンプル アプリは、一般的な AI およびデータ サービスで事前構成された Blazor Interactive Server Web アプリです。 アプリは、次の懸念事項を処理します。
- AI の使用を開始するのに役立つ、
Microsoft.Extensions.AI
ファイルに不可欠なcsproj
パッケージとその他の依存関係が含まれています。 - さまざまな AI サービスを作成し、
Program.cs
ファイルに依存関係の挿入に登録します。- 生成 AI モデルとやり取りする
IChatClient
サービス - ベクター検索機能に不可欠な埋め込みの生成に使用される
IEmbeddingGenerator
サービス - メモリ内で動作するベクトルストアとしての
JsonVectorStore
- 生成 AI モデルとやり取りする
- SQLite データベース コンテキスト サービスを登録して、ドキュメントの取り込み処理を行います。 アプリは、指定されたサンプル ファイルを含め、プロジェクトの
Data
フォルダーに追加したドキュメントを取り込むよう事前構成されています。 - Blazor コンポーネントを使用して完全なチャット UI を提供します。 UI は、AI 応答の豊富な書式設定を処理し、応答データの引用などの機能を提供します。
GitHub モデルへのアクセスを構成する
コードから GitHub モデルに対して認証を行うには、GitHub 個人用アクセス トークンを作成する必要があります。
- GitHub アカウント設定の 個人用アクセス トークン ページに移動します。
- [新しいトークンの生成] を選択します。
- トークン名 を入力し、ページの下部にある [トークン生成] を選択します。
- 前の手順で使用するトークンをコピーします。
アプリを構成する
AI Chat Web App アプリは、作成されるとほとんどすぐに使用できます。 ただし、GitHub Modelsfor 用に設定した個人用アクセス トークンを使用するようにアプリを構成する必要があります。 既定では、アプリ テンプレートはプロジェクトのローカル .NET ユーザー シークレットでこの値を検索します。 Visual Studio UI または .NET CLI を使用して、ユーザー シークレットを管理できます。
Visual Studio で、ソリューション エクスプローラーでプロジェクトを右クリックし、[ユーザー シークレットの管理] を選択します。 これにより、ソース管理で追跡されずに API キーを格納できる
secrets.json
ファイルが開きます。次のキーと値を追加します。
{ "GitHubModels:Token": "<your-personal-access-token>" }
既定では、アプリ テンプレートは gpt-4o-mini
モデルと text-embedding-3-small
モデルを使用します。 他のモデルを試すには、Program.cs
の名前パラメーターを更新します。
var chatClient = ghModelsClient.AsChatClient("gpt-4o-mini");
var embeddingGenerator = ghModelsClient.AsEmbeddingGenerator("text-embedding-3-small");
前提 条件
- .NET 9.0 SDK - .NET 9.0 SDK をインストールする
- Visual Studio 2022 - Visual Studio 2022 のインストール (省略可能)、または
- Visual Studio Code - Visual Studio Code をインストールする (省略可能)
- C# DevKit - C# Dev Kit 拡張機能をインストール
.NET AI アプリ テンプレートをインストールする
AI Chat Web App テンプレートは、NuGet を通じてテンプレート パッケージとして使用できます。 dotnet new install
コマンドを使用してパッケージをインストールします。
dotnet new install Microsoft.Extensions.AI.Templates
.NET AI アプリを作成する
AI アプリ テンプレートをインストールしたら、それらを使用して、Visual Studio UI、Visual Studio Code、または .NET CLI を使用してスターター アプリを作成できます。
- Visual Studio で、[ファイル] > [新しい > プロジェクト] に移動します。
- [新しいプロジェクト の作成] 画面で、AI チャット Web アプリのを検索します。 一致する結果を選択し、次に [次へ]を押します。
- [新しいプロジェクト の構成] 画面で、プロジェクトの目的の名前と場所を入力し、[次へ] 選択します。
- 追加情報 画面で、次の手順を実行します。
- [フレームワーク] オプションで [.NET 9.0] を選択します。
- [AI サービス プロバイダー] オプションで [Azure OpenAI] を選択します。
- [Azure サービスにキーレス認証を使用する] チェック ボックスがオンになっていることを確認します。
- [ベクトル ストア] オプションで [ローカル オンディスク (プロトタイプ作成用)] を選択します。
- [作成] を選択してプロセスを完了します。
サンプル アプリを調べる
作成したサンプル アプリは、一般的な AI およびデータ サービスで事前構成された Blazor Interactive Server Web アプリです。 アプリは、次の懸念事項を処理します。
- AI の使用を開始するのに役立つ、
Microsoft.Extensions.AI
ファイルに不可欠なcsproj
パッケージとその他の依存関係が含まれています。 - さまざまな AI サービスを作成し、
Program.cs
ファイルに依存関係の挿入に登録します。- 生成 AI モデルとやり取りする
IChatClient
サービス - ベクター検索機能に不可欠な埋め込みの生成に使用される
IEmbeddingGenerator
サービス - メモリ内で動作するベクトルストアとしての
JsonVectorStore
- 生成 AI モデルとやり取りする
- SQLite データベース コンテキスト サービスを登録して、ドキュメントの取り込み処理を行います。 アプリは、指定されたサンプル ファイルを含め、プロジェクトの
Data
フォルダーに追加したドキュメントを取り込むよう事前構成されています。 - Blazor コンポーネントを使用して完全なチャット UI を提供します。 UI は、AI 応答の豊富な書式設定を処理し、応答データの引用などの機能を提供します。
Azure OpenAI サービスを作成して認証する
Azure OpenAI で .NET AI テンプレートを使用するには、Azure OpenAI サービスを作成して認証する必要があります。
Azure OpenAI サービスを作成する
Azure OpenAI サービス リソース をまだ作成していない場合は作成します。
gpt-4o-mini
モデルとtext-embedding-3-small
モデルを Azure OpenAI サービス リソースにデプロイします。 これらのデプロイを作成するときは、既定のテンプレート値と一致するように、モデル (gpt-4o-mini
とtext-embedding-3-small
) と同じ名前を付けます。 モデルをデプロイする方法については、「Azure OpenAI ドキュメント リソース を作成する」を参照してください。
Azure OpenAI サービスに対する認証
AI テンプレートは、シームレスなキーレス認証に Microsoft Entra ID を使用します。 DefaultAzureCredential
を利用して、ローカルで実行するときに開発ツールから資格情報を自動的に検出して利用します。 サービスに接続するには、開発者アカウントに適切なロールが割り当てられ、ローカル開発ツールにサインインしていることを確認します。
Azure OpenAI リソースにアクセスするためのロールを開発者アカウントに割り当てます。
ロールを割り当てた Azure アカウントを使用して、Visual Studio や Azure CLI などの
Azure AI Developer
します。
アプリを構成する
AI Chat Web App アプリは、作成されるとほとんどすぐに使用できます。 ただし、アプリの接続先となる Azure OpenAI サービスのエンドポイントを指定する必要があります。 既定では、アプリ テンプレートはプロジェクトのローカル .NET ユーザー シークレットでこの値を検索します。 Visual Studio UI または .NET CLI を使用して、ユーザー シークレットを管理できます。
手記
認証エラーを回避するには、Azure OpenAI リソースで azure AI Developer ロール 割り当てられているユーザーを使用して、Visual Studio または Azure CLI にサインインしていることを確認します。
Visual Studio で、ソリューション エクスプローラーでプロジェクトを右クリックし、[ユーザー シークレットの管理] を選択します。 これにより、ソース管理で追跡されずに API キーを格納できる
secrets.json
ファイルが開きます。次のキーと値を追加します。
{ "AzureOpenAi:Endpoint": "<your-endpoint>" }
既定では、アプリ テンプレートは、AI モデルのデプロイ名が基になるモデルと同じであることを前提としています。 必要に応じて、gpt-4o-mini
と text-embedding-3-small
のデプロイ名と一致するようにデプロイ名パラメーターを更新します。
// Update these parameter values to match your Azure OpenAI model deployment names
var chatClient = azureOpenAi.AsChatClient("gpt-4o-mini");
var embeddingGenerator = azureOpenAi.AsEmbeddingGenerator("text-embedding-3-small");
前提 条件
- .NET 9.0 SDK - .NET 9.0 SDK をインストールする
- Visual Studio 2022 - Visual Studio 2022 のインストール (省略可能)、または
- Visual Studio Code - Visual Studio Code をインストールする (省略可能)
- C# DevKit - C# Dev Kit 拡張機能をインストール
- OpenAI サービス および対応する API キーへのアクセス。
.NET AI アプリ テンプレートをインストールする
AI Chat Web App テンプレートは、NuGet を通じてテンプレート パッケージとして使用できます。 dotnet new install
コマンドを使用してパッケージをインストールします。
dotnet new install Microsoft.Extensions.AI.Templates
.NET AI アプリを作成する
AI アプリ テンプレートをインストールしたら、それらを使用して、Visual Studio UI、Visual Studio Code、または .NET CLI を使用してスターター アプリを作成できます。
- Visual Studio で、[ファイル] > [新しい > プロジェクト] に移動します。
- [新しいプロジェクト の作成] 画面で、AI チャット Web アプリのを検索します。 一致する結果を選択し、次に [次へ]を押します。
- [新しいプロジェクト の構成] 画面で、プロジェクトの目的の名前と場所を入力し、[次へ] 選択します。
- 追加情報 画面で、次の手順を実行します。
- [フレームワーク] オプションで [.NET 9.0] を選択します。
- オプションで AI サービス プロバイダーとして、[OpenAI] を選択します。
- [ベクトル ストア] オプションで [ローカル オンディスク (プロトタイプ作成用)] を選択します。
- [作成] を選択してプロセスを完了します。
サンプル アプリを調べる
作成したサンプル アプリは、一般的な AI およびデータ サービスで事前構成された Blazor Interactive Server Web アプリです。 アプリは、次の懸念事項を処理します。
- AI の使用を開始するのに役立つ、
Microsoft.Extensions.AI
ファイルに不可欠なcsproj
パッケージとその他の依存関係が含まれています。 - さまざまな AI サービスを作成し、
Program.cs
ファイルに依存関係の挿入に登録します。- 生成 AI モデルとやり取りする
IChatClient
サービス - ベクター検索機能に不可欠な埋め込みの生成に使用される
IEmbeddingGenerator
サービス - メモリ内で動作するベクトルストアとしての
JsonVectorStore
- 生成 AI モデルとやり取りする
- SQLite データベース コンテキスト サービスを登録して、ドキュメントの取り込み処理を行います。 アプリは、指定されたサンプル ファイルを含め、プロジェクトの
Data
フォルダーに追加したドキュメントを取り込むよう事前構成されています。 - Blazor コンポーネントを使用して完全なチャット UI を提供します。 UI は、AI 応答の豊富な書式設定を処理し、応答データの引用などの機能を提供します。
アプリを構成する
AI Chat Web App アプリは、作成されるとほとんどすぐに使用できます。 ただし、アプリが接続と認証に使用する OpenAI サービスのキーを指定する必要があります。 既定では、アプリ テンプレートはプロジェクトのローカル .NET ユーザー シークレットでこの値を検索します。 Visual Studio UI または .NET CLI を使用して、ユーザー シークレットを管理できます。
Visual Studio で、ソリューション エクスプローラーでプロジェクトを右クリックし、[ユーザー シークレットの管理] を選択します。 これにより、ソース管理で追跡されずに API キーを格納できる
secrets.json
ファイルが開きます。次のキーと値を追加します。
{ "OpenAi:Key": "<your-OpenAI-key>" }
既定では、アプリ テンプレートは特定の AI モデルを使用することを前提としています。 必要に応じて、対象とするモデルと一致するようにモデル名パラメーターを更新します。
// Update these parameter values to match your preferred OpenAI models
var chatClient = openAIClient.AsChatClient("gpt-4o-mini");
var embeddingGenerator = openAIClient.AsEmbeddingGenerator("text-embedding-3-small");
前提 条件
- .NET 9.0 SDK - .NET 9.0 SDK をインストールする
- Visual Studio 2022 - Visual Studio 2022 のインストール (省略可能)、または
- Visual Studio Code - Visual Studio Code をインストールする (省略可能)
- C# DevKit - C# Dev Kit 拡張機能をインストール
- Ollama がローカルにインストールされている - デバイスに Ollama をローカルにインストールする
.NET AI アプリ テンプレートをインストールする
AI Chat Web App テンプレートは、NuGet を通じてテンプレート パッケージとして使用できます。 dotnet new install
コマンドを使用してパッケージをインストールします。
dotnet new install Microsoft.Extensions.AI.Templates
.NET AI アプリを作成する
AI アプリ テンプレートをインストールしたら、それらを使用して、Visual Studio UI、Visual Studio Code、または .NET CLI を使用してスターター アプリを作成できます。
- Visual Studio で、[ファイル] > [新しい > プロジェクト] に移動します。
- [新しいプロジェクト の作成] 画面で、AI チャット Web アプリのを検索します。 一致する結果を選択し、次に [次へ]を押します。
- [新しいプロジェクト の構成] 画面で、プロジェクトの目的の名前と場所を入力し、[次へ] 選択します。
- 追加情報 画面で、次の手順を実行します。
- [フレームワーク] オプションで [.NET 9.0] を選択します。
- [AI サービス プロバイダー] オプションで [Ollama] を選択します。
- [ベクトル ストア] オプションで [ローカル オンディスク (プロトタイプ作成用)] を選択します。
- [作成] を選択してプロセスを完了します。
サンプル アプリを調べる
作成したサンプル アプリは、一般的な AI およびデータ サービスで事前構成された Blazor Interactive Server Web アプリです。 アプリは、次の懸念事項を処理します。
- AI の使用を開始するのに役立つ、
Microsoft.Extensions.AI
ファイルに不可欠なcsproj
パッケージとその他の依存関係が含まれています。 - さまざまな AI サービスを作成し、
Program.cs
ファイルに依存関係の挿入に登録します。- 生成 AI モデルとやり取りする
IChatClient
サービス - ベクター検索機能に不可欠な埋め込みの生成に使用される
IEmbeddingGenerator
サービス - メモリ内で動作するベクトルストアとしての
JsonVectorStore
- 生成 AI モデルとやり取りする
- SQLite データベース コンテキスト サービスを登録して、ドキュメントの取り込み処理を行います。 アプリは、指定されたサンプル ファイルを含め、プロジェクトの
Data
フォルダーに追加したドキュメントを取り込むよう事前構成されています。 - Blazor コンポーネントを使用して完全なチャット UI を提供します。 UI は、AI 応答の豊富な書式設定を処理し、応答データの引用などの機能を提供します。
アプリを構成する
AI Chat Web App アプリは、作成されるとほとんどすぐに使用できます。 ただし、アプリを実行する前に、特定の構成がニーズと一致することを確認する必要があります。
ローカル ターミナル ウィンドウで、
ollama serve
コマンドを使用して Ollama がコンピューター上で実行されていることを確認します。ollama serve
既定では、アプリ テンプレートは既定の Ollama ホスト アドレス (
http://localhost:11434
) を対象とし、llama3.2
とall-minilm
AI モデルの使用を想定しています。 次のコマンドを使用して、これらのモデルをデバイスにプルします。ollama pull llama3.2 ollama pull all-minilm
代替モデルを使用する場合は、同じ
ollama pull
コマンドを使用してこれらのモデルをプルダウンします。クライアント構成コードのパラメーターが、お好みのモデルと一致するかどうかを確認します。
// Update these parameter values to match your preferred OpenAI models IChatClient chatClient = new OllamaApiClient( new Uri("http://localhost:11434"), "llama3.2"); IEmbeddingGenerator<string, Embedding<float>> embeddingGenerator = new OllamaApiClient( new Uri("http://localhost:11434"), "all-minilm");
アプリを実行してテストする
Visual Studio の上部にある実行ボタンを選択して、アプリを起動します。 しばらくすると、ブラウザーに次の UI 読み込みが表示されます。
「生存キットの重要なツールは何ですか」などの入力ボックスにプロンプトを入力、サンプル ファイルから取り込まれたデータに関する質問を AI モデルに問い合わせてください。
アプリは質問に対する回答を返し、データが見つかった場所の引用を提供します。 引用文献の 1 つをクリックすると、サンプル ファイルの関連セクションに移動できます。
次の手順
.NET