伊田生活ブログのロゴ
HOME  >  勉強
カテゴリー : 勉強 - その他
•ChatGPT •Python •プロンプト

ad:


公開日:

ChatGPTへのプロンプトをPythonで書いてみる


img_1
2024-07-28

ChatGPTに代表される生成AIは、日常生活において、さまざまな場面で活用され、その活用の幅は今後さらに広がっていくことでしょう。そんな中、「生成AIに送るプロンプトをどのように書くか」が、課題となっています。

この記事では、ChatGPTに送るプロンプトをPythonで書く方法を紹介します。


まず、以下のような、Markdown記法で記述したプロンプトを考えます。

あなたは、プロのWebライターです。
以下の目的、対象者、テーマ、制約条件に基づいて、文章を書いてください。

#目的
読者にとって興味深いトピックを提案し、QOLを高めるきっかけとなる有益な情報を提供する。

#対象者
10歳から12歳の、山梨県在住の小学生

#テーマ
生成AIの時代において、QOL向上の観点から、人間が自分で文章を書くことの有意性について。

#制約条件
•文字数は250字程度。
•テキスト形式で出力すること。
•読みやすさを重視し、簡潔で明確な表現を使うこと。
•以下のキーワードを本文中に使用すること。

#キーワード
•甲府市
•武田信玄
•県庁
•韮崎観音

上記の例と同じ内容のプロンプトをPythonで記述することを考えます。以下に、例を示します。

[Pythonのコード]
class prompt:

    keywords = ['甲府市', '武田信玄', '県庁', '韮崎観音']

    def exe(self):
        message = '''
あなたは、プロのWebライターです。
以下の目的、対象者、テーマ、制約条件に基づいて、文章を書いてください。

#目的
読者にとって興味深いトピックを提案し、QOLを高めるきっかけとなる有益な情報を提供する。

#対象者
10歳から12歳の、山梨県在住の小学生

#テーマ
生成AIの時代において、QOL向上の観点から、人間が自分で文章を書くことの有意性について。

#制約条件
•文字数は250字程度。
•テキスト形式で出力すること。
•読みやすさを重視し、簡潔で明確な表現を使うこと。
•self.keywords のキーワードを本文中に使用すること。
'''.strip()

        #print(self.keywords)
        print(message)

obj = prompt()
obj.exe()

このコードをコマンドプロンプトで実行すると、以下のように表示されます。

image 1

[ 画像1. コマンドプロンプトの表示 ]

 

つまり、このコードは、ChatGPTへのプロンプト(メッセージ)を表示するプログラムです。


#PythonのコードをコピペしてChatGPTに送ってみました。ChatGPTは、下図のような、通常のプロンプトと同様の答えを返してくれました。

image 2

[ 画像2. ChatGPTの出力 ]

 

コードの中で、keywords = ['甲府市', '武田信玄', '県庁', '韮崎観音'] という記述によってキーワードを指定しています。そして、「•self.keywords のキーワードを本文中に使用すること。」という記述で、それらキーワードを参照しています。こうすることで、参照関係を明確にするのが、Pythonで書いた狙いでした。

何回かChatGPTにコードを送ってみましたが、うまくいかない場合もありました。たとえば、プロンプトの内容をそのまま出力するだけで、答えを出力しないことがありました。


ChatGPTに送るプロンプトをPythonで書いてみました。変数や関数やクラスなどの、プログラミング言語の機能を使うことで、ChatGPTにより明確に意図を伝えられるかもしれません。





ad: