GitHub Copilot Chat 如何添加自定义端点模型?

添加自定义端点模型

自定义端点提供程序允许您将任何兼容的 API 端点连接到 VS Code 中的聊天。它支持三种 API 类型,您可以为每个模型选择:聊天补全、响应和消息。

通过自定义端点提供程序添加模型:

  1. 从语言模型选择器中选择"管理语言模型"(齿轮图标),或通过命令面板运行"Chat: Manage Language Models"命令,打开语言模型编辑器。
  2. 选择"添加模型",然后从列表中选择"Custom Endpoint"。
  3. 输入模型组名称。这是在模型选择器和语言模型编辑器中显示的分组标签。
    如果需要,您稍后可以在语言模型编辑器中更改组名称。
  4. 输入端点的显示名称和 API 密钥。
  5. 选择 API 类型:Chat Completions、Responses 或 Messages。确保模型支持此 API 类型。
  6. VS Code 打开一个 chatLanguageModels.json 文件,您可以在其中配置模型详情。更新模型属性并保存文件。有关配置属性的详细信息,请参阅模型配置参考

以下示例展示了针对 Anthropic 端点的消息 API 配置:

json 复制代码
[
  {
    "name": "Anthropic",
    "vendor": "customendpoint",
    "apiKey": "YOUR_API_KEY",
    "apiType": "messages",
    "models": [
      {
        "id": "claude-sonnet-4-6",
        "name": "Claude Sonnet 4.6",
        "url": "https://api.anthropic.com/v1/messages",
        "toolCalling": true,
        "vision": true,
        "maxInputTokens": 200000,
        "maxOutputTokens": 64000
      }
    ]
  }
]

配置模型后,从聊天的模型选择器中选择它。

注意:如果添加的模型没有立即出现在模型选择器中,请重启 VS Code。

添加模型提供程序扩展

您可以从 Visual Studio Marketplace 安装扩展,这些扩展会向 VS Code 添加语言模型提供程序。这些扩展可以提供对其他云托管或本地运行模型的访问。例如,Foundry Toolkit for VS Code 扩展提供了对 Foundry 本地和云托管模型的访问。

添加模型提供程序扩展:

  1. 打开扩展视图,搜索 @tag:language-models
  2. 选择"安装"以安装扩展,例如 Foundry Toolkit for VS Code。
  3. 按照扩展的设置说明配置模型访问权限。
  4. 该扩展的模型会出现在聊天的模型选择器和语言模型编辑器中。如果模型没有出现,请重新加载 VS Code。

更新模型提供程序详情

要更新之前配置的模型提供程序的详情:

  1. 从"聊天"视图的模型选择器中选择"管理语言模型"(齿轮图标),或从命令面板运行"Chat: Manage Language Models"命令。
  2. 在语言模型编辑器中,选择要更新的模型提供程序旁边的齿轮图标。
  3. 更新提供程序详情,例如 API 密钥或端点 URL。

为其他功能配置模型

除了主要的聊天模型外,您还可以配置用于行内聊天、行内建议和后台辅助任务的模型。

更改行内聊天所用的模型

您可以为编辑器行内聊天配置默认语言模型。这使您能够为行内聊天使用与聊天对话不同的模型。

要为行内聊天配置默认模型,请使用 inlineChat.defaultModel 设置。该设置列出了模型选择器中的所有可用模型。

如果您在行内聊天会话期间更改模型,该选择将在会话的剩余时间内持续。重新加载 VS Code 后,模型将重置为 inlineChat.defaultModel 设置中指定的值。

更改行内建议所用的模型

要更改编辑器中用于生成行内建议的语言模型:

  1. 从 VS Code 标题栏的"聊天"菜单中选择"Configure Inline Suggestions..."。
  2. 选择"Change Completions Model...",然后从列表中选择一个模型。

注意:可用模型列表可能因时而异。如果没有替代模型可用,则更改模型的选项不可用。

如果您是 Copilot Business 或 Enterprise 用户,您的管理员需要在 GitHub.com 上的 Copilot 策略设置中通过加入"编辑器预览功能"来为您的组织启用某些模型。

更改辅助任务所用的模型

除了主要聊天模型外,VS Code 还在后台使用轻量级模型执行辅助任务,例如生成标题、创建提交消息和检测意图。默认情况下,这些任务使用 GitHub Copilot 提供的内置辅助模型。您可以使用任何可用模型(包括 BYOK 和扩展提供的模型)覆盖这些任务所使用的模型。

根据任务类型,有两个用于辅助模型的设置:

  • chat.utilityModel:覆盖用于通用辅助流程的模型,例如生成标题和摘要、设置搜索和 Git 审查。
  • chat.utilitySmallModel:覆盖用于快速、轻量级辅助流程的模型,例如提交消息、重命名建议、分支名称生成、提示分类和意图检测。建议为此设置使用快速且经济的模型。

两个设置默认均为"Default",即使用 GitHub Copilot 的内置辅助模型。

如果您在未登录 GitHub 帐户的情况下使用 BYOK 模型,则内置辅助模型不可用。VS Code 会在"聊天"视图中显示一条通知,提示您配置辅助模型。将 chat.utilityModelchat.utilitySmallModel 设置为 BYOK 模型,即可启用诸如标题生成和提交消息创建等辅助功能。

模型配置参考

当您添加 BYOK 模型时,可以在 chatLanguageModels.json 文件中配置模型属性。配置分为两个级别:提供程序级别和模型级别。

根据提供程序的不同,某些提供程序和模型属性可能是必需的,而其他则是可选的。例如,某些提供程序只需要 API 密钥和端点 URL,并自动发现可用模型,而其他提供程序则要求您为每个模型指定详细信息。

提供程序级别的属性包括:

属性 描述
vendor 模型的提供程序,例如 azureopenaicustomendpoint
name 在 UI 中显示的提供程序的显示名称(组名称)
models (可选)此提供程序提供的模型配置数组

models 数组中的每个模型支持以下属性:

属性 描述
id 发送到 API 的模型标识符。例如,对于 Foundry 来说是部署名称。
name 在模型选择器中显示的显示名称。
url 模型的完整端点 URL。
apiType (可选)按模型覆盖 API 类型(chat-completionsresponsesmessages)。默认为提供程序级别的 apiType
toolCalling 如果模型支持工具调用,则设置为 true
vision 如果模型支持图像输入,则设置为 true
maxInputTokens 模型接受的最大输入 token 数量。
maxOutputTokens 模型生成的最大输出 token 数量。
editTools (可选)模型支持的编辑工具数组。如果未配置,编辑器会尝试多种编辑工具并选择最佳工具。可能的值:find-replacemulti-find-replaceapply-patchcode-rewrite
thinking (可选)如果模型支持思考能力,则设置为 true。默认为 false
streaming (可选)如果模型支持流式响应,则设置为 true。默认为 true
zeroDataRetentionEnabled (可选)如果此端点启用了零数据保留(ZDR),则设置为 true。启用后,通过响应 API 发送请求时将不会发送 previous_response_id。默认为 false
supportsReasoningEffort (可选)模型接受的推理强度级别数组(例如 ["low", "medium", "high"])。设置后,模型选择器中会显示"思考强度"选择器。常见级别有 minimallowmediumhigh
reasoningEffortFormat (可选)用于将推理强度转发给模型的请求体形状。chat-completions 发送顶层的 reasoning_effort 字符串。responses 发送嵌套的 reasoning.effort 对象。如果未设置,格式遵循 URL。
requestHeaders (可选)一个对象,包含要与此模型的请求一起发送的额外 HTTP 头。某些保留头(禁止头、转发头和内部头)不允许使用,如果存在会被忽略。

以下是复制直接使用的配置

python 复制代码
[
	{
		"name": "DeepSeek",
		"vendor": "customendpoint",
		"apiKey": "${input:chat.lm.secret.-114035be}",
		"apiType": "chat-completions",
		"models": [
			{
				"id": "deepseek-v4-pro",
				"name": "deepseek-v4-pro",
				"url": "https://api.deepseek.com",
				"toolCalling": true,
				"vision": false,
				"maxInputTokens": 184000,
				"maxOutputTokens": 16000,
				"thinking": true,
				"supportsReasoningEffort": [
					"high",
					"max"
				]
			},
			{
				"id": "deepseek-v4-flash",
				"name": "deepseek-v4-flash",
				"url": "https://api.deepseek.com",
				"toolCalling": true,
				"vision": false,
				"maxInputTokens": 184000,
				"maxOutputTokens": 16000,
				"thinking": true,
				"supportsReasoningEffort": [
					"high",
					"max"
				]
			}
		],
		"settings": {
			"deepseek-v4-flash": {
				"reasoningEffort": "high"
			},
			"deepseek-v4-pro": {
				"reasoningEffort": "high"
			}
		}
	}
]

对于 DeepSeek

  • 默认思考开关为 enabled
  • 思考模式下,对普通请求,默认 effort 为 high;对一些复杂 Agent 类请求(如 Claude Code、OpenCode),effort 自动设置为 max
  • 思考模式下,"supportsReasoningEffort"字段出于兼容考虑 low、medium 会映射为 high, xhigh 会映射为 max
  • 不支持图像模态
相关推荐
器灵科技1 小时前
周星驰 × 火山引擎官宣!Seedance 正版 IP 二创正式上线
人工智能·阿里云·ai·github·火山引擎
java小吕布2 小时前
GitHub 宝藏开源库 500-AI-Agents-Projects:500 + 实战智能体案例,AI Agent 落地一站式参考手册
人工智能·开源·github
GoGeekBaird10 小时前
从 Prompt Engineering 到 Loop Engineering,我觉得 AI 开发这事儿终于开始变味了
后端·github
aosky12 小时前
一台电脑配置多个 SSH Key 对应不同的 GitHub 账号
运维·ssh·github
YuePeng17 小时前
凌晨 3 点告警群炸了,我用浏览器干了原本 XShell 才能干的事
后端·github
QN1幻化引擎18 小时前
自注意力机制 20 年了,我们终于让它学会"压缩记忆"
github
程序员柒叔19 小时前
Hermes Agent 一周动态-2026-W24
人工智能·github·agent·openclaw·hermes
ZFSS20 小时前
VS Code + Hailuo MCP 使用指南
人工智能·ai·copilot·ai编程·ai写作
专注VB编程开发20年1 天前
通义比GITHUB Copilot差了10倍
github·copilot