🤖
VertexAIを使用してPRをReviewしてみた
VertexAI を使用してPR reviewを簡単にしてみた。
pr agentの裏側をVertexAIを使用してGitHubのPull RequestレビューをAIにしてみました。
- API
aiplatform.googleapis.com
を有効にします。 - 以下のようなyamlを用意し、GitHubのリポジトリに配置します。
steps:
- name: 'gcr.io/cloud-builders/docker'
entrypoint: bash
secretEnv: ['GH_TOKEN']
args:
- '-c'
- |
docker run --network=cloudbuild -e config.model='vertex_ai/codechat-bison' \
-e config.fallback_models='vertex_ai/codechat-bison' -e vertexai.vertex_project=$PROJECT_ID \
-e GITHUB.USER_TOKEN=$$GH_TOKEN -e config.ai_timeout=300 -e config.verbosity_level=2 \
codiumai/pr-agent:latest --pr_url $_HEAD_REPO_URL/pull/$_PR_NUMBER review
availableSecrets:
secretManager:
- versionName: projects/$PROJECT_ID/secrets/review-secret/versions/1
env: GH_TOKEN
timeout: 3600s
options:
logging: CLOUD_LOGGING_ONLY
machineType: E2_HIGHCPU_32
machineTypeはこれでなくても良いですが遅いと時間がかかるかもしれません。
review
コマンドのオプショナルもここで調整できます。
- CloudBuildのデフォルトサービスアカウントではVertexAIの権限がないので、別で用意します。(そのためLoggingオプションを変えています。)
roles/aiplatform.user
、roles/cloudbuild.builds.builder
,roles/secretmanager.secretAccessor
, が最小限の権限となります。 - ここでPR作成者やレビュアが利用しやすいように、トリガーの設定を以下のようにします。
- 全て設定しおわった後に GitHub上で
/gcbrun
を実行すると以下のようなメッセージを得られます。
所感
- OpenAPIとVertexAI両方試してみてあまり差が見られなかった。12月13日以降、この発表のとおり、賢くなる可能性があるかもしれないので今後に期待します。
Discussion