1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Github actionsで長時間のバッチ処理(AIエージェントアプリ)を実行できた。

1
Last updated at Posted at 2025-08-01

動画も有りますので、必要な方は動画もチェックね!!

youtube

github

google ai studio

アプリを作ったきっかけ

クラウドワークスで、バイトをしていた時に、大量の会社情報(会社名+住所)が国税庁法人番号検索サイトにあると気付いた。
https://www.houjin-bangou.nta.go.jp/
この情報を元に、もっと詳しい、企業情報を収集できるアプリを作りたいとなんとなく思ってた。

このアプリの前に、もっと簡単な情報収集ツールを作って、LLM as a judgeアプリを作ったが、イマイチ思うようにできなかった。
=> ここで得たものは、プロンプトを一生懸命書くよりも、LLMに任せる方がよほど精度良く調べ事をしてくれるってことです!!
(ReActのエージェントではそうらしい。そんな論文もあるみたい。)
Geminiは、ReActエージェントなので、そうなんだろう。

そんな時に、github actions の話を聞いた。 ワークフローが簡単にできるらしいくらいの情報だったが、少し調べたら
実は、ローカルで作成したアプリをクラウドでテストしてくれるとか、いろいろできると知った。

僕の興味

具体的に何ができるか? 
ではなく、作ったアプリのバッチ処理をクラウドで走らせられるか?
AIに聞けば、できるらしい!!!

ということで、詳しく本当の情報を得るためには、公式ドキュメントに当たる必要がある

公式ドキュメントの探し方

github actions の公式ドキュメントをgit clone したい URLを教えて
=>
この時の回答に、content\actionsに詳細ドキュメントがあると教えてくれた。

git clone したら、かなり大きなファイルになった(2GB超え)

content\actionsでとりあえず、

私のなんでも1枚のテキストに全部ぶち込むアプリを使って、git clone したcontent\actionsの内容を1枚化した。

以下のコードも、後で出てくるgithubにあります。

python codeb.py
出力=> code_output.txt

google ai studio に読ませたら、こんなことができるよと教えてくれる。

私がしたいことは、じぶんのアプリをパソコンで実行してるが、github actions でも実行できるのか?知りたかった
これは多分、他のAIに聞いてできると知っていた。

なので、自分のアプリをpython codeb.pyで一枚化して、これをgithub actionsで実行させたいと言えば、すぐに必要な作業を教えてくれた

以下にアプリがいろいろあります。
以下のアプリをgithub actions で実行したい。
公開リポジトリですので無料枠で使いたい。
apiキーも一旦、.envをプッシュしても良いです。
どうしたらよいか教えて

python gemini_search_parallel.py --prompt-file input_data_sumple.txt --parallel 10

ソースコードはこちら

github actions 実際にやる作業は、凄く簡単

ご要望のPythonスクリプトをGitHub Actionsで実行する方法について、公開リポジトリの無料枠を活用し、かつ安全にAPIキーを扱うための手順を以下に示します。

概要

GitHub Actionsを使えば、python gemini_search_parallel.pyスクリプトを自動で実行できます。公開リポジトリの場合、GitHubが提供する実行環境(ランナー)を無料で利用できます。

APIキーのような機密情報を安全に扱うため、リポジトリに.envファイルを直接プッシュする代わりに、GitHubのSecrets機能を使用します。これにより、APIキーを安全にワークフローへ渡すことができます。

設定手順

以下の3つのステップで設定を行います。

ステップ1:APIキーをGitHub Secretsに登録する

まず、リポジトリにAPIキーを安全に登録します。

  1. お使いのリポジトリで [Settings] タブに移動します。
  2. 左側のメニューから [Secrets and variables] > [Actions] を選択します。
  3. [Secrets] タブが開いていることを確認し、[New repository secret] をクリックします。
  4. api_key_manager.pyが読み込む環境変数名(GOOGLE_API_KEY, GOOGLE_API_KEY_1, GOOGLE_API_KEY_2など)をNameに、実際のAPIキーをSecretに入力します。お持ちのAPIキーの数だけこの作業を繰り返してください。
    • Name: GOOGLE_API_KEY
    • Secret: AIzaSy...your...first...key
  5. [Add secret] をクリックして保存します。

GitHub Secretsの設定画面

ステップ2:GitHub Actionsのワークフローファイルを作成する

次に、スクリプトを実行するための指示を記述したワークフローファイルを作成します。

  1. リポジトリのルートに .github/workflows/ というディレクトリを作成します。
  2. そのディレクトリ内に、run-gemini-search.yml のような名前で新しいYAMLファイルを作成します。
  3. 作成したファイルに、以下の内容をコピー&ペーストしてください。
# .github/workflows/run-gemini-search.yml

name: Run Gemini Parallel Search

# ワークフローを手動で実行できるようにする
on:
  workflow_dispatch:

jobs:
  run-script:
    # 実行環境として最新のUbuntuを使用する(無料枠の対象)
    runs-on: ubuntu-latest

    steps:
      # 1. リポジトリのコードをチェックアウトする
      - name: Check out repository code
        uses: actions/checkout@v4

      # 2. Python 3.11 環境をセットアップする
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      # 3. 必要なPythonライブラリをインストールする
      - name: Install dependencies
        run: pip install -r requirements.txt

      # 4. スクリプトを実行する
      #    GitHub SecretsからAPIキーを環境変数として渡す
      - name: Run Gemini Search Script
        run: python gemini_search_parallel.py --prompt-file input_data_sumple.txt --parallel 10
        env:
          # GitHub Secretsに登録したキーを環境変数に設定
          # 複数のキーがある場合は、以下のように追加してください
          GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
          GOOGLE_API_KEY_1: ${{ secrets.GOOGLE_API_KEY_1 }}
          # GOOGLE_API_KEY_2: ${{ secrets.GOOGLE_API_KEY_2 }}

      # 5. 実行結果(output.jsonとログ)を成果物としてアップロードする
      - name: Upload results
        uses: actions/upload-artifact@v4
        with:
          name: search-results
          path: |
            output.json
            log/

ステップ3:ワークフローを実行する

上記の設定が完了すると、GitHubリポジトリの [Actions] タブからワークフローを手動で実行できるようになります。

  1. リポジトリの [Actions] タブに移動します。
  2. 左側のワークフローリストから [Run Gemini Parallel Search] を選択します。
  3. [Run workflow] というボタンが表示されるので、それをクリックし、表示されるポップアップでもう一度 [Run workflow] をクリックします。

Run workflow button

実行結果の確認

ワークフローが実行されると、リアルタイムで進行状況を確認できます。実行が完了すると、[Artifacts] セクションに search-results という成果物が表示されます。これをダウンロードすることで、実行結果のoutput.jsonファイルとlogディレクトリ内のログファイルを確認できます。

無料枠について

  • 実行時間: 公開リポジトリでは、GitHub Actionsは月2,000分まで無料で利用できます。今回のような処理は時間がかかる可能性があるため、実行頻度にご注意ください。
  • ストレージ: 成果物(Artifacts)の保存にはストレージ容量が消費されますが、公開リポジトリでは500MBまで無料です。

以上の手順で、安全かつ無料でご希望のスクリプトをGitHub Actions上で実行できます。

github actions の情報

パブリックリポジトリで使えば完全無料 ほとんど制限ない

プライベートリポジトリだと制限は、あるが無料枠もそこそこあるので、使えなくない

詳細は、以下のどこかにあります。
このURLは、google ai studio のurlです。
このページの一番先頭部分で、github actions のドキュメントを読ませてますので、github actions については、なんでも分かります。
github actions について、自分が聞きたいことを聞いてみてください。何か返答してくれます。

以上

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?