GitHub Models APIが突然使えなくなった場合、原因は一時的な障害やトークンの期限切れではありません。GitHub Modelsは2026年7月30日に完全廃止され、既存の利用実績がある顧客を含め、すべてのユーザーが利用できなくなりました。 Playground、モデルカタログ、推論API、Bring Your Own Key(BYOK)のいずれも提供を終了しています。(The GitHub Blog)
自社アプリやシステムから生成AIモデルを呼び出していた場合は、Microsoft Foundryへ移行するのが基本です。一方、Issueの分類、Pull Requestのレビュー、ドキュメント更新など、GitHub上の開発作業をAIで支援したい場合は、GitHub Copilotへの置き換えを検討します。両者は役割が異なるため、単純に「GitHub ModelsをすべてCopilotへ置き換える」と考えないことが重要です。(The GitHub Blog)
GitHub Models APIが使えない原因は2026年7月30日の完全廃止
GitHubは2026年7月30日、GitHub Modelsの廃止完了を正式に発表しました。廃止対象には無料利用だけでなく、有料利用や既存顧客のアクティブな利用も含まれます。設定変更やプラン変更によって再開する方法はありません。(The GitHub Blog)
| GitHub Modelsの機能 | 2026年7月30日以降の状態 | 必要な対応 |
|---|---|---|
| Playground | 利用不可 | Microsoft FoundryのPlaygroundなどへ移行 |
| モデルカタログ | 利用不可 | Microsoft Foundryのモデルカタログで選定し直す |
| 推論API | 利用不可 | Foundry Modelsのエンドポイントへ変更 |
| BYOK | 利用不可 | Foundry側の認証またはモデル提供元との接続方式へ変更 |
| 既存顧客の利用枠 | 利用不可 | 利用実績に関係なく移行が必要 |
| GitHub Modelsの関連UI | 削除 | GitHub上からの再設定はできない |
GitHub Modelsの廃止前には、2026年7月16日と23日に短時間のサービス停止が実施されていました。しかし、7月30日以降に発生しているエラーは移行準備用の一時停止ではなく、サービスそのものの終了によるものです。(The GitHub Blog)
GitHub Copilotまで廃止されたわけではない
GitHub ModelsとGitHub Copilotは別のサービスです。GitHub公式ドキュメントでも、GitHub ModelsはGitHub Copilotとは別個のサービスであり、Copilotサービスとは関係がないと明記されています。(GitHub Docs)
そのため、次のような判断は誤りです。
- GitHub Modelsが廃止されたのでGitHub Copilotも使えない
- GitHub Models APIのURLをCopilotのURLに変えれば動く
- GitHub Copilotの契約があれば、従来の推論APIも継続できる
GitHub Copilotは、コード生成、コードレビュー、エージェント、リポジトリ上の自動化などを支援するサービスです。自社アプリから任意のプロンプトを送信する汎用的な推論APIが必要な場合は、Microsoft Foundryを選ぶ必要があります。
リポジトリ内に残っているGitHub Modelsの呼び出しを調べる
移行作業では、最初にGitHub Modelsを呼び出しているコード、GitHub Actions、環境変数を洗い出します。
リポジトリのルートで、次のような検索を実行します。
git grep -nE \
'models\.github\.ai|models\.inference\.ai\.azure\.com|/inference/chat/completions|/inference/embeddings|/catalog/models'
特に確認すべき場所は次のとおりです。
.github/workflows/内のGitHub Actions- アプリケーションのAPIクライアント設定
.env.exampleや設定ファイル- Dockerfileやコンテナの環境変数
- Terraform、Bicepなどのインフラ定義
- リポジトリ、Environment、Organizationに登録したSecrets
- サーバーレス関数やバッチ処理
- Dependabot、Issue、Pull Requestを処理する独自Action
旧GitHub Modelsで使われていた代表的なURLは、次の形式です。
https://models.github.ai/inference
このURLを呼び出しているコードは、GitHubトークンを更新しても復旧しません。エンドポイントそのものをMicrosoft Foundryへ変更する必要があります。
また、さらに古いコードでは次のURLが残っている場合があります。
https://models.inference.ai.azure.com
この旧Azureエンドポイントは、GitHub Models本体の完全廃止より前に非推奨となり、2025年10月17日にサポートが終了しています。このURLが見つかった場合も、途中でmodels.github.aiへ置き換えるのではなく、Microsoft Foundryへ直接移行します。(The GitHub Blog)
GitHub Modelsの移行先は用途によって選ぶ
GitHubが案内している主な移行先は、Microsoft FoundryとGitHub Copilotです。ただし、この2つは競合するサービスではなく、担当する範囲が異なります。(The GitHub Blog)
| 利用目的 | 適した移行先 | 判断理由 |
|---|---|---|
| Webアプリや業務システムからモデルを呼び出す | Microsoft Foundry | アプリ向けの推論エンドポイントを利用できる |
| REST APIやSDKでモデルを呼び出す | Microsoft Foundry | APIキーまたはMicrosoft Entra IDで認証できる |
| 複数モデルを比較、評価、切り替える | Microsoft Foundry | モデルカタログとモデルデプロイを利用できる |
| Issueを分類する | GitHub CopilotまたはMicrosoft Foundry | GitHub内で完結するならCopilot、独自処理ならFoundry |
| Pull Requestをレビューする | GitHub Copilot | GitHubのコードレビュー機能と統合しやすい |
| CI失敗の調査や修正案を作る | GitHub Copilot | リポジトリや開発環境の文脈を利用できる |
| 厳密なJSON形式で外部システムへ結果を渡す | Microsoft Foundry | API応答と後続処理をアプリ側で制御しやすい |
| 自社サービスに生成AI機能を組み込む | Microsoft Foundry | 認証、課金、レート制限、モデル設定を管理できる |
Microsoft Foundryを選ぶべきケース
次の条件に当てはまる場合は、Microsoft Foundryへの移行が基本です。
- Python、JavaScript、C#、Javaなどから推論APIを呼び出している
- チャットボット、検索、要約、分類機能を自社アプリに組み込んでいる
- ストリーミング応答を利用している
- Embeddings APIでベクトル検索を実装している
- Function Callingやツール呼び出しを利用している
- モデル、リージョン、スループット、コンテンツフィルターを管理したい
- Azureの課金、RBAC、監査、組織ポリシーに統合したい
Microsoft Foundry Modelsでは、複数のモデル提供元のモデルを、共通のエンドポイントと資格情報で利用できる構成が用意されています。モデルは事前に「デプロイ」し、リクエストではモデル名ではなく、基本的にそのデプロイ名を指定します。(Microsoft Learn)
GitHub Copilotを選ぶべきケース
次のような処理であれば、GitHub Models APIを別の推論APIへ機械的に移植するより、GitHub Copilotの機能へ作り直した方が運用しやすい可能性があります。
- Issueの内容を読んでラベルを付ける
- Pull Requestの変更内容をレビューする
- CIの失敗原因を調査する
- コード変更に合わせてドキュメントを更新する
- テストコードや修正案を生成する
- リポジトリの活動状況を定期的にまとめる
GitHub Agentic Workflowsでは、自然言語による指示をMarkdownで定義し、GitHub Actions上でリポジトリ作業を自動化できます。ただし、2026年8月時点ではパブリックプレビューの機能が含まれるため、本番利用では仕様変更、利用条件、組織ポリシーを確認する必要があります。(GitHub Docs)
GitHub ModelsからMicrosoft Foundryへ移行する手順
現在の利用方法を棚卸しする
エンドポイントだけを変更する前に、現在のGitHub Models利用状況を整理します。
| 確認項目 | 確認する内容 |
|---|---|
| 呼び出し元 | Webアプリ、バッチ、GitHub Actions、ローカルスクリプト |
| APIの種類 | Chat Completions、Embeddings、ストリーミング |
| モデル | モデル名、バージョン、用途 |
| 入出力 | テキスト、画像、JSON、ツール呼び出し |
| 認証 | GITHUB_TOKEN、PAT、BYOK |
| 利用量 | 1分当たりのリクエスト数、トークン数、ピーク時間 |
| 品質要件 | 応答精度、速度、再現性、最大コンテキスト長 |
| 障害対策 | タイムアウト、再試行、フォールバック |
| コスト管理 | 利用上限、予算アラート、環境別の課金分離 |
この棚卸しを行わずにモデルを選び直すと、ストリーミングが動かない、コンテキスト長が不足する、Embeddingの次元数が変わるといった問題が起こりやすくなります。
Microsoft Foundryのリソースとモデルデプロイを作成する
Microsoft Foundryで推論APIを利用するには、Azureサブスクリプション、Foundryリソース、少なくとも1つのモデルデプロイが必要です。利用したいモデルが対象リージョンで提供されているかも確認します。(Microsoft Learn)
基本的な流れは次のとおりです。
- Azureサブスクリプションを用意する
- Microsoft Foundryでリソースまたはプロジェクトを作成する
- モデルカタログから利用するモデルを選ぶ
- 対応リージョンとデプロイ方式を確認する
- モデルをデプロイする
- Playgroundからテストプロンプトを送る
- エンドポイントと認証方法を確認する
- 利用上限、予算、コンテンツフィルターを設定する
MicrosoftのAI開発基盤は、Azure AI Studio、Azure AI Foundryを経て、現在はMicrosoft Foundryという名称になっています。画面や古いドキュメントに「Azure AI Foundry」という表記が残っている場合がありますが、名称変更の過程によるものです。(Microsoft Learn)
新規移行ではOpenAI v1 APIを選ぶ
Microsoft Foundryへの移行では、安定版のOpenAI SDKとOpenAI v1 APIを利用する構成が推奨されます。
注意したいのは、Azure AI Inference beta SDKが2026年8月26日に廃止予定であることです。GitHub Modelsからの移行先として、この終了間近のベータSDKを新たに採用すると、短期間で再度移行が必要になります。Microsoftは、OpenAI v1 APIと安定版OpenAI SDKへの移行を案内しています。(Microsoft Learn)
障害復旧を優先する場合は、次の順序で進めると安全です。
- 既存のChat Completions相当の処理をOpenAI v1 APIへ移す
- 既存アプリが正常に動くことを確認する
- その後、必要に応じてResponses APIや新しい機能へ移行する
インフラ移行とAPI設計の刷新を同時に行うと、障害原因を切り分けにくくなります。
エンドポイント、認証、モデル指定を変更する
GitHub ModelsからMicrosoft Foundryへ移行するとき、最低限見直すべき項目は次の3つです。
| 設定項目 | GitHub Models | Microsoft Foundry |
|---|---|---|
| エンドポイント | https://models.github.ai/inference | https://<resource>.openai.azure.com/openai/v1/ |
| 認証 | GitHubトークン、BYOK | FoundryのAPIキーまたはMicrosoft Entra ID |
modelの値 | GitHub ModelsのモデルID | Foundryで作成したデプロイ名 |
| モデル準備 | カタログ内のモデルを選択 | 利用するモデルを事前にデプロイ |
| 課金管理 | GitHub側の利用枠やBYOK | Azureサブスクリプションとデプロイ方式 |
Microsoft Foundryでは、デプロイがモデルへのアクセス用エイリアスとして機能します。旧コードに書かれていたモデルIDをそのまま指定するのではなく、Foundryで設定したデプロイ名をmodelへ渡します。(Microsoft Learn)
PythonコードをOpenAI v1 APIへ変更する例
OpenAI SDKをインストールします。
pip install --upgrade openai
環境変数には、Foundryのエンドポイント、APIキー、デプロイ名を設定します。
export FOUNDRY_BASE_URL="https://<resource>.openai.azure.com/openai/v1/"
export FOUNDRY_API_KEY="<your-api-key>"
export FOUNDRY_DEPLOYMENT="<your-deployment-name>"
Pythonコードは次のように構成できます。
import os
from openai import OpenAI
REQUIRED_ENV = (
"FOUNDRY_BASE_URL",
"FOUNDRY_API_KEY",
"FOUNDRY_DEPLOYMENT",
)
missing = [name for name in REQUIRED_ENV if not os.getenv(name)]
if missing:
raise RuntimeError(
f"必要な環境変数が設定されていません: {', '.join(missing)}"
)
client = OpenAI(
base_url=os.environ["FOUNDRY_BASE_URL"],
api_key=os.environ["FOUNDRY_API_KEY"],
)
response = client.chat.completions.create(
model=os.environ["FOUNDRY_DEPLOYMENT"],
messages=[
{
"role": "system",
"content": "あなたは簡潔で正確な日本語で回答するアシスタントです。",
},
{
"role": "user",
"content": "この文章を3行で要約してください。",
},
],
)
content = response.choices[0].message.content
if not content:
raise RuntimeError("モデルから有効な応答を取得できませんでした。")
print(content)
FoundryのOpenAI v1エンドポイントでは、URLにapi-versionを付ける方式ではなく、/openai/v1/を指定します。また、modelには実際のモデル名ではなく、自分で作成したデプロイ名を設定します。(Microsoft Learn)
本番環境ではMicrosoft Entra ID認証を検討する
APIキーは短時間で設定できるため、移行テストには便利です。ただし、FoundryのAPIキーはリソースに対して広いアクセス権を持ち、定期的なローテーションも必要になります。Microsoftは、本番ワークロードではMicrosoft Entra IDによるキーレス認証を推奨しています。(Microsoft Learn)
Pythonでは、azure-identityを追加します。
pip install --upgrade openai azure-identity
Microsoft Entra IDを利用する場合の基本形は次のとおりです。
import os
from azure.identity import (
DefaultAzureCredential,
get_bearer_token_provider,
)
from openai import OpenAI
token_provider = get_bearer_token_provider(
DefaultAzureCredential(),
"https://ai.azure.com/.default",
)
client = OpenAI(
base_url=os.environ["FOUNDRY_BASE_URL"],
api_key=token_provider,
)
response = client.chat.completions.create(
model=os.environ["FOUNDRY_DEPLOYMENT"],
messages=[
{
"role": "user",
"content": "Microsoft Foundryへの移行確認です。",
}
],
)
print(response.choices[0].message.content)
実行主体には、Foundryリソースに対する適切なRBACロールを割り当てる必要があります。
GitHub Actionsから呼び出す場合は認証方式も変更する
GitHub Modelsでは、GitHub Actionsの組み込みGITHUB_TOKENを使って推論APIを呼び出せました。しかし、このトークンはMicrosoft Foundryの認証情報としては利用できません。(The GitHub Blog)
移行方法は主に次の2つです。
- 緊急移行では、FoundryのAPIキーをGitHub Actions Secretsへ登録する
- 本番運用では、OpenID ConnectとMicrosoft Entra IDを組み合わせる
APIキーを使う場合は、次のようなSecretsを用意します。
FOUNDRY_BASE_URL
FOUNDRY_API_KEY
FOUNDRY_DEPLOYMENT
ワークフローから環境変数として渡します。
- name: Run AI task
env:
FOUNDRY_BASE_URL: ${{ secrets.FOUNDRY_BASE_URL }}
FOUNDRY_API_KEY: ${{ secrets.FOUNDRY_API_KEY }}
FOUNDRY_DEPLOYMENT: ${{ vars.FOUNDRY_DEPLOYMENT }}
run: python scripts/run_ai_task.py
長期的には、固定されたクライアントシークレットやAPIキーではなく、OpenID Connectを利用します。Microsoftの手順では、Microsoft Entraアプリまたはユーザー割り当てマネージドIDにフェデレーション資格情報を設定し、azure/login@v2でサインインします。(Microsoft Learn)
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v4
- name: Sign in to Azure
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: Run AI task
env:
FOUNDRY_BASE_URL: ${{ secrets.FOUNDRY_BASE_URL }}
FOUNDRY_DEPLOYMENT: ${{ vars.FOUNDRY_DEPLOYMENT }}
run: python scripts/run_ai_task_with_entra.py
OpenID Connectを使う場合でも、GitHubリポジトリを信頼するフェデレーション設定と、Foundryリソースへの適切なロール割り当てが必要です。
移行時に必ずテストする項目
エンドポイントから正常な応答が返っただけでは、移行完了とはいえません。モデルやデプロイ方式が変わると、出力品質、速度、制限、エラー条件も変わる可能性があります。
| テスト項目 | 確認内容 |
|---|---|
| 基本応答 | 正常なプロンプトで期待する応答が返るか |
| 認証エラー | 無効な認証情報を拒否できるか |
| タイムアウト | 応答遅延時に処理が停止し続けないか |
| 再試行 | 429や一時的なエラーを適切に再試行するか |
| ストリーミング | 途中で切断された場合を処理できるか |
| JSON出力 | 必須フィールドや型を検証しているか |
| ツール呼び出し | 引数や関数名が既存処理と一致するか |
| コンテンツフィルター | 拒否時の応答をアプリ側で処理できるか |
| モデル品質 | 代表的な入力で旧環境と比較したか |
| 負荷 | ピーク時のレート制限に耐えられるか |
| コスト | 入出力トークンと実行回数を把握できるか |
| ログ | プロンプトや個人情報を過剰に記録していないか |
Foundry Modelsでは、デプロイ方式によって料金やレート制限が異なります。また、モデルのリージョン提供状況、コンテンツフィルター、カスタムレート制限も確認が必要です。(Microsoft Learn)
Embeddingsを利用している場合は、特に注意が必要です。移行後にモデルやベクトルの次元数が変わると、既存のベクトルデータベースと互換性がなくなる可能性があります。その場合は、元データからEmbeddingを再生成し、インデックスを作り直します。
GitHub Models移行で起こりやすい失敗
GitHubトークンだけを作り直している
GitHub Models自体が廃止されているため、新しいPATやGITHUB_TOKENを発行しても復旧しません。
確認する場所はトークンではなく、まずエンドポイントです。
https://models.github.ai/inference
このURLが残っていれば、Microsoft Foundryのエンドポイントへ変更します。
Foundryへ変更したのに401や403になる
エンドポイントだけをFoundryへ変更し、認証ヘッダーにはGitHubトークンを残している可能性があります。
Foundryでは、次のいずれかを使用します。
- FoundryリソースのAPIキー
- Microsoft Entra IDのアクセストークン
GitHubのPATやGITHUB_TOKENをFoundryのAPIキーとして流用することはできません。
model not foundになる
旧GitHub ModelsのモデルIDを、そのままmodelへ指定している可能性があります。
Foundryでは、利用するモデルを先にデプロイし、そのデプロイ名をmodelへ設定します。デプロイ名とカタログ上のモデル名は必ずしも同じではありません。(Microsoft Learn)
モデルが選択したリージョンにない
Foundryのすべてのモデルが、すべてのリージョンで利用できるとは限りません。モデルカードで提供リージョンを確認し、必要に応じて別リージョンにリソースを作成します。(Microsoft Learn)
データ所在地や組織のクラウド利用規程がある場合は、利用可能だからという理由だけでリージョンを変更せず、事前にセキュリティ担当者へ確認します。
429エラーが増えた
GitHub ModelsとFoundryでは、レート制限や利用枠の考え方が異なります。
次の項目を確認します。
- 1分当たりのリクエスト数
- 1分当たりのトークン数
- 同時実行数
- 選択したデプロイ方式
- Azure側のクォータ
- アプリ側の再試行間隔
- バックオフ処理の有無
無制限に再試行すると、障害を悪化させたり、実行時間やコストを増やしたりするため、指数バックオフと最大試行回数を設定します。
Azure AI Inference beta SDKへ新規移行している
Azure AI Inference beta SDKは2026年8月26日に廃止予定です。新しい移行先として採用せず、安定版OpenAI SDKとOpenAI v1 APIを利用します。(Microsoft Learn)
GitHub Copilotを汎用APIとして扱っている
GitHub Copilotは、GitHubや開発環境でのAI支援に適しています。一方、自社アプリのバックエンドから任意の入力を送り、応答を外部システムへ連携する用途では、Microsoft Foundryの方が適しています。
「GitHub内で人や開発作業を支援する」のか、「アプリケーションがモデルを呼び出す」のかを基準に判断します。
BYOKを利用していた場合の対応
GitHub ModelsのBYOK機能も、2026年7月30日をもって利用できなくなりました。モデル提供元のAPIキー自体が有効でも、そのキーをGitHub Models経由で利用することはできません。(The GitHub Blog)
移行後は、次の作業を行います。
- Microsoft Foundryで利用するモデルを選定する
- Foundry側の認証方式へ変更する
- GitHub Models用に登録していたSecretsやVariablesを削除する
- 不要になったプロバイダーキーを無効化またはローテーションする
- GitHub Organization、Environment、RepositoryのSecretsをすべて確認する
- 旧キーの利用履歴と課金状況を確認する
Secretsを削除する前に、別のアプリや環境で同じキーを共有していないか確認してください。キーを複数システムで共有している場合は、一斉削除ではなく、利用先ごとに新しい資格情報へ分離します。
GitHub Models完全廃止後の移行チェックリスト
- [ ] リポジトリから
models.github.aiを検索した - [ ] 古い
models.inference.ai.azure.comも検索した - [ ] GitHub Actionsの呼び出しを確認した
- [ ] Chat、Embeddings、ストリーミングなどの利用機能を整理した
- [ ] Microsoft FoundryとGitHub Copilotのどちらへ移すか分類した
- [ ] Foundryリソースとモデルデプロイを作成した
- [ ] 対応リージョンを確認した
- [ ] OpenAI v1 APIを採用した
- [ ]
modelをFoundryのデプロイ名へ変更した - [ ] GitHubトークンをFoundryの認証から外した
- [ ] 本番環境でMicrosoft Entra ID認証を検討した
- [ ] GitHub ActionsでOpenID Connectを検討した
- [ ] レート制限とAzureの予算アラートを設定した
- [ ] 代表的な入力で出力品質を比較した
- [ ] 不要なGitHub Models用Secretsを削除した
- [ ] 旧APIを参照するドキュメントや運用手順を更新した
GitHub Models APIが使えない場合、トークンの再発行や再試行を続けても解決しません。最初にリポジトリ全体から旧エンドポイントを検索し、アプリケーションの推論処理はMicrosoft Foundryへ、GitHub上の開発支援はGitHub Copilotへ振り分けます。
Microsoft Foundryへ移行するときは、エンドポイント、認証情報、モデルのデプロイ名の3点を優先して変更してください。そのうえでレート制限、出力品質、コンテンツフィルター、コストを検証し、旧GitHub ModelsのSecretsと設定を削除すれば、廃止後の移行を安全に完了できます。

コメント