Chapter 12
AITK 中的 Phi 家族
AITK 中的 Phi 家族
AI Toolkit for VS Code 通过整合来自 Microsoft Foundry 目录和其他如 Hugging Face 的目录中的前沿 AI 开发工具和模型,简化了生成式 AI 应用开发。您将能够浏览由 GitHub 模型和 Microsoft Foundry 模型目录支持的 AI 模型目录,本地或远程下载它们,进行微调、测试并在您的应用程序中使用。
AI Toolkit 预览版将在本地运行。本地推理或微调取决于您选择的模型,您可能需要具备 NVIDIA CUDA GPU 等 GPU。您也可以直接使用 AITK 运行 GitHub 模型。
入门指南
以及更改默认发行版。
-
支持 Windows、Linux、macOS
-
若要在 Windows 和 Linux 上进行微调,您需要 Nvidia GPU。此外,Windows 需要安装带有 Ubuntu 18.4 或更高版本发行版的 Linux 子系统。了解如何安装 Windows 子系统 for Linux 和 更改默认发行版。
安装 AI Toolkit
AI Toolkit 作为 Visual Studio Code 扩展发布,因此您需要先安装 VS Code,然后从 VS Marketplace 下载 AI Toolkit。 AI Toolkit 可在 Visual Studio Marketplace 获取,安装方式与其他 VS Code 扩展相同。
如果您对安装 VS Code 扩展不熟悉,请参照以下步骤:
登录
- 在 VS Code 的活动栏中选择 扩展
- 在扩展搜索栏中输入 “AI Toolkit”
- 选择 “AI Toolkit for Visual Studio code”
- 选择 安装
现在,您已准备好使用该扩展!
系统将提示您登录 GitHub,请点击“允许”继续。您将被重定向到 GitHub 登录页面。
请登录并按照流程完成操作。成功后,您将被重定向回 VS Code。
扩展安装完成后,您将在活动栏看到 AI Toolkit 的图标。
让我们一起探索可用操作吧!
可用操作
AI Toolkit 的主侧边栏分为
- 模型
- 资源
- 游乐场
- 微调
- 评估
可在资源部分访问。开始使用时请选择 模型目录。
从目录中下载模型
启动 AI Toolkit 后,您可以在 VS Code 侧边栏选择以下选项:

- 从 模型目录 找到支持的模型并下载到本地
- 在 模型游乐场 测试模型推理
- 本地或远程进行 模型微调
- 通过 AI Toolkit 命令面板将微调好的模型部署到云端
- 评估模型
[!NOTE]
GPU 与 CPU
您会注意到模型卡片展示了模型大小、平台和加速器类型(CPU、GPU)。为了在具备至少一块 GPU 的 Windows 设备上获得最佳性能,请选择仅针对 Windows 的模型版本。
这保证您获得针对 DirectML 加速器优化的模型。
模型名称格式为:
{model_name}-{accelerator}-{quantization}-{format}。要查看您的 Windows 设备是否具备 GPU,请打开 任务管理器,然后选择 性能 标签。如果有 GPU,它们会列在 “GPU 0” 或 “GPU 1”等名称下。
在游乐场运行模型
设置好所有参数后,点击 生成项目。
模型下载完成后,在目录中的模型卡片上选择 在游乐场加载:
- 启动模型下载
- 安装所有前置条件和依赖项
- 创建 VS Code 工作区

在您的应用中使用 REST API
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(客户端 URL)工具测试 REST API:
curl -vX POST http://127.0.0.1:5272/v1/chat/completions -H 'Content-Type: application/json' -d @body.json使用 OpenAI Python 客户端库
from openai import OpenAI
client = OpenAI(
base_url="http://127.0.0.1:5272/v1/",
api_key="x" # API所需但未使用
)
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)使用 .NET Azure OpenAI 客户端库
使用 NuGet 将 Azure OpenAI .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);
}使用 AI Toolkit 进行微调
- 从模型发现和游乐场开始。
- 使用本地计算资源进行模型微调和推理。
- 使用 Azure 资源进行远程微调和推理。
AI Toolkit Q&A 资源
有关常见问题及解决方案,请参阅我们的 Q&A 页面
免责声明:
本文件使用人工智能翻译服务 Co-op Translator 进行翻译。尽管我们力求准确,但请注意,自动翻译可能包含错误或不准确之处。原文的母语版本应被视为权威来源。对于重要信息,建议采用专业人工翻译。对于因使用本翻译而引起的任何误解或误读,我们概不负责。
