GPTsで小さいリポジトリの詳細解説GPTをサクッとつくる
リポジトリのファイル一式を丸っとアップロードしたら、それを熟知した上で解説とか、最適なコード提案とかしてくれるのではないか?と思ったことはありませんでしょうか?私は思っていまして、自分なりに色々試してみました。GPTsとAssistantでファイルアップロードが使えますので、両方で試してみましたが、リポジトリサイズが大きくなるとかなり厳しい感じで、期待した結果はほとんど得られませんでした。でも小さいサイズのリポジトリであれば、リポジトリのディレクトリ構造・各ファイルの詳細を把握した上で、解説やコードの提案をしてくれました。
やること
- 解説してほしい小さなリポジトリをクローンする
- リポジトリを1つのファイルにする
- GPTsを作る
- GPTsにファイルをアップロードする
- 質問する
解説してほしい小さなリポジトリをクローンする
私は今ちょうどSeaORMのお勉強を始めています。WebフレームワークはRocketを使っていますので、SeaORMとRocketのサンプルプロジェクトの確認をしようと思いました。そこで、SeaORMリポジトリをクローンします。
git clone https://github.com/SeaQL/sea-orm.git
リポジトリを1つのファイルにする
今回は、上記のsea-ormのexamplesにある、rocket_exampleの詳細を確認したいと思います。
リポジトリを自動で1つのファイルにまとめたかったので、自分でrepconというのを作りました。これはディレクトリ内のテキストファイルをまとめてくれます。
下記のように使えますので、よかったら使ってみてください。
cd sea-orm/examples/rocket_example
repcon .
これで、output/output_1.txt
というのが出力されます。このoutput_1.txt
にrocket_exampleの全ファイルがまとまっています。
GPTsを作り、ファイルをアップロードする
instructionsに、下記を設定して、上記output_1.txt
をアップロードしました。
あなたはSeaORMとRocketを用いたRustのプロジェクトサンプルの解説をしてくれます。添付のファイルがそのプロジェクトサンプルのソースコード一式となります。
このソースコード一式を熟知していて、あらゆる詳細な質問に回答することができます。回答は常に非常に簡潔であり、短いです。日本語を使います。
あいまいな回答は一切せず、不明なものは即座に不明であり、確認不可能であると回答します。
GPTsの作成画面はこんな感じです。
質問する
下記のように、どんなクレート(ライブラリ)が入っているかや、各クレートの役割、apiのエンドポイントの種類、ディレクトリ構造の表示などができました!
クレートの個数を聞いてみる
各クレートの役割を聞いてみる
APIのエンドポイントの種類を聞いてみる
リポジトリのディレクトリ構造を聞いてみる
これらはGithubリポジトリのURLを提示するだけだと、できないことが多いと思うので、結構便利に使える可能性はあるかなあと思いました。といっても、冒頭で申し上げましたが、大きいサイズになると厳しいですし、嘘情報も結構入ってくるので、利用用途は限定されるかなあとは思います。
Discussion