見出し画像

来たぞ GeminiPro 早速試してみた

こんにちは。横須賀市生成AI推進チームM田です。

Googleの最新のAIモデル「Gemini」のうち、「Gemini Pro」のAPIが使えるようになったので、早速試してみました。

Gemini Pro

GeminiやGemini Proの紹介は、詳しい記事がいっぱい出ているので割愛します。

ここでは、GPT-4-Turboのお試しをした際のプロンプトを使って、どんな返事が来るのかと、時間を計測してみます。

実際に試してみる

お馴染みGoogle Colabで試してみましょう。まずは必要なモジュールをインストールします。

#まずは必要なモジュールをインストール
!pip install -q -U google-generativeai

続いて、インストールしたモジュールをインポートします。
ちなみにコードは基本的に、以下のGoogleの公式Colabを参考にしています。

使うAPIキーは、ここから取得します。

ちなみにコードを書かなくても↑のサイトで試すこともできます。
私は一応比較のためコードを書いて試していきます。

#Googleの公式Colabを参考に:https://colab.research.google.com/github/google/generative-ai-docs/blob/main/site/en/tutorials/python_quickstart.ipynb
import google.generativeai as genai

#APIキーをセット ( https://makersuite.google.com/app/apikey で取得する)
genai.configure(api_key=" (Your API Key) ")

#modelをGeminiProに設定
model = genai.GenerativeModel('gemini-pro')

時間を測定しつつ生成結果を表示するgenという関数を作ります。

import time

def gen(prompt):
    start_time = time.time()

    res = model.generate_content(prompt)

    elapsed_time = time.time() - start_time
    print(f'処理にかかった時間: {elapsed_time}秒\n')
    print(res.text)

これで準備が整いました。

質問1:「ツイッター社を買収したのは誰?」

まずはこの質問。最新の情報を学習していれば出てくるはずですが…

イーロン・マスク

Gemini Pro(処理にかかった時間: 2.2秒

おお、シンプル。一言で返ってきましたね。

質問2:「世界の人口は?」

続いて世界の人口を聞いてみましょう。

2023年1月1日時点での世界の人口は約80億人です。これは国連の推定であり、毎年更新されます。世界の人口は急速に増加しており、2011年から2021年にかけて年平均1.05%増加しました。この増加は主にアフリカとアジアの人口増加によるものです。

世界の人口が増加し続けるにつれて、資源や環境への需要も増加し続けています。私たちは、持続可能な方法で世界人口に食糧、水、住居を提供することができる方法を見つける必要があります。

世界人口の増加にはいくつかの要因があります。その一部は次のとおりです。

* 出生率が高い。
* 寿命が延びている。
* 移民の増加。

世界人口の増加は、さまざまな影響を及ぼしています。その一部は次のとおりです。

* 資源需要の増加。
* 環境への影響。
* 食糧安全保障の問題。
* 水不足。
* 住居不足。

世界人口の増加は、さまざまな課題をもたらしています。しかし、私たちは協力して持続可能な方法でこれらの課題に対処することができます。

Gemini Pro(処理にかかった時間: 5.7秒

こちらは一言ではなく、人口増による課題も併せて提示してくれました。そして文字数のわりに、相当早く生成された印象です。

質問3:会話文を出力してみる

今度は少し長めで、もはやお馴染みの、消防事例の会話文プロンプトを使ってみましょう。(以下の記事のものです)

プロンプトは以下の通り。

###命令書
以下の制約条件と入力文をもとに3人の登場人物の[会話]を出力してください。
入力文をあますことなく詳細に表現し、[会話]を出力してください。

###制約条件
・文字数は5000文程度。
・登場人物は、レオ、ユキ、アキ。
・レオは、明るく、人気者でリーダーシップを持つ男性。
・レオは、セリフに「なんだけどな〜」「さ、一緒に考えようぜ!」をときどき用いる。
・レオは、他の2人を「ユキ」「アキ」と呼ぶ。
・ユキは、無口でクール。内心は繊細だが、周囲には滅多に見せない女性。
・ユキは、セリフに「それはあなたが言うこと?」「もう、無理...想像したくない」「でも、どうしましょう…」をときどき用いる。
・ユキは、他の2人を「レオ君」「アキさん」と呼ぶ。
・アキは、あまり前へ出ることがなく、温和で優しく、知識豊富な男性。
・アキは、セリフに「それは、大切ですね。」「あのね、こういうことなんだよ。」をときどき用いる。
・アキは、他の2人を「レオ兄さん」「ユキさん」と呼ぶ。

###入力文
雑居ビルの3階のエレベーターホールから火事が発生し、有毒ガスも発生していた。
火は3階から4階へと広がり、煙が店内へ流れ込んだ結果、店員や客が一酸化炭素中毒で死亡した。
その混乱の最中、3階の従業員3人が窓から落ちて骨折や打撲傷を負った。
法律では消防設備の設置が義務化されていたが、それが守られていなかった。

さて、どうなるでしょうか。

**レオ**「おい、ユキ、アキ。雑居ビルの火災について聞いたか?」

**ユキ**「ええ、ニュースを見ました...けど、ひどいですね」

**レオ**「そうだろう?有毒ガスまで発生して、店員や客が一酸化炭素中毒で死亡したんだって」

**アキ**「それは、本当に残念なことですね。消防設備が設置されていれば、こんな悲劇は起きなかったかもしれません」

**レオ**「まさにその通り!」

**ユキ**「でも、なぜ消防設備が設置されていなかったのでしょうか?」

**レオ**「それこそが問題なんだよね。どうやら、建物の所有者が消防設備の設置を怠っていたらしいんだ」

**ユキ**「それはひどすぎます。」

**レオ**「そうだろ?法律で義務化されているのに、それを守らないなんて信じられないさ」

**アキ**「法律は、人々の安全を守るために制定されているのですから、それを守らないのは許されることではありません」

**レオ**「その通りだよ。こんなことが二度と起こらないように、消防設備の点検を徹底させなければいけないな」

**ユキ**「そうですね。でも、もう被害に遭われた方々は取り返しがつかない...」

**レオ**「ああ、ユキ...そうなんだ。だから、二度と同じことが起こらないようにしなきゃいけないんだ」

**アキ**「そうだね、レオ兄さん。消防設備の点検を徹底させるために、私たちも協力しましょう」

**レオ**「もちろんさ、アキ。さ、一緒に考えようぜ!」

**ユキ**「でも、どうしましょう...想像したくないけど、もしも私たちがその場にいたら?」

**レオ**「ユキ、大丈夫だよ。私たちは、消防設備の点検を徹底させることで、被害者を少しでも減らすことができるんだ」

**アキ**「そうですよ、ユキさん。私たちには、その責任があります」

**ユキ**「そうですね。私たちには、その責任があります」

**レオ**「よし、じゃあ、早速行動を起こそうぜ!」

Gemini Pro(処理にかかった時間: 10.0秒

ちゃんと出てきました。若干そっけない感じもしますが、出力される文章はGPT-4とそん色ないように感じます。

生成速度もこの文量で約10秒です。GPT-4-Turboは同程度の文量で14秒程度かかっていましたから、かなり早いですね!

まとめ

今回はGemini Proを試してみましたが、少し触った限りでは、GPT-4とそん色ない性能があるように感じます。さらにGemini Proは、生成にかかる費用が1000文字あたり$0.0005で、GPT-4-Turbo($0.03/1K)より値段が相当安いです。

GPTを使うことに拘っているわけではないので、より良い選択肢があるならばそちらに乗り換えてしまうのもアリです。近いうちにもっと詳しく性能を評価した記事が出てくると思うので、継続的に情報収集したいと思います。

それではまた。

(M田主任三郎)

今回のお試しで使ったコードは以下にあります。(Google colab)