2023/11/7のOpenAI Developer Day keynoteでgpt-4Turbo・GPTsなどが取り沙汰されていたが,前から話題だった画像理解のAPIもきていたので使ってみた.
以下が公式URL platform.openai.com
コード
画像URLを指定して,その表示+説明文生成です.ColabなりJupyter想定です.
import openai import os import requests from IPython.display import display, Image from io import BytesIO os.environ['OPENAI_API_KEY'] ="*******" #<- ここにAPIのキーを入力 image_url = "https://cdn.pixabay.com/photo/2018/04/26/16/31/marine-3352341_1280.jpg"#例のURL from openai import OpenAI client = OpenAI() response = client.chat.completions.create( model="gpt-4-vision-preview", messages=[ { "role": "user", "content": [ {"type": "text", "text": "次に入力される画像の説明を日本語で行ってください"}, { "type": "image_url", "image_url": image_url, }, ], } ], max_tokens=300, ) res_txt = response.choices[0].message.content response = requests.get(image_url) response.raise_for_status() # ステータスコードが200でない場合は例外を発生させる display_width = 500 # 例として幅を100ピクセルに設定 # 取得したバイトデータをIPython.display.Imageオブジェクトに変換し、サイズを指定して表示 image = Image(response.content, width=display_width) # 画像を表示 display(image) # 説明文を改行区切りで表示 for sentence in res_txt.split('。'): if sentence: print(sentence.strip() + '。')
実行結果
"role": "user"とかをみると普通のGPT 4などと同じように会話履歴だったり初期プロンプトなども入れれそう.あと公式の例は英語だったけど普通に日本語も対応している.
以下のColabファイルで試せます.
備考
ちなみにですが,料金はGPT4 Turboと同じような気がします.であればかなりリーズナブル