GPT-Pilotでアプリを開発(続き1)
VS Code版のGPT-Pilotで日記アプリを開発してみる続きです。
タスク4が終わったので、タスク5に進むように指示したら、突然テクニカルライターエージェントが登場しました。
テクニカルライターエージェントは、以下のREADME.mdを作成しました。英語ですが、アプリの概要と特徴、インストール方法を分かりやすく書いてくれています。
MemoJournal
MemoJournal is a web application designed to transform short notes into diary entries. It allows users to jot down quick memos and then compiles these notes into a cohesive diary format, enabling users to reflect on their thoughts and experiences over time.
Overview
The application utilizes a Node.js and Express backend with MongoDB for data storage, incorporating Mongoose ORM for database operations. The frontend leverages EJS for templating and Bootstrap for styling, ensuring a responsive design. Authentication is session-based, and the project structure is organized into models, routes (including API endpoints), views, and configuration files.
Features
User Registration and Authentication: Users can sign up and log in using a username and password.
Memo Recording: Logged-in users can record memos, which are saved along with the timestamp of creation.
Calendar Functionality: A calendar highlights dates with memos, allowing users to navigate through months and select dates to view associated diary entries.
Diary Viewing: Clicking on a highlighted date displays a diary entry generated from memos of that particular day.
Automated Diary Generation: Memos are compiled into a diary entry format using GPT-3.5.
Getting started
Requirements
Node.js
MongoDB
Quickstart
Clone the repository.
Install dependencies with `npm install`.
Set up your `.env` file based on the `.env.example` template.
Start the server with `npm start`.
Visit `http://localhost:3000` in your web browser to access the application.
License
Copyright (c) 2024.
開発(タスク5)
タスク5を進めるかどうか聞かれました。いよいよGPTとの連携部分を実装するようです。Yesを押します。
最初に開発者エージェントがタスクを以下のようなステップに落とし込みました。
OpenAI SDKをインストールする
`npm install openai`コマンドを実行
`.env`ファイルにOpenAI APIキーを追加
`OPENAI_API_KEY=your_openai_api_key_here`の行を追加し、実際のAPIキーに置き換える
`./routes/diaryRoutes.js`を修正
OpenAI SDKをインポートし、環境変数を読み込む
`/diary/:date`ルートハンドラで、取得したメモをGPT-3.5 APIに送信し、日記エントリを生成
生成された日記エントリでビューを更新
`views/diary.ejs`を修正
生成された日記エントリを表示するように更新
メモの反復表示セクションを置き換える
openaiにアクセスするためのライブラリをインストールするコマンド`npm install openai`を実行して良いか聞かれます。Yes
私に.envファイルの5行目を修正するように依頼してきました。該当ファイルを開いて、修正する箇所をハイライトしてくれています。「mongodbのURLを修正するように」と指示されていますが、特に修正する必要はなさそうなので、INPUT_REQUIREDというコメントを消して保存、Continueを押します。
続いて、11行目を編集するように、と指示されました。OpenAIのAPIキーを設定する場所です。ちゃんとハイライトしてくれています。APIキーを入力して、保存、Continueを押します。
コーディングが終わったようです。人間が確認するターンになりました。
テストします。
ステップ6まではOK。ステップ7で、画面には"GPT-3.5が生成した一貫性のある日記"ではなく、エラーが表示されます。
「ステップ7でエラー。画面にはGPT-3.5が生成した一貫性のある日記ではなく、"Server error while fetching memos"と表示される。」と伝えます。
バックエンドのログが欲しいと言われたので、Copy Outputボタンを押して、ログをコピーして、Submit。
OpenAIのライブラリが古いことを疑っているようです。最新のライブラリをインストールするコマンド`npm install openai@latest`を実行しても良いかと聞いてきました。Yes
修正が終わって、再度、人間が試す番になりました。
ダメです。ステップ7が失敗することを5回伝えましたが、毎回、`npm install openai@latest`を実行させられるだけで、エラーが解消する気配がありません。ソースコードを見てみたい気持ちを堪えて、これまで押したことのない、I'm Stuck In A Loopボタンを押してみます。
新しいボタンが出てきました。1番から5番のソリューションから選んで欲しいようです。
OpenAIのライブラリバージョンが怪しいので3番をクリック。バージョン4.33.1をインストールして良いか聞かれました。Yes
人間のターン。
解決しません。4以外のボタンも全て押してみましたが、エラーは解消しませんでした。
また新しいソリューションを5つ提案してきたので、成功するまで、ボタンを押し続けようかと思いましたが、料金がえらいことになりそうなのでやめました。
この記事が気に入ったらサポートをしてみませんか?