こんにちは。sinyです。
ChatGPTのAPIを使って文章校正、画像生成機能をDjangoアプリで実装して遊んでみました。
その際の手順をNote記事にまとめましたので、気になる方はぜひ試してみてください。
文章校正機能
文章校正機能は以下のような流れで実装しています。
- Web画面上で校正したい文章を入力する
- 入力した文章を元にChatGPT用の入力データを生成する。
- ChatGPTのAPIを使って文章校正結果を取得する
- 取得した文章を加工して修正箇所がわかりやすいようにWeb画面に表示する。
Djangoを使って実装した文章校正画面は以下のようなものです。
以下の通り、校正の結果削除された部分は取り消し線を追加、追加された部分は背景色を黄色&赤色のアンダーラインをつけて修正箇所がわかりやすいようにしてみました。
ポイント
校正結果の精度を少しでも向上させるため、ChatGPTにリクエストを投げる際に、単に文章校正を指示するのではなく、以下の様にマークダウン形式で指示を与えるようにしています。
あなたは、文書校正のプロです。
以下の制約条件に従い、入力文の間違いを修正してください。
#制約条件:
・修正後の文章のみ出力すること。
・重要な間違いを見逃さないこと。
・文法上おかしい部分を修正すること。
・前後のつながりを考慮して明らかにおかしい部分を修正すること。
#入力文:
接客や調理になれたら、お店の店超候補の方にはすこしづつ、店長として必要な管理業務や仕入れ業夢、スタッフの育成をはじめ、店鋪運営に必要な業務を教えす。
#出力文:
画像生成機能
画像生成機能については以下ようなフローで実装しています。
- Web画面上で生成したい画像のイメージまたは簡単な説明文を入力する。
- 入力された説明文を元にChatGPTに表現豊かな説明文(英文)を生成させる。
- ChatGPTが生成した説明文(英文)を元にStable Diffusion(画像生成モデル)を使ってテキストから画像を生成する。
- 生成された画像データをエンコードしてWeb画面に表示する。
実際の画像生成結果例は以下の様になります。
ポイント
画像生成に使う文章自体をChatGPTに生成させている点がポイントです。
人が入力したシンプルな説明文を元により表現豊かな説明文を生成してもらい、その文章を元にstable Diffusion(画像生成モデル)を使って画像を生成させます。
なお、表現豊かな説明文を生成する文章も、以下のようなマークダウン形式のデータを使っています。
このフォーマットに記載する文章や制約条件によって生成される画像の精度やスタイルなどが大きく変換しますのでいろいろ試してみると面白いと思います。
あなたは、文書作成のプロです。
以下の制約条件と入力文を元に、より表現豊かな文章を英語で出力してください。
#制約条件:
・出力文は3センテンスであること。
・重要なキーワードを取り残さないこと。
・文章を表現豊かにすること。
#入力文:
[input]
#出力文:
具体的な実装手順は以下のNote記事ですべて無料公開しています。
以上、「ChatGPTのAPIを使ってDjangoアプリを実装してみる」でした。
「参考になった。面白かった。」と思った方はぜひSNS等でシェアいただけると嬉しいです。