1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

土山竜輝Advent Calendar 2023

Day 18

Gemini Proのテキスト生成と画像説明を試してみた

Last updated at Posted at 2023-12-17

ゴール

この記事では、GoogleのGemini APIを使用して、テキストと画像に基づく情報を生成する方法を実装します。

スタートライン

  • 基本的なPythonの知識
  • Google Cloud PlatformアカウントとAPIキー
  • 必要なライブラリ(google.generativeai)のインストール

環境

  • Windows 11
  • Python 3.11.5
  • Google Gemini API

ステップ1 事前準備

Gemini APIのページにアクセスし、「Get API key in Google AI Studio」を選択します。

image.png
  
規約に同意して、「Continue」を選択します。

image.png
  
「Create API key in new project」を選択します。

image.png

API Keyが作成されました。コピーしておいてください。

image.png

  
以下のコマンドでgoogle-generativeaiをインストールします。

pip install google-generativeai

これで事前準備は完了です。

ステップ2 テキストベースの質問に対する回答の生成

YOUR GOOGLE API KEYには、先ほどコピーしたAPIキーを入れてください。

text.py
import google.generativeai as genai

GOOGLE_API_KEY = "YOUR GOOGLE API KEY"
genai.configure(api_key=GOOGLE_API_KEY)

model = genai.GenerativeModel('gemini-pro')

chat = model.start_chat()
response = chat.send_message('Pythonのメリットとデメリットについて教えてください。')
print(response.text)

このコードは、Gemini APIを使用して、与えられたテキスト「Pythonのメリットとデメリットについて教えてください」に対する回答を生成します。ここではgenai.GenerativeModelクラスを使用してモデルを初期化し、チャットセッションを開始しています。

実行結果

**メリット**

* **シンプル性:** Pythonは、クリーンで読みやすいコードを書くのに最適な言語です。これは、文法が比較的単純で、英語によく似ているためです。
* **多様性:** Pythonは、Web開発、データサイエンス、機械学習など、さまざまな分野で使用されている汎用言語です。
* **ライブラリとフレームワーク:** Pythonには、NumPy、SciPy、TensorFlowなどの膨大な数のライブラリとフレームワークが用意されており、これらはデータサイエンスや機械学習のタスクを簡単に行うのに役立ちます。
* **オープンソース:** Pythonはオープンソース言語であり、無料で使用して配布することができます。
* **コミュニティ:** Pythonは活発なコミュニティによってサポートされており、初心者を助けるために利用できるリソースがたくさんあります。

**デメリット**

* **速度:** Pythonは、コンパイル型言語よりも一般的に遅いです。
* **メモリ使用量:** Pythonは、コンパイル型言語よりも多くのメモリを使用することがあります。
* **デバッグ:** Pythonは、コンパイル型言語よりもデバッグが難しい場合があります。
* **複雑なタスク:** Pythonは、コンパイル型言語よりも複雑なタスクには適していない場合があります。

ステップ3 画像に基づく質問への回答の生成

from pathlib import Path
import google.generativeai as genai

GOOGLE_API_KEY = "YOUR GOOGLE API KEY"
genai.configure(api_key=GOOGLE_API_KEY)

model = genai.GenerativeModel('gemini-pro-vision')

picture = [{
    'mime_type': 'image/png',
    'data': Path('images/character.png').read_bytes()
}]
prompt = "これは何というキャラクターですか?:"

response = model.generate_content(
    contents=[prompt, picture[0]]
)
print(response.text)

このコードは、与えられた画像とテキストプロンプトに基づいて回答を生成します。genai.GenerativeModel('gemini-pro-vision')を使用して画像処理が可能なモデルを初期化し、画像データとプロンプトをモデルに送信しています。

画像は以下のくまモンの画像を使用しました。

実行結果

これは「くまモン」というキャラクターです。

「くまモン」は、熊本県のPRマスコットキャラクターです。

2010年3月12日に誕生しました。

「くまモン」は、熊本県の特産品である「くまもとサクラ」をモチーフにしており、頭には「くまもとサクラ」の花びらをイメージしたピンクのほっぺたがついています。

「くまモン」は、熊本県の観光や物産をPRするために、県内外のイベントに出演しています。

また、「くまモン」は、TwitterやInstagramなどのSNSでも活躍しており、多くのファンを獲得しています。

「くまモン」は、熊本県のPRマスコットキャラクターとして、県内外で活躍しています。

フィニッシュ

お疲れ様でした!
以下のXアカウウントで情報発信も行っています!

参考文献

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?