プロンプトで、インターネットの公開文章が、解析対象になるなら、画像は?
Google Geminiは、公開されているドキュメントも少なくて、試行錯誤のプログラミングと、プロンプティングを行っています。前回、「Google Colabで、Google Gemini(AI)のプログラミング解説、初心者用(#10)・プロンプトを極めよう」で、インターネット上にある文章について、Geminiに要約させるプロンプトを紹介しました。このプロンプトを実行してから、ふと疑問がよぎりました。
Google Geminiで、プロンプトで、インターネットに公開されている画像について、分析でないないのか?
そうです。実は、このBlogでは、Google Geminiを使った画像分析では、以下の方法試してきました。
Google Colabで、Google Gemini(AI)のプログラミング解説、初心者用(#3)
Google Colabの作業フォルダーに分析する画像を格納して、ローカルデータの画像を分析させました。
Google Colabで、Google Gemini(AI)のプログラミング解説、初心者用(#5)
インターネットに公開されている画像を、Google Colab上で動くcurlコマンドを使って、取り込んで分析する。
Google Colabで、Google Gemini(AI)のプログラミング解説、初心者用(#7)・写真撮影場所を調べよう
インターネット上に公開されている画像から、その画像の撮影場所を特定させる
しかし、いずれも、プログラム部分で、画像をGoogle Geminiに受け渡していました。では、プロンプトで画像分析させてみましょう。
いくつかの疑問が、今回のプログラムには、あるのですが、それは、最後にまとめるとして、まずは、私が成功した、プログラムとプロンプトを紹介しましょう。
いつものGoogle Gemini初期設定から
では、いつも通り今回もスタートです。
テキスト欄に、
# 初期設定
Gemini利用の
* SDKの導入
* パッケージのインストール
* API KEYの導入
* Geminiのモデル(gemini-pro)の指定
を行います。
コード欄に、
!pip install -q -U google-generativeai
import pathlib
import textwrap
import google.generativeai as genai
from IPython.display import display
from IPython.display import Markdown
def to_markdown(text):
text = text.replace('•', ' *')
return Markdown(textwrap.indent(text, '> ', predicate=lambda _: True))
# Used to securely store your API key
from google.colab import userdata
# Or use `os.getenv('GOOGLE_API_KEY')` to fetch an environment variable.
GOOGLE_API_KEY=userdata.get('GOOGLE_API_KEY')
genai.configure(api_key=GOOGLE_API_KEY)
model = genai.GenerativeModel('gemini-pro')
と入力です。
インターネットの画像を、プロンプトで認識させる
いよいよ、インターネットの画像を、プロンプトで認識させる部分です。
テキスト欄に、
## 指定なしで、インターネット上の画像を説明させる
コード欄に、
response = model.generate_content("次の画像を説明してください。 画像:https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Kunisada_Sumo_Triptychon_c1860s.jpg/1280px-Kunisada_Sumo_Triptychon_c1860s.jpg")
to_markdown(response.text)
と、入力です。
これで、プログラミング終了です。前回まで、利用していた、PythonのPIL(pillow)ライブラリーも使っていません。https:// 以下のURLは、自由に変えてみてくださいね。これで、終了です。
さぁ、インターネットの画像を、Google Geminiが認識するか?
さぁ、プログラムの実行です。コード欄の上部から、三角マークを順番に押します。すると、きちんと実行してくれました。私の場合の出力を以下に、残しておきますね。
この画像は、19 世紀半ばに歌川国貞によって描かれた「相撲力士三連画」です。
このトリプティクは次の 3 つのセクションで構成されています。
左のパネル:
部屋で相撲の練習をする力士たちを描いています。
力士たちは、木製の棒を相手に組み合ったり、土俵で立ち合ったりしています。
中央のパネル:
土俵の周りで歓声を上げる観客の前での相撲の取り組みを描いています。
2 人の力士が激しく戦っており、1 人が相手を押し倒そうとしています。
右のパネル:
相撲会場を去る力士たちを描いています。
力士たちは土俵を下り、観客に挨拶しています。
背景には相撲の番付が描かれています。
この作品は、江戸時代の相撲の活気を描いたものです。相撲力士の鍛錬、取り組み、そして観客の熱狂的な雰囲気を表しています。
成功です。あとは、「Google Colabで、Google Gemini(AI)のプログラミング解説、初心者用(#10)・プロンプトを極めよう」を参考に、さまざまな形式の出力を、みなさん試してみてください。
インターネットの画像のGoogle Gemini分析の疑問
実は、今回のプログラム、いくつか疑問が残ります。誰か、詳しい人が教えていただけると本当に嬉しいです。
Google Geimini Webサービスでは、このプロンプトが動かない
Google Colabで動いたので、Google GeminiのWebサービスで、動くか試してみました。
質問文に、
次の画像を説明してください。
画像:https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Kunisada_Sumo_Triptychon_c1860s.jpg/1280px-Kunisada_Sumo_Triptychon_c1860s.jpg
と入力すると、以下のような回答が返ってきます。
申し訳ありません。 ご提示いただいたウェブサイトにアクセスできません。 コンテンツにアクセスできないよくある理由は、サイトが有料だったり、ログインが必要だったり、機密情報だったりします。しかし、サイトにアクセスできない他の理由もあります。
今のところ、Webサービスから、このプロンプトは使えないようです。
分析モデルは、なぜか"gemini-pro"
Google Geminiの無料版では、"gemini-pro"と"genini-pro-vsion"があります。Googleのドキュメントでは、
Gemini Pro
入力: テキスト
出力: text
テキストを生成します。
マルチターンの会話形式を処理できる。
0、1、少数ショットのタスクを処理できる。
Gemini Pro Vision
入力: テキストと画像
出力: text
マルチモーダル入力、テキスト、画像を受け取れます。
0、1、少数ショットのタスクを処理できる。
となっていて、Geini Proでは、画像の受付と、分析は不明なのですが、このプログラム例では、できてしまうんですよね。
とはいえ、Google Geminiで、今までよりも簡単に画像の分析を行えるようになったので、まぁ、良しとしましょうか?
さぁ、まだまだプログラミングとプロンプトは続きますよ。
Comments