すごく久しぶりにブログを書く。3ヶ月ぶりくらい?
↓この記事を読んで「へー。どういうこと?」ってなったので遊んでみた。
「GITHUB_TOKEN でGitHub Modelsを呼び出せるようになったよ!PAT(Personal Access Tokens)はもう使わなくていいよ!」って書いてある。そもそもGitHub Modelsを知らんかったけど、GitHub Copilotとかで使ってるAIのモデルたちのことかな。
やってみた
GitHub ActionsでAIの呼び出しができるよってことだろうなと思って適当に作ってみた。「今日の運勢を教えて!」って投げるだけのGitHub Actions。

「今日は新しいことにチャレンジする絶好の日!」ふむふむー。
コード
name: GitHub Models API Example on: workflow_dispatch: permissions: models: read jobs: call-model: runs-on: ubuntu-latest steps: - name: Call AI model id: model-call env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} PROMPT: "今日の運勢を教えて!" run: | # API呼び出しと生のレスポンスの保存 RAW_RESPONSE=$(curl "https://models.github.ai/inference/chat/completions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -d '{ "messages": [ { "role": "user", "content": "'"$PROMPT"'" } ], "model": "openai/gpt-4o" }') # 生のレスポンスを一時ファイルに保存 echo "$RAW_RESPONSE" > raw_response.json # レスポンスからコンテンツ部分を抽出 CONTENT=$(echo "$RAW_RESPONSE" | jq -r '.choices[0].message.content') # 整形したレスポンスを一時ファイルに保存 echo "$CONTENT" > model_response.txt # GitHub Actionsのoutputとして設定 echo "response<<EOF" >> $GITHUB_OUTPUT echo "$CONTENT" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT echo "raw_response<<EOF" >> $GITHUB_OUTPUT echo "$RAW_RESPONSE" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT - name: Output response as log run: | echo "==========================================" echo "GitHub Modelsからのレスポンス:" echo "==========================================" echo "${{ steps.model-call.outputs.response }}" echo "==========================================" echo "" echo "==========================================" echo "GitHub Modelsからの生のJSON レスポンス:" echo "==========================================" echo "${{ steps.model-call.outputs.raw_response }}" echo "=========================================="
簡単だね。ちなみにこのGitHub ActionsのYAMLは適当にドキュメントからコピペしてきたものに対して、GitHub Copilot Chatでちょこちょこ依頼をして仕上げただけ。
コミットメッセージも最初だけ自分で書いて「あ、これも書いてもらえばいいか」って、途中からはCopilotに書いてもらった。
自分ではほぼ何もしてない。
最近はCursorでコードを書いてたけど、VS CodeのCopilotのAgentモードもだいぶCursorに近いね。まだちょっとCursorのほうが使いやすいかな、くらい。
ということで
何かしらGitHub ActionsでAIに問いかけたいときは便利なのかな。今はまだ何にも具体的な用途を思いついてないけど、こういうこともできるって頭にいれておこっと。