GeminiアプリでGitHubリポジトリを解説させてみた

記事タイトルとURLをコピーする

G-gen の三浦です。当記事では、特定の GitHub リポジトリの内容を Gemini アプリに解説させる方法を紹介します。

概要

当機能について

Gemini アプリでは、GitHub のパブリックリポジトリまたはプライベートリポジトリをインポートして、その内容に関する質問や依頼ができます。

この機能は、ソースコードの理解の支援や改善案の提案、コード生成、エラー解析といった用途に利用できます。

詳細は以下の公式ドキュメントをご参照ください。

Gemini アプリとは

Gemini アプリは、Google が提供する生成 AI チャットアプリケーションです。プログラミング、ドキュメント作成、質問応答など多用途に対応しています。

Google アカウントを持っていれば、ウェブブラウザで gemini.google.com にアクセスしたり、モバイルデバイス向けアプリをダウンロードすることで利用できます。

詳細は以下の公式ドキュメントや記事をご参照ください。

前提条件

当機能は、以下の特定の Google Workspace エディションまたはアドオンでのみ利用できます。

  • Business Standard / Plus
  • Enterprise Standard / Plus
  • Gemini Education
  • Education Premium

詳細は以下をご参照ください。

検証手順

検証手順は次のとおりです。

項番 内容 説明
1 パブリックリポジトリをインポートし、コード理解と改善を試行 GitHub リポジトリをインポートし、コードベースの理解や改善提案を Gemini に依頼します。
2 プライベートリポジトリのフォルダをインポートし、デバッグやコード生成を試行 フォルダをアップロードし、生成・デバッグ用途での使い方を確認します。

検証

リポジトリとディレクトリ構成

本検証に使用したリポジトリの構成は以下のとおりです。

# パブリックリポジトリ

.
├── README.md
└── main.py
 
# プライベートリポジトリ

.
├── README.md
└── error
    └── error.py

main.py

シンプルな Flask アプリを使用しています。ブラウザに "Hello, World!" を返すだけの最小構成です。

from flask import Flask
 
app = Flask(__name__)
 
@app.route("/")
def hello():
    return "Hello, World!"
 
if __name__ == "__main__":
    app.run()

error/error.py

意図的に ZeroDivisionError を引き起こすテストコードです。Gemini アプリでのデバッグ用に使用します。

from flask import Flask
 
app = Flask(__name__)
 
@app.route("/")
def home():
    return 1 / 0
 
if __name__ == "__main__":
    app.run(debug=True)
 

パブリックリポジトリのインポート

Gemini アプリ(https://gemini.google.com)へアクセスします。

[+(ファイルの追加)] > [コードをインポート] を選択します。

コードをインポートを選択

GitHub リポジトリの URL を入力し、「インポート」を選択します。

インポートの実施

内容を確認し、「接続」を選択します。

GitHub との接続を実施

接続が完了すると、接続した GitHub のリポジトリ情報が表示されます。

インポート確認

コード理解と改善の確認

まずは以下のプロンプトで、リポジトリのコード全体について説明を求めてみます。

このリポジトリのコードについて教えてください

リポジトリのコード解説

次に以下のプロンプトで、アプリのセキュリティ改善の提案を依頼してみます。

この Web アプリに対して、セキュリティ上のリスクがあれば指摘し、改善案を提示してください

リポジトリのコード改善

プライベートリポジトリのフォルダインポート

Gemini アプリの新しいチャットから、再度 [+(ファイルの追加)] > [コードをインポート] を選択します。

[フォルダをアップロード] から、error フォルダを選択します。

フォルダをアップロード

注意内容を確認し、[アップロード] を選択します。

アップロードを選択

アップロードしたフォルダが表示されていることを確認します。

アップロード確認

デバッグとコード生成の確認

以下のプロンプトで、エラーが出る原因と改善方法を確認します。

このアプリの実行時にエラーが出る理由を教えてください。また、修正方法も教えてください。

原因と改善方法の提示

次に以下のプロンプトで、認証機能を追加するコードを生成できるか確認します。

このアプリに対して、ユーザー名とパスワードでログインできる認証機能を追加したいです。必要なコードを生成して教えてください。

機能追加のためのコード生成

三浦 健斗(記事一覧)

クラウドソリューション部

2023年10月よりG-genにジョイン。元オンプレ中心のネットワークエンジニア。ネットワーク・セキュリティ・唐揚げ・辛いものが好き。