Skip to main content
Skip to content

在 GitHub Copilot CLI 中使用自己的 LLM 模型

您可以通过提供自己的 API 密钥,在 Copilot 中使用您选择的外部提供商的模型。

你可以配置Copilot CLI以使用自己的LLM提供商(即BYOK,自带密钥),而不是GitHub托管的模型。 这样,便可以连接到与 OpenAI 兼容的终结点、Azure OpenAI 或 Anthropic,包括本地运行的模型(如 Ollama)。

注意

本文适用于想要在本地计算机上配置自己的 LLM 提供程序 API 密钥的用户。 若要为企业中的用户设置自定义模型,请参阅 在企业中为 GitHub Copilot 启用自定义模型。

先决条件

  • Copilot CLI 已安装。 请参阅“安装 GitHub Copilot CLI”。
  • 你有受支持 LLM 提供程序的 API 密钥,或者有一个正在运行的本地模型(例如 Ollama)。

支持的提供程序

Copilot CLI 支持三种提供程序类型:

供应商类型兼容的服务
openaiOpenAI、Ollama、vLLM、Foundry Local 和任何其他 OpenAI 聊天完成 API 兼容的终结点。 这是默认提供程序类型。
azureAzure OpenAI 服务。
anthropicAnthropic(克劳德模型)。

有关其他示例,请在终端中运行 copilot help providers 。

模型要求

模型必须支持 工具调用 (也称为函数调用)和 流式处理。 如果模型不支持任一功能, Copilot CLI 则返回错误。 为了获得最佳结果,请使用具有至少 128k 个标记的上下文窗口的模型。

配置提供程序

通过在开始 Copilot CLI之前设置环境变量来配置模型提供程序。

环境变量必需说明
COPILOT_PROVIDER_BASE_URL是的模型提供程序 API 终结点的基本 URL。
COPILOT_PROVIDER_TYPE否提供程序类型: openai (默认值), azure或 anthropic。
COPILOT_PROVIDER_API_KEY否您的提供程序的 API 密钥。 不需要身份验证的提供程序无需此步骤,例如本地 Ollama 实例。
COPILOT_PROVIDER_BEARER_TOKEN否在未使用 API 密钥身份验证时,用于提供方身份验证的承载令牌。
COPILOT_PROVIDER_WIRE_API否指定与提供程序通信时使用的 API 协议。
COPILOT_PROVIDER_AZURE_API_VERSION仅限 Azure用于请求的 Azure OpenAI API 版本。
COPILOT_PROVIDER_MODEL_ID否用于标识模型功能和令牌限制的已知模型名称。
COPILOT_PROVIDER_WIRE_MODEL否发送到提供方 API 进行推理的模型名称。 对于 Azure OpenAI,请使用部署名称。
COPILOT_PROVIDER_MAX_PROMPT_TOKENS否请求中允许的最大提示令牌数。
COPILOT_PROVIDER_MAX_OUTPUT_TOKENS否响应中生成的最大令牌数。
COPILOT_MODEL是的要使用的模型标识符。 还可以使用 --model 命令行标志来设置此设置。

连接到与 OpenAI 兼容的终结点

如果要连接到 OpenAI、Ollama、vLLM、Foundry Local 或任何其他与 OpenAI 聊天完成 API 兼容的终结点,请使用以下步骤。

  1. 为服务提供商设置环境变量。 例如,对于本地 Ollama 实例:

    export COPILOT_PROVIDER_BASE_URL=http://localhost:11434
    export COPILOT_MODEL=YOUR-MODEL-NAME
    

    用您在 Ollama 中拉取的模型的名称替换 YOUR-MODEL-NAME(例如 llama3.2)。

  2. 对于远程 OpenAI 终端,请设置 API 密钥。

    export COPILOT_PROVIDER_BASE_URL=https://api.openai.com/v1
    export COPILOT_PROVIDER_API_KEY=YOUR-OPENAI-API-KEY
    export COPILOT_MODEL=YOUR-MODEL-NAME
    

    用 YOUR-OPENAI-API-KEY 替换为你的 OpenAI API 密钥,用 YOUR-MODEL-NAME 替换为你想使用的模型(例如,gpt-4o)。

  3. 启动 Copilot CLI。

copilot

连接到 Azure OpenAI

  1. 设置 Azure OpenAI 的环境变量。

    export COPILOT_PROVIDER_BASE_URL=https://YOUR-RESOURCE-NAME.openai.azure.com
    export COPILOT_PROVIDER_TYPE=azure
    export COPILOT_PROVIDER_API_KEY=YOUR-AZURE-API-KEY
    export COPILOT_PROVIDER_AZURE_API_VERSION=YOUR-AZURE-API-VERSION
    export COPILOT_PROVIDER_MODEL_ID=YOUR-MODEL-NAME
    export COPILOT_PROVIDER_WIRE_MODEL=YOUR-DEPLOYMENT-NAME
    export COPILOT_MODEL=YOUR-DEPLOYMENT-NAME
    

    替换以下占位符:

    • YOUR-RESOURCE-NAME:Azure OpenAI 的资源名称
    • YOUR-DEPLOYMENT-NAME:接收请求的部署名称
    • YOUR-MODEL-NAME:与部署关联的基础模型(例如 gpt-4o)
    • YOUR-AZURE-API-VERSION:Azure OpenAI API 版本
    • YOUR-AZURE-API-KEY:Azure OpenAI API 密钥

Azure 特定的环境变量

Variable说明
COPILOT_PROVIDER_MODEL_ID已知模型名称。
Copilot CLI 使用此值标识模型功能和令牌限制。
COPILOT_PROVIDER_WIRE_MODELAzure OpenAI 部署名称。 Azure OpenAI 通过部署而非直接通过模型名称来路由请求。
  1. 启动 Copilot CLI。
copilot

连接到 Anthropic

  1. 设置Anthropic的环境变量:

    export COPILOT_PROVIDER_TYPE=anthropic
    export COPILOT_PROVIDER_BASE_URL=https://api.anthropic.com
    export COPILOT_PROVIDER_API_KEY=YOUR-ANTHROPIC-API-KEY
    export COPILOT_MODEL=YOUR-MODEL-NAME
    

    将YOUR-ANTHROPIC-API-KEY替换为你的人类 API 密钥,并将YOUR-MODEL-NAME替换为你想要使用的 Claude 模型(例如,claude-opus-4-5)。

  2. 启动 Copilot CLI。

copilot

在脱机模式下运行

可以在脱机模式下运行 Copilot CLI ,以防止其与服务器联系 GitHub。 这专为隔离环境而设计,在这种环境中,CLI 应仅与你的本地或本地部署的模型提供程序通信。

重要

脱机模式仅在您的提供商也是本地或位于同一隔离环境中时,才能保证完全的网络隔离。 如果 COPILOT_PROVIDER_BASE_URL 指向远程终结点,则提示和代码上下文仍通过网络发送到该提供程序。

  1. 请按照“配置您的提供程序”中的说明来配置您提供程序的环境变量。

  2. 设置脱机模式环境变量:

    export COPILOT_OFFLINE=true
    
    1. 启动 Copilot CLI。
copilot