👀

ChatGPTで英会話するサンプルを作成しました

2023/04/16に公開

初めましてNoboです。Webアプリを作っています。
ChatGPT触ってみたいなと思っていたのと、会社の人に「ChatGPT使って英会話するアプリとかできないかな?」と言われたので隙間時間を使ってサンプルを作ってみました。

作成したもの

こちらが作ってみたサンプルになります。
https://en-chat-app-8fvi.vercel.app/
https://github.com/Hitoshi-Noborikawa/en-chat-app

使い方

  1. スピーカーを選択します。(Google US Englishがおすすめです)
  2. 音声入力、テキスト入力のどちらかを選びます。
  3. 音声入力であれば「End」、テキストであれば「Send」を押すとチャットエリアに文字列が表示されます。
  4. 「Chat Clear」を押すとチャットエリアの全ての文字列が消されます。

・課金が一定のラインを超えたら使えなくなります。

詰まった箇所

文脈を判断するときに会話の履歴を含めた値をリクエストしないといけなかったのが少し時間がかかりました。

Whisperを使おうと思ったのですが、リアルタイムで音声認識された文字を出力したかったのでWebSpeechApiを使用しています。GoogleSpeechToTextでも良かったのですが、使用料が気になるので使いませんでした。(Whisperってリアルタイムで文字列出力できないですよね、、?)

ちゃんとしたアプリとして使うには

実際にユーザーが使用するアプリにするには色々ハードルがあるなと思いました。
・ChatGPTのレスポンスに対するエラーハンドリング
・課金状況をアプリ上でどう判定するのか
・英語以外の文字列が来た場合の返信内容
・優秀なプロンプトを考える

エラーハンドリングについては公式ドキュメントを読み込んで行くしかないと思っています。これはなんとかなりそう。

課金状況はOpenAIのUsageで確認できるのですが、その情報ってアプリ内でどう判定したら良いのかよくわかっていないです。Usageの情報を引っ張ってこれるなら良いですが、できないのなら、リクエストが成功する度に料金を加算していく必要がありそうだなと思っています。

英語以外の文字列が来た場合はなんかうまいことを言える返信内容にできれば良いのかなと思っています。

優秀なプロンプトは頑張るしかないですよね。まとめているGitHubリポジトリもあるらしいのでそこ見てみようかなと思っています。

ChatGTPを使ってみての感想

こんなに簡単に作れていいのだろうかっていうぐらい簡単に作れました。
あと6割ぐらいはChatGPTに教えてもらいながら作れたのでめちゃめちゃ優秀でした。
実際に作ってみてもっと色々できそうだなと思っています。
・会話の内容をシュチュエーションで分ける。親しい友達、先生、職場の同僚など
・間違えた、苦手な内容を復習できるようにする。
・文法や単語が間違っていたらポイントが下がるなどのゲーム性を入れるなど。
これからの進化がすごい楽しみです!

Discussion