本記事では、OpenAIとPythonを利用してさまざまな作業を自動化するプログラム作成の手順について簡単なプログラムを例に取りながら紹介します。
本記事の読者層は以下の方を想定しています。
- OpenAI+Pythonでプログラムに関心のある方
OpenAI+Pythonでプログラム
ChatGPTは5兆語とも言われるネット上の膨大な言語データもとに、機械学習を行いもっとも頻繁に発生する次の言葉を繋げることで文章として生成してしますプログラムです。
同様にデータ言語だけでなく、ネット上に点在しているコードについても同様に言え、実際に創っていると言うよりはコードの順番などを頻度の高い順に並び変えているだけなのかもしれません。
ChatGPT4.0
仕事で使えるツールを自作したい場合は、ChatGPT4.0は必須のツールです。ChatGPT3.5の日本語は、中学生レベルでChatGPT4.0日本語版は大学生レベルだと言われています。
無料版で限界を感じた際には有料版を購入して見ても良いかもしれません。
OPenAIでPythonプログラムの準備
今回のChatGPTで生成されたプログラムは、Jupyterと呼ばれるpython実行アプリケーションを用いて検証してみます。
今回医療するJupyterはanaconda3をインストールすることで利用出来ます。インストールの方法等に関しては別の記事をご参照下さい。
それでは次にChatGPTへプログラム作成のお願いをしてみます。
OPenAIでプログラムする方法
以下を入力ください。
あなたはPythonのプログラマーです。
<仕様>で示す内容のプログラムを作成してください。
不足する情報があれば質問してください。
<仕様>
・フォルダを指定します。
・フォルダの初期値はc:\folderとします。
・指定したフォルダ以下にある画像ファイルのフルパスの一覧を作成してください
・画像ファイルとは拡張子が .jpg .png .tif のファイルの事です。
・ファイルのフルパス一覧に加えてその下にクリックで画像とリンクを表示してくれるHTMLファイルを作成してください。
Ubuntuで利用
OpenAIを利用する方法は以下の記事を参照ください。
ChatGPTを利用してPythonプログラムを効率的に生成する方法は以下の記事を参照ください。
このように文章にするだけで、え、これで出来てしまうのと思うレベルの完成度の高いプログラムができます。
import os
def create_image_list(folder_path):
image_extensions = ['.jpg', '.png', '.tif']
image_list = []
for root, dirs, files in os.walk(folder_path):
for file in files:
if any(file.lower().endswith(ext) for ext in image_extensions):
image_list.append(os.path.join(root, file))
return image_list
def generate_html(image_list, output_html_path):
with open(output_html_path, 'w') as html_file:
html_file.write('<html>\n<head>\n<title>Image Viewer</title>\n</head>\n<body>\n')
for image_path in image_list:
html_file.write(f'<a href="file://{image_path}" target="_blank"><img src="file://{image_path}" width="400"></a><br>\n')
html_file.write('</body>\n</html>')
if __name__ == "__main__":
# フォルダの初期値
folder_path = r'c:\folder'
output_html_path = 'image_viewer.html'
# 画像ファイルのフルパス一覧を取得
image_list = create_image_list(folder_path)
# HTMLファイルを生成
generate_html(image_list, output_html_path)
print(f'HTMLファイルが生成されました: {output_html_path}')
まとめ
本記事では、OpenAI+Pythonでプログラムを学びました。
次回の記事をご期待下さい。どうぞよろしくお願いいたします。
コメント