kakakakakku blog

Weekly Tech Blog: Keep Learning!

gh models run コマンドを使って GitHub Actions から LLM を呼び出そう

GitHub CLI(gh コマンド)の拡張機能「gh-models(gh models コマンド)」を使うとお手軽に LLM を呼び出すことができる❗️たとえば gh models list コマンドを実行すると,現時点で45種類のモデルが登録されていた \( 'ω')/

github.com

$ gh models list

Showing 45 available chat models

DISPLAY NAME                            MODEL NAME
AI21 Jamba 1.5 Large                    AI21-Jamba-1.5-Large
AI21 Jamba 1.5 Mini                     AI21-Jamba-1.5-Mini
Codestral 25.01                         Codestral-2501
Cohere Command A                        cohere-command-a
Cohere Command R                        Cohere-command-r
Cohere Command R 08-2024                Cohere-command-r-08-2024
Cohere Command R+                       Cohere-command-r-plus
Cohere Command R+ 08-2024               Cohere-command-r-plus-08-2024
DeepSeek-R1                             DeepSeek-R1
DeepSeek-V3                             DeepSeek-V3
DeepSeek-V3-0324                        DeepSeek-V3-0324
JAIS 30b Chat                           jais-30b-chat
Llama 4 Maverick 17B 128E Instruct FP8  Llama-4-Maverick-17B-128E-Instruct-FP8
Llama 4 Scout 17B 16E Instruct          Llama-4-Scout-17B-16E-Instruct
Llama-3.2-11B-Vision-Instruct           Llama-3.2-11B-Vision-Instruct
Llama-3.2-90B-Vision-Instruct           Llama-3.2-90B-Vision-Instruct
Llama-3.3-70B-Instruct                  Llama-3.3-70B-Instruct
MAI-DS-R1                               MAI-DS-R1
Meta-Llama-3-70B-Instruct               Meta-Llama-3-70B-Instruct
Meta-Llama-3-8B-Instruct                Meta-Llama-3-8B-Instruct
Meta-Llama-3.1-405B-Instruct            Meta-Llama-3.1-405B-Instruct
Meta-Llama-3.1-70B-Instruct             Meta-Llama-3.1-70B-Instruct
Meta-Llama-3.1-8B-Instruct              Meta-Llama-3.1-8B-Instruct
Ministral 3B                            Ministral-3B
Mistral Large                           Mistral-large
Mistral Large (2407)                    Mistral-large-2407
Mistral Large 24.11                     Mistral-Large-2411
Mistral Nemo                            Mistral-Nemo
Mistral Small                           Mistral-small
Mistral Small 3.1                       mistral-small-2503
OpenAI GPT-4.1                          gpt-4.1
OpenAI GPT-4.1-mini                     gpt-4.1-mini
OpenAI GPT-4.1-nano                     gpt-4.1-nano
OpenAI GPT-4o                           gpt-4o
OpenAI GPT-4o mini                      gpt-4o-mini
OpenAI o1                               o1
OpenAI o1-mini                          o1-mini
OpenAI o1-preview                       o1-preview
OpenAI o3                               o3
OpenAI o3-mini                          o3-mini
OpenAI o4-mini                          o4-mini
Phi-3-medium instruct (128k)            Phi-3-medium-128k-instruct
Phi-3-medium instruct (4k)              Phi-3-medium-4k-instruct
Phi-3-mini instruct (128k)              Phi-3-mini-128k-instruct
Phi-3-mini instruct (4k)                Phi-3-mini-4k-instruct

今回は GitHub Actions で gh models run コマンドを実行して LLM を呼び出す実験をしてみた🧪最近のアップデートで GitHub Actions に統合しやすくなって,アイデア次第でたくさん活用できそう❗️

github.blog

👾 gh-models.yml

今回はプルリクエストに「応援コメント」を自動的に投稿するサンプルを実装してみた \( 'ω')/

gh extension install コマンドで拡張機能 gh-models をセットアップして,gh models run コマンドで最新の GPT-4.1 mini モデルを使って このプルリクエストを応援する一言コメントを返してください。絵文字を1つ使ってください。 というプロンプトを実行している👌そして最後に gh pr comment コマンドでプルリクエストにコメントを投稿する感じ💬

name: Comment automatically with gh-models

on:
  pull_request:
    types: [opened]
    branches:
      - main

permissions:
  contents: read
  models: read
  pull-requests: write

jobs:
  add-comment:
    runs-on: ubuntu-latest
    env:
      GH_TOKEN: ${{ github.token }}
      PROMPT: このプルリクエストを応援する一言コメントを返してください。絵文字を1つ使ってください。
    steps:
      - uses: actions/checkout@v4
      - name: Setup gh extension
        run: gh extension install https://github.com/github/gh-models
      - name: Get model response
        run: echo "MODEL_RESPONSE=$(gh models run gpt-4.1-mini "${{ env.PROMPT }}")" >> ${GITHUB_ENV}
      - name: Comment
        run: gh pr comment ${{ github.event.pull_request.number }} --body "${{ env.MODEL_RESPONSE }}"

動作確認

適当にプルリクエストを作ったら 素晴らしい改善ですね!これからの進展が楽しみです🚀 というコメントが返ってきた❗️

これは良いじゃん〜

まとめ

gh models run コマンドを使って GitHub Actions から LLM を呼び出してみた❗️今回は応援コメントというサンプルにしたけど,もっと実用的に活用できるアイデアがありそう.

ちなみにドキュメントには GitHub Actions から GitHub Models の API を直接呼び出すサンプルも載っているけど,個人的には GitHub CLI(gh コマンド)の拡張機能「gh-models(gh models コマンド)」の方がシンプルで良いかな〜と思った😀

docs.github.com