# GitHub Copilot CLI での独自の LLM モデルの使用

独自の API キーを指定して、 Copilot で選択した外部プロバイダーのモデルを使用します。

Copilot CLIホスト型モデルではなく、BYOK (Bring Your Own Key) とも呼ばれる独自の LLM プロバイダーを使用するようにGitHubを構成できます。 これにより、OpenAI と互換性のあるエンドポイント、Azure OpenAI、または Anthropic (Ollama などのローカルで実行されるモデルを含む) に接続できます。

> \[!NOTE]
> この記事は、ローカル コンピューターで独自の LLM プロバイダー API キーを構成するユーザーを対象にしています。 企業内のユーザーのカスタム モデルを設定するには、 [エンタープライズでのGitHub Copilotのカスタム モデルの有効化](/ja/copilot/how-tos/administer-copilot/manage-for-enterprise/enable-custom-models) を参照してください。

## 前提条件

* Copilot CLI がインストールされています。 「[GitHub Copilot CLI のインストール](/ja/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli)」を参照してください。
* サポートされている LLM プロバイダーの API キーを持っているか、ローカル モデル (Ollama など) を実行している。

## サポートされているプロバイダー

Copilot CLI では、次の 3 種類のプロバイダーがサポートされています。

| プロバイダーの種類   | 互換性のあるサービス                                                                                         |
| ----------- | -------------------------------------------------------------------------------------------------- |
| `openai`    | OpenAI、Ollama、vLLM、Foundry Local、およびその他の OpenAI Chat Completions API 互換エンドポイント。 これは既定のプロバイダーの種類です。 |
| `azure`     | Azure OpenAI Service。                                                                              |
| `anthropic` | アントロピック (クロード モデル)。                                                                                |

その他の例については、ターミナルで `copilot help providers` を実行します。

## モデルの要件

モデルでは、 **ツール呼び出し (関数呼び出し** とも呼ばれます) と **ストリーミングをサポートする**必要があります。 モデルがどちらの機能もサポートしていない場合、 Copilot CLI はエラーを返します。 最良の結果を得るには、少なくとも 128,000 個のトークンのコンテキスト ウィンドウを持つモデルを使用します。

## プロバイダーの構成

モデル プロバイダーを構成するには、 Copilot CLIを開始する前に環境変数を設定します。

| 環境変数                                   | 必須  | 説明                                                             |
| -------------------------------------- | --- | -------------------------------------------------------------- |
| `COPILOT_PROVIDER_BASE_URL`            | はい  | モデル プロバイダーの API エンドポイントのベース URL。                               |
| `COPILOT_PROVIDER_TYPE`                | いいえ | プロバイダーの種類: `openai` (既定)、 `azure`、または `anthropic`。             |
| `COPILOT_PROVIDER_API_KEY`             | いいえ | プロバイダーの API キー。 ローカルの Ollama インスタンスなど、認証を使用しないプロバイダーには必要ありません。 |
| `COPILOT_MODEL`                        | はい  | 使用するモデル識別子。                                                    |
| `--model`コマンド ライン フラグを使用して設定することもできます。 |     |                                                                |

## OpenAI と互換性のあるエンドポイントへの接続

OpenAI、Ollama、vLLM、Foundry Local、または OpenAI Chat Completions API と互換性のある他のエンドポイントに接続する場合は、次の手順を使用します。

1. プロバイダーの環境変数を設定します。 たとえば、ローカルの Ollama インスタンスの場合:

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

`YOUR-MODEL-NAME`を、Ollama でプルしたモデルの名前 (たとえば、`llama3.2`) に置き換えます。

1. リモートの 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`を OpenAI API キーに置き換え、`YOUR-MODEL-NAME`を使用したいモデル（例:`gpt-4o`）に置き換えます。

1. 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 OpenAI API キー

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-opus-4-5`）に置き換えてください。

1. 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
```