# Использование собственных моделей LLM в GitHub Copilot CLI

Используйте модель от выбранного вами внешнего провайдера, Copilot предоставив свой собственный API-ключ.

Вы можете настроить Copilot CLI использование собственного LLM-провайдера, также называемого BYOK (Bring Your Own Key), вместо GitHub-hosted моделей. Это позволяет подключаться к конечным точкам, совместимым с OpenAI, Azure OpenAI или Anthropic, включая локально запущенные модели, такие как Ollama.

> \[!NOTE]
> Эта статья предназначена для пользователей, которые хотят настроить собственный ключ API поставщика LLM на локальном компьютере. Сведения о настройке пользовательских моделей для пользователей в организации см. в разделе [Включение пользовательских моделей для GitHub Copilot в организации](/ru/copilot/how-tos/administer-copilot/manage-for-enterprise/enable-custom-models).

## Необходимые условия

* Copilot CLI устанавливается. См [. раздел AUTOTITLE](/ru/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli).
* У вас есть API-ключ от поддерживаемого провайдера LLM, либо работает локальная модель (например, Ollama).

## Поддерживаемые поставщики

Copilot CLI Поддерживает три типа поставщиков:

| Тип поставщика | Совместимые сервисы                                                                                                                            |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `openai`       | OpenAI, Ollama, vLLM, Foundry Local и любые другие конечные точки, совместимые с API OpenAI Chat Completions. Это тип провайдера по умолчанию. |
| `azure`        | Служба Azure OpenAI.                                                                                                                           |
| `anthropic`    | Anthropic (модели Клода).                                                                                                                      |

Для дополнительных примеров запустите `copilot help providers` в терминале.

## Требования к модели

Модели должны поддерживать **вызов инструментов** (также называемый вызовом функций) и **потоковую передачу**. Если модель не поддерживает ни одну из этих возможностей, Copilot CLI возвращает ошибку. Для наилучших результатов используйте модель с контекстным окном не менее 128 тысяч токенов.

## Настройка вашего провайдера

Вы настраиваете провайдер модели, устанавливая переменные среды перед началом Copilot CLI.

| Переменная среды            | Обязательный | Описание                                                                                                                             |
| --------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| `COPILOT_PROVIDER_BASE_URL` | Да           | Базовый URL API вашего провайдера модели.                                                                                            |
| `COPILOT_PROVIDER_TYPE`     | Нет          | Тип провайдера: `openai` (по умолчанию), `azure`, или `anthropic`.                                                                   |
| `COPILOT_PROVIDER_API_KEY`  | Нет          | Ваш API-ключ для провайдера. Не требуется для провайдеров, не использующих аутентификацию, например, для локального инстанса Ollama. |
| `COPILOT_MODEL`             | Да           | Идентификатор модели, который нужно использовать. Вы также можете установить это с помощью `--model` флага командной строки.         |

## Подключение к конечной точке, совместимой с OpenAI

Используйте следующие шаги, если вы подключаетесь к OpenAI, Ollama, vLLM, Foundry Local или любому другому конечному устройству, совместимому с API OpenAI Chat Completions.

1. Задайте переменные среды для вашего провайдера. Например, для локального экземпляра Ollama:

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

   Замените `YOUR-MODEL-NAME` на название модели, которую вы выбрали в Ollama (например, `llama3.2`).

2. Для удалённых OpenAI концевальных устройств также задайте свой API-ключ.

   ```shell
   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` свой ключ API OpenAI и `YOUR-MODEL-NAME` модель, которую хотите использовать (например, `gpt-4o`).

3. Запуск Copilot CLI.

```bash
copilot
```

## Подключение к Azure OpenAI

1. Задайте переменные среды для Azure OpenAI.

   ```shell
   export COPILOT_PROVIDER_BASE_URL=https://YOUR-RESOURCE-NAME.openai.azure.com/openai/deployments/YOUR-DEPLOYMENT-NAME
   export COPILOT_PROVIDER_TYPE=azure
   export COPILOT_PROVIDER_API_KEY=YOUR-AZURE-API-KEY
   export COPILOT_MODEL=YOUR-DEPLOYMENT-NAME
   ```

   Замените следующие заполнители:

   * `YOUR-RESOURCE-NAME`: ваше Azure имя ресурса OpenAI
   * `YOUR-DEPLOYMENT-NAME`: название развертывания вашей модели
   * `YOUR-AZURE-API-KEY`: ваш Azure ключ API OpenAI

2. Запуск Copilot CLI.

```bash
copilot
```

## Подключение к Anthropic

1. Установите переменные среды для Anthropic:

   ```shell
   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` ключ Anthropic API и YOUR-MODEL-NAME на ту модель Claude, которую хотите использовать (например, `claude-opus-4-5`).

2. Запуск Copilot CLI.

```bash
copilot
```

## Работа в офлайн-режиме

Вы можете запускать Copilot CLI в офлайн-режиме, чтобы предотвратить контакт GitHubс серверами. Это предназначено для изолированных сред, где CLI должен общаться только с вашим локальным или локальным поставщиком модели.

> \[!IMPORTANT]
> Офлайн-режим гарантирует полную сетевую изоляцию только если ваш оператор также локальный или находится в той же изолированной среде. Если `COPILOT_PROVIDER_BASE_URL` они указывают на удалённую конечную точку, ваши запросы и контекст кода всё равно отправляются по сети этому провайдеру.

1. Настройте переменные среды провайдера так, как описано в разделе «Настройка провайдера».

2. Установите переменную среды офлайн-режима:

   ```shell
   export COPILOT_OFFLINE=true
   ```

3. 1. Запуск Copilot CLI.

```bash
copilot
```