VS Code用AI Toolkitは、Azure AI Foundry CatalogやHugging Faceなどのカタログから最新のAI開発ツールやモデルを組み合わせることで、生成AIアプリの開発を簡素化します。GitHub ModelsやAzure AI Foundry Model Catalogsを利用したAIモデルカタログを閲覧し、ローカルまたはリモートでダウンロード、微調整、テスト、そしてアプリケーションで使用することができます。
AI Toolkit Previewはローカルで実行されます。選択したモデルによっては、ローカル推論や微調整にNVIDIA CUDA GPUなどのGPUが必要になる場合があります。また、GitHub ModelsをAITKで直接実行することも可能です。
Windows Subsystem for Linuxのインストール方法を学ぶ
-
Windows、Linux、macOS対応
-
WindowsとLinuxの両方で微調整を行うには、Nvidia GPUが必要です。さらに、WindowsではUbuntuディストリビューション18.4以上を備えたLinuxのサブシステムが必要です。Windows Subsystem for Linuxのインストール方法を学ぶとデフォルトのディストリビューションを変更する方法。
AI ToolkitはVisual Studio Code Extensionとして提供されているため、まずVS Codeをインストールし、VS MarketplaceからAI Toolkitをダウンロードする必要があります。 AI ToolkitはVisual Studio Marketplaceで利用可能で、他のVS Code拡張機能と同様にインストールできます。
VS Code拡張機能のインストールに不慣れな場合は、以下の手順を参考にしてください:
- VS CodeのアクティビティバーでExtensionsを選択します。
- Extensions検索バーに「AI Toolkit」と入力します。
- 「AI Toolkit for Visual Studio Code」を選択します。
- Installを選択します。
これで拡張機能を使用する準備が整いました!
GitHubへのサインインを求められるので、「Allow」をクリックして続行してください。GitHubのサインインページにリダイレクトされます。
サインインして手順に従ってください。成功すると、VS Codeにリダイレクトされます。
拡張機能がインストールされると、AI Toolkitアイコンがアクティビティバーに表示されます。
利用可能なアクションを見てみましょう!
AI Toolkitの主要なサイドバーは以下のセクションで構成されています:
- Models
- Resources
- Playground
- Fine-tuning
- Evaluation
これらはResourcesセクションで利用可能です。まずModel Catalogを選択して始めましょう。
VS CodeのサイドバーからAI Toolkitを起動すると、以下のオプションを選択できます:
- Model Catalogから対応するモデルを見つけてローカルにダウンロード
- Model Playgroundでモデル推論をテスト
- Model Fine-tuningでモデルをローカルまたはリモートで微調整
- AI Toolkitのコマンドパレットを使って微調整済みモデルをクラウドにデプロイ
- モデルの評価
Note
GPUとCPU
モデルカードにはモデルサイズ、プラットフォーム、アクセラレータタイプ(CPU、GPU)が表示されます。GPUを搭載したWindowsデバイスで最適化されたパフォーマンスを得るには、Windowsを対象としたモデルバージョンを選択してください。
これにより、DirectMLアクセラレータに最適化されたモデルを使用できます。
モデル名は以下の形式です:
{model_name}-{accelerator}-{quantization}-{format}
.
WindowsデバイスにGPUがあるかどうか確認するには、Task Managerを開き、Performanceタブを選択してください。GPUがある場合、「GPU 0」や「GPU 1」のような名前で表示されます。
すべてのパラメータが設定されたら、Generate Projectをクリックします。
モデルをダウンロードした後、カタログ内のモデルカードでLoad in Playgroundを選択します:
- モデルダウンロードを開始
- すべての前提条件と依存関係をインストール
- VS Codeワークスペースを作成
AI Toolkitは、OpenAIのチャット完了形式を使用するローカルREST APIウェブサーバーをポート5272で提供します。
これにより、クラウドAIモデルサービスに依存せずにアプリケーションをローカルでテストできます。例えば、以下のJSONファイルはリクエストの本文を設定する方法を示しています:
{
"model": "Phi-4",
"messages": [
{
"role": "user",
"content": "what is the golden ratio?"
}
],
"temperature": 0.7,
"top_p": 1,
"top_k": 10,
"max_tokens": 100,
"stream": true
}
PostmanやCURL(Client URL)ユーティリティを使用してREST APIをテストすることができます:
curl -vX POST http://127.0.0.1:5272/v1/chat/completions -H 'Content-Type: application/json' -d @body.json
from openai import OpenAI
client = OpenAI(
base_url="http://127.0.0.1:5272/v1/",
api_key="x" # required for the API but not used
)
chat_completion = client.chat.completions.create(
messages=[
{
"role": "user",
"content": "what is the golden ratio?",
}
],
model="Phi-4",
)
print(chat_completion.choices[0].message.content)
NuGetを使用してプロジェクトにAzure OpenAIクライアントライブラリ for .NETを追加します:
dotnet add {project_name} package Azure.AI.OpenAI --version 1.0.0-beta.17
プロジェクトにOverridePolicy.csという名前のC#ファイルを追加し、以下のコードを貼り付けます:
// OverridePolicy.cs
using Azure.Core.Pipeline;
using Azure.Core;
internal partial class OverrideRequestUriPolicy(Uri overrideUri)
: HttpPipelineSynchronousPolicy
{
private readonly Uri _overrideUri = overrideUri;
public override void OnSendingRequest(HttpMessage message)
{
message.Request.Uri.Reset(_overrideUri);
}
}
次に、以下のコードをProgram.csファイルに貼り付けます:
// Program.cs
using Azure.AI.OpenAI;
Uri localhostUri = new("http://localhost:5272/v1/chat/completions");
OpenAIClientOptions clientOptions = new();
clientOptions.AddPolicy(
new OverrideRequestUriPolicy(localhostUri),
Azure.Core.HttpPipelinePosition.BeforeTransport);
OpenAIClient client = new(openAIApiKey: "unused", clientOptions);
ChatCompletionsOptions options = new()
{
DeploymentName = "Phi-4",
Messages =
{
new ChatRequestSystemMessage("You are a helpful assistant. Be brief and succinct."),
new ChatRequestUserMessage("What is the golden ratio?"),
}
};
StreamingResponse<StreamingChatCompletionsUpdate> streamingChatResponse
= await client.GetChatCompletionsStreamingAsync(options);
await foreach (StreamingChatCompletionsUpdate chatChunk in streamingChatResponse)
{
Console.Write(chatChunk.ContentUpdate);
}
- モデルの発見とPlaygroundから始めましょう。
- ローカルコンピューティングリソースを使用したモデルの微調整と推論。
- Azureリソースを使用したリモート微調整と推論。
一般的な問題と解決策については、Q&Aページを参照してください。
免責事項:
この文書は、AI翻訳サービス Co-op Translator を使用して翻訳されています。正確性を追求していますが、自動翻訳には誤りや不正確さが含まれる可能性があることにご注意ください。元の言語で作成された文書が正式な情報源と見なされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用により生じた誤解や誤認について、当社は責任を負いません。