はじめに
Data Science Leagueのエンジニア、yodaです。2023年5月6日から5月7日にかけて開催された「HackGPT Tokyo2023」に参加しました。DSLからも複数のメンバーが参加しました。
ハッカソンではAPI使用に関する講義の後、開発を始めるためのKick Offセッションが行われました。ChatGPTのAPIを活用した新しいアイデアを出すために、チーム全員でブレインストーミングを行いました。最終的に、私たちのチームは4コマ漫画自己紹介アプリの開発に集中することを決めました。
開発期間中のBuild Timeでは、チームメンバーが協力してアプリの開発に取り組みました。私たちのアプリは、ユーザーがプロフィール写真やキャプションを入力すると、ChatGPTが自動的にそれに基づいて4コマ漫画を生成する機能を備えていました。
ChatGPTのAPIを効果的に活用するための重要なポイント
ChatGPTのAPIを効果的に活用するためには、以下の重要なポイントに注意する必要がありました。
- 適切なプロンプトエンジニアリング
ChatGPTは指示されたプロンプトに基づいて応答を生成します。したがって、明確で具体的な指示を与えることが重要です。プロンプトには、ユーザーのプロフィール情報や要求事項を適切に組み込むことで、よりパーソナライズされた結果を得ることができます。私たちのチームは、ユーザーの情報を適切にプロンプトに反映させることで、高品質な漫画の生成に成功しました。
prompt = f"""
「自己紹介」を基に、起承転結を意識して4コマ漫画を作りたい。「何コマ目か(数字)」と「起、承、転、結でそれぞれ文章(日本語)」と「その場面に該当する画像を出力するプロンプト(English)」を出力してください。
出力はJSON形式のみにしてください。
keyとvalueの対応を以下に示す。
key:value
= panels:何コマ目?
= caption:その場面の説明
= sceneDescription:その場面の絵を生成するプロンプト
~~~~~~~~
-
高品質なデータセットの収集と整形
ChatGPTのファインチューニングには、高品質なデータセットが必要です。私たちのチームは4コマ漫画のデータセットを収集し、適切な形式に整形する作業に時間を費やしました。データセットの質と量は、モデルの性能に直接影響を与えるため、慎重に選択し、整形する必要があります。特に、特定のトピックやスタイルに合わせた漫画生成を行う場合には、適切なデータセットの収集が重要です。 -
エラーハンドリングと応答品質の向上
ChatGPTのAPIを使用する際には、エラーハンドリングと応答品質の向上にも注意を払う必要があります。ユーザーからの入力によっては、予期しない応答や不適切な結果が生成される場合があります。私たちのチームは、エラーハンドリングの仕組みを実装し、生成された漫画の品質を向上させるためにフィードバックループを活用しました。
成果
最終プレゼンテーションでは、私たちのチームが開発した4コマ漫画自己紹介アプリを発表しました。その創造性とエンターテイメント性は他の参加者から高く評価され、最終的には1位を獲得することができました。
感想
ChatGPTのAPIを効果的に活用するためには、適切なプロンプトエンジニアリングと高品質なデータセットの収集と整形、エラーハンドリングと応答品質の向上といったポイントに注意する必要があります。これらの要素を適切に組み合わせることで、優れたプロダクトの開発とユーザー満足度の向上を実現できるでしょう。