GPT-4oで始めるマルチモーダルAI実践入門:画像解析をPythonで試す

GPT-4oで始めるマルチモーダルAI実践入門:画像解析をPythonで試す

マルチモーダルAIが身近になった時代

はい、このサイトで学ばせてもらってる一人です。最近、AIの進化って本当にすごいスピードです。特にこのサイトが追いかけている「マルチモーダルAI」って、テキストだけじゃなくて画像や音声も一緒に理解してくれるという、まさに次世代の技術。単に「こんな技術がありますよ」で終わるんじゃなくて、「それをどうビジネスで活かすか?」という視点で情報を発信してくれているのが、非常に勉強になるのです。技術のニュースを見て「へぇ、すごいな」と感心するだけじゃ、何も始まらない。私たちの仕事やサービスにどう組み込めるかを考えることで、初めてその価値が生まれるんだなって、ここの皆さんと一緒に未来を考えていると、ひしひしと感じます。

APIで誰でも触れる時代へ

ほんの少し前まで、マルチモーダルAIなんて、一部の研究者や巨大IT企業だけのものという印象でしたよね。でも、最近発表されたOpenAIのGPT-4o(omni)みたいに、APIが公開されて、私たち開発者や、ちょっとプログラミングをかじったことがある人なら誰でも触れるようになった。これって、ものすごい変化だと思うのです。ニュースで見るのと、実際に自分の手で動かしてみるのとでは、理解度も、そこから生まれるアイデアの解像度も全然違う。

Pythonで画像解析を実装してみる

例えば、「この写真に写っているもののカロリーを計算して」みたいな処理も、こんなにシンプルなコードで実現できちゃうんです。画像を読み込んで、テキストで質問を投げる。たったこれだけで、AIが画像を「見て」、内容を理解して答えてくれる。このコードをちょっと応用すれば、例えば、レシートの写真を撮って経費精算アプリに自動入力させたり、工場の部品の写真を撮って型番を特定させたり、なんていう業務改善ツールが、個人レベルでも作れちゃうかもしれない。

import base64
import requests
import os

api_key = os.environ.get("OPENAI_API_KEY")

def encode_image(image_path):
 with open(image_path, "rb") as image_file:
 return base64.b64encode(image_file.read()).decode('utf-8')

image_path = "food_image.jpg"
base64_image = encode_image(image_path)

headers = {
 "Content-Type": "application/json",
 "Authorization": f"Bearer {api_key}"
}

payload = {
 "model": "gpt-4o",
 "messages": [
 {
 "role": "user",
 "content": [
 {"type": "text", "text": "この画像に写っている料理のカロリーと栄養素を教えてください。"},
 {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{base64_image}"}}
 ]
 }
 ],
 "max_tokens": 300
}

response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)
print(response.json()['choices'][0]['message']['content'])

手を動かして未来を実感する

こういう実践的な体験をしてみると、このサイトの記事で語られている一つ一つの活用事例が、単なる未来予想図じゃなくて、実現可能なプランとしてリアルに感じられるようになってきます。技術の進化をただ眺めているだけじゃなくて、こうやって実際に手を動かしながら、その可能性を自分事として考えていく。このプロセスこそが、これからの時代に一番必要なスキルなのかもしれないですね。このサイトで新しい知識をインプットしつつ、自分でもどんどんコードを書いて、マルチモーダルAIで何ができるのかを試していきたいなと考えてます。