先回は、ChatGPTが知らないことをChatGPTに聞いてみる記事で、ChatGPTに非公開個人資料について質問する方法についてお話ししました。今回は、さらに改善された方法と活用についてご紹介したいと思います。
まず、Notionから希望するページを持ってくる必要があります。Notionの右の文のメニューをクリックしてエクスポートを選択します。つづいて、下層ページを含めるかを決定します。「下層ページを含む」を選択すると、当該ページとこれと連結された下層ページをすべてダウンロードできます。選択したらエクスポートボタンをクリックします。
ダウンロードリンクはメールに送信されます。リンクをクリックしてダウンロードして解凍し、作成されたフォルダを整理して集めておいてください。私は、下図のようにnotionというフォルダの下層に持ってくる資料を集めて整理しました。
インストール、設定などの過程は、最後にご説明します。
インストールと設定がすべて完了したと仮定して、使用結果から見てみたいと思います。下の画像は、質問に対する結果画面です。質問にあるlogsinkは、WhaTapの技術です。これに関する資料をダウンロードした文書ですべて検索、類似する内容が含まれたものをChatGPTが整理して回答した内容です。画面下には、参考にしたNotionの文書名が表示されます。
他の開発者が実行したプロジェクトを参考にしたり受け継ぐ場合、詳細なガイド文書や説明があれば問題ありませんが、そうでない場合もあります。また、そのような文書があったとしても、現在のコードの状態と異なる場合も多いです。
下の画像は、プロジェクトコード全体を提供して質問した結果です。
プロジェクトに対するさまざまなダイアグラムと気になる部分のコード実行などに対する質問を通じて、プロジェクト全般に対する理解を深めることができます。
分析と同じように、実行中のプロジェクトコード全体を送って、その後実行について質問したり、追加開発を指示することができます。下の画像は、既存のコードへの機能追加をリクエストした結果です。内容が長いため、一部のみキャプチャしました。
ChatGPTが既存のプロジェクトのコードを分析してコードをリクエスト時に必要そうな情報を一言一句記入する作業が不要になりました。単純かつ抽象的に希望することをリクエストして、その後足りない点は少しずつ加えられるため、他の同僚開発者と一緒にペアプログラミングするように開発を進められます。
git clone https://github.com/your-repo/CodeSage.gitcd CodeSage
pip install -r requirements.txt
SageSettings.json
ファイルを開いて、"your_openai_api_key"の代わりにAPIキーを入力します:
{"openai_api_key": "your_openai_api_key","extensions": [".md", ".vue", ".js", ".json", ".css", ".html", ".py", ".java", ".ts", ".jsx", ".tsx", ".php", ".c", ".cpp", ".h", ".cs", ".swift", ".rb", ".go", ".kt", ".sql", ".hpp", ".m", ".mm"],"ignore_folders": ["SageLibs", "SageTemplate", "node_modules", "cypress", ".gradle", ".idea", "build", "test", "bin", "dist", ".vscode", ".git", ".github", ".expo"],"ignore_files": ["CodeSage.py", "SageSettings.json", "question_history.json", "embeddings.jsonl", "package-lock.json"],"essential_files": ["README.md", "package.json", "src/router/index.js"]}
python CodeSage-Multi.py
http://localhost:8080
にアクセスして、画面右上のフォルダアイコンをクリックします。今回ご紹介したCodeSageは、単純なプログラムですが、開発者の日常の業務を大きく改善できるツールです。プロジェクト分析、コードレビュー、文書化などさまざまな作業にかかる時間を節約して、効率性向上にお役立てください。
CodeSageプロジェクトは、アップデートとフィードバックを継続して、さらに発展した機能をご提供してまいります。皆様のご意見をお待ちしております。