gpt-4oを利用してアーキテクチャ図からCFNテンプレートを生成してみるはじめに
はじめに
株式会社TechoesインフラチームのTです!
今回は、5/13にリリースされたばかりのgpt-4oを使用してAWSのCFNテンプレートを生成する手順を解説していこうと思います。
実行環境
Windows: 11 Home
Python: 3.11.4
モデル: gpt-4o
openai: 1.30.1
Chatgpt APIとは
OpenAI社が提供しているChatGPTをPython等のプログラムから呼び出すためのインターフェースです。
Pythonなどのプログラミング言語からAPIを呼び出すことでアプリやサービスにテキストを生成する機能や理解する機能を実装することが可能になります。
料金について
ChatGPT APIは処理するテキスト量によって料金が決まる従量課金制となっています。このテキスト量を計測する単位がトークンです。
トークンは入力トークンと出力トークンの2種類があり「1000トークンあたり、いくら」という料金設定になっています。具体的な費用は使用するGPTモデルによっても変化します。
入力トークン: APIに送るテキスト量
出力トークン: APIから送られてくるテキスト量
事前準備
※Open AIアカウントは発行済みとします。
※請求情報は設定済みとします。
※Python動作環境は構築済みとします。
API Keyの発行
Open AIにログインしたら左のメニューからAPI Keysを選択します。
Create new secret Keyを選択してKey Nameを指定したらsecret keyを発行します。
発行後、key情報が表示されるのでコピーして控えておく。
※注意※
セキュリティ上の理由で一度key表示の画面を閉じると再度確認ができません。
openai ライブラリのインストール
pythonからAPIを呼び出すためにopenaiライブラリが必要になるのでインストールします。
テストコードで動作確認
※警告※
API Keyを実際のシステムで使用する際は、セキュリティの観点から環境変数に格納してください。
結果
本題
動作環境も整ったので実際にAWSアーキテクチャ図を作成してCFNテンプレート化していただきましょう!
流れ
gpt-4oへの画像入力はURLまたはbase64形式を使用するので、アップロード処理の前に画像をbase64形式でエンコードします。
命令文を日本語で記述すると英語に比べて消費トークン数が上昇するので英語での問い合わせをする。
処理結果はcfnテンプレートになるのでyaml形式で出力する。
結果
生成時間は20秒ほど
総消費トークン : 2321
入力トークン : 787
出力トークン : 1534
アーキテクチャ図内のcidrや名称も認識してテンプレート内に反映されている。
画像内に存在していない必要なリソースまで生成している。
作成したリソース一覧の出力をしてる。
ユーザーが作成、確認するべきリソースをピックアップしている。
所感
検証前は画像にあるものだけを生成して、大枠だけ作ってくれるくらいの気持ちでいたので正直驚きました。また、今回の検証では超低コストで検証できたのも嬉しいポイントです。ただ、もっと複雑なインフラ構成を生成できるのか、生成できたとしても複雑な分生成するテンプレートファイルも長文になるのでどのくらいのコストで生成できるのかが気になるところです。
参考資料
Pricing | OpenAI
API Reference - OpenAI API
https://chatgpt-lab.com/n/nea590e8f3e87
ChatGPTのAPIをPythonで試してみた #Python - Qiita
この記事が気に入ったらサポートをしてみませんか?