Visual Studio Code 可以将 Chat 视图连接到与 OpenAI 兼容、用于本地托管模型的推理端点。 该端点可以在与 Visual Studio Code 相同的 Windows 11 设备上运行,也可以在 Windows Server 上运行,以便一个或多个远程 Windows 11 客户端访问。 这些拓扑结构让你可以在开发者设备上保留推理,或集中管理模型计算,而无需在 Windows Server 上运行 Visual Studio Code。
在本文中,你需要在 Visual Studio Code 中将一个已有端点作为自定义端点添加,选择其模型,并验证模型是否响应。 该过程假设推理端点已经运行并可从 Visual Studio Code 访问。
本地和远程模型端点的前提条件
- 下载当前稳定版的Visual Studio Code,并确保你能访问聊天视图。
- 一个现有的与 OpenAI 兼容的端点,支持 Chat Completions API,并且可从运行 Visual Studio Code 的计算机访问。
- 对于托管在 Windows Server 上的远程端点,从 Windows 11 客户端到服务器及端点端口的网络连接。 配置Windows防火墙以及任何中间的防火墙或代理,以允许连接。 将端点配置为在远程客户端可访问的网络接口上监听,而不仅仅是在环回地址上监听。
- 对于使用主机名的远程终结点,这是可以被 Windows 11 客户端解析为 Windows Server 主机的域名系统 (DNS) 记录。
- 对于远程 HTTPS 端点,需要使用有效的 TLS 证书,且该证书必须受 Windows 11 客户端信任,并且其主体名称或使用者可选名称必须与端点 URL 中的主机名匹配。
- 允许 Windows 11 客户端调用 Chat Completions 路由的端点访问控制。 从端点管理员那里获取任何必需的API密钥或令牌。
- 对于相同设备推断,这是终结点公开的 Loopback URL,如
http://localhost:<port>/v1/chat/completions。 - 对于远程推理,使用受信任的HTTPS URL,如
https://<server-name>:<port>/v1/chat/completions。 - 具体模型ID;模型显示名称,Visual Studio Code在语言模型选择器中显示;上下文限制;以及端点所有者或模型文档中支持的功能。
- 该端点的身份验证标头要求。
- 如果您的组织管理 GitHub Copilot,必须启用 VS Code 中的“自带语言模型密钥”策略。 有关详细信息,请参阅 在 VS Code 中使用自己的语言模型密钥。
你不需要 GitHub 账号或 GitHub Copilot 计划就能在聊天中使用自带密钥模型。 该定制端点不提供依赖于 GitHub Copilot 服务的功能,包括内联建议、语义搜索和嵌入。
添加自定义本地或远程模型端点
同样的过程支持同一 Windows 11 设备上的端点,或 Windows Server 上的远程兼容 OpenAI 端点。 Visual Studio Code 连接到一个端点 URL,端点服务负责管理后端推理的分发。
在 Visual Studio Code 中,打开聊天视图。
打开 语言模型选择器,然后选择 “管理语言模型 ”(齿轮图标)。
你也可以打开 命令面板 ,运行 聊天:管理语言模型。
在 语言模型 编辑器中,选择 添加模型,然后选择 自定义端点。
输入一个团体名称。 该名称用于识别语言模型选择器和语言模型编辑器中的端点模型。
输入模型显示名和端点的API密钥。
对于 API 类型,请选择 Chat Completions。
在
chatLanguageModels.jsonVisual Studio Code 打开的文件中,配置模型属性,然后保存文件。使用端点和模型文档来设置属性。 至少,确认以下数值:
财产 价值 id端点所期望的确切模型 ID。 nameVisual Studio Code 在语言模型选择器中显示的模型显示名称。 url完整路径,例如 https://<server-name>:<port>/v1/chat/completions。apiTypechat-completionstoolCallingtrue仅当端点和模型支持工具调用时。visiontrue仅在端点和模型支持图像输入时才可用。maxInputTokens该模型支持的最大输入标记数。 maxOutputTokens该模型支持的最大输出令牌数。 保留生成
apiKey的输入引用,而不是直接把 API 密钥放进chatLanguageModels.json。 Visual Studio Code 默认会在 Chat Completions 自定义端点的Authorization: Bearer <api-key>标头中发送该密钥。如果端点需要不同的认证头,则配置模型
requestHeaders属性,并使用${apiKey}令牌作为头值。 不要在配置文件里放置原始秘密。 有关支持的属性和认证行为,请参见自定义端点配置参考。
选择并验证本地或远程端点模型
返回 聊天 视图,打开 语言模型选择器。
选择你配置的组名下的型号。
输入一个简短的测试提示,比如:
Reply with one sentence that confirms you received this request.确认 聊天 视图显示所选模型的回复。
如果你能访问推理端点日志,确认端点是否收到了配置型号ID的请求。
当所选模型返回响应且端点记录请求时,配置正常运行。
注意
模型必须支持工具调用,才能在聊天中供代理使用。 除非端点和模型支持该功能,否则不要将 toolCalling 设置为 true。
在 Visual Studio Code 中排查本地和远程模型端点
| 问题 | 需要检查的事项 |
|---|---|
| 自定义端点不可用 | 更新至当前稳定版的 Visual Studio Code。 如果您的组织管理 GitHub Copilot,请确认您的组织启用了自带密钥策略。 |
| 模型不会出现在模型选择器里 | 保存chatLanguageModels.json,然后重启 Visual Studio Code。 在 受限模式下的工作区中,信任工作区会恢复完整的模型列表。 对于代理使用场景,还要确认模型支持工具调用,并且 toolCalling 为 true。 |
| 端点返回认证错误 | 确认API密钥是当前的,且其认证头部符合端点要求。 如果端点需要另一个头部,就用${apiKey}令牌配置requestHeaders。 |
| 端点返回路由或API错误 | 确认 apiType 为 url,并且 /v1/chat/completions 包含完整的 Chat Completions 路由;当该端点公开该路由时,还应包括 chat-completions。 |
| 远程客户端无法连接到该端点 | 确认Windows 11客户端能否解析服务器主机名称并访问终端端口。 检查终端监听者地址、Windows防火墙以及任何中间的防火墙或代理。 |
| 远程端点返回TLS或证书错误 | 确认证书有效,Windows 11客户端信任它,并且终端URL覆盖了主机名。 |
| 端点拒绝远程客户端 | 确认端点访问控制允许客户端调用聊天完成路由,并且配置的凭证是否能访问所请求的模型。 |
| 请求到达端点但推理失败 | 确认模型ID与端点的模型ID完全匹配,且端点支持所请求的模型能力。 查看终端日志,查找请求失败的情况。 |