AI Toolkit for VS Code 結合了最前沿的 AI 開發工具以及來自 Azure AI Foundry Catalog 和其他平台(如 Hugging Face)的模型,簡化了生成式 AI 應用的開發。您可以瀏覽由 GitHub Models 和 Azure AI Foundry Model Catalogs 提供的 AI 模型目錄,將模型下載到本地或遠端進行微調、測試並在您的應用程式中使用。
AI Toolkit 預覽版將在本地運行。本地推理或微調取決於您選擇的模型,您可能需要具備如 NVIDIA CUDA GPU 的 GPU。您也可以直接使用 AITK 運行 GitHub Models。
了解如何安裝 Windows Subsystem for Linux
-
Windows、Linux、macOS
-
若要在 Windows 和 Linux 上進行微調,您需要一塊 Nvidia GPU。此外,Windows 還需要安裝 Ubuntu 18.4 或更高版本的 Linux 子系統。了解如何安裝 Windows Subsystem for Linux以及更改預設的 Linux 發行版。
AI Toolkit 是以 Visual Studio Code 擴充套件 的形式提供的,因此您需要先安裝 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 Vs 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 附帶了一個本地 REST API 網頁伺服器,位於 5272 埠,並使用 OpenAI chat completions 格式。
這使您可以在本地測試應用程式,而不必依賴雲端 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 進行翻譯。我們努力確保翻譯的準確性,但請注意,機器翻譯可能包含錯誤或不精確之處。原始語言的文件應被視為權威來源。對於重要信息,建議尋求專業人工翻譯。我們不對因使用此翻譯而產生的任何誤解或錯誤解釋負責。