もうご存じだと思いますが、Googleが提供していたAIモデルの「bard」が、2023年11月に「Gemini」(ジェミニ)というモデルに進化されていました。
昨年、生成AIにはまっていた頃は、仕事で使っていたGoogle Workspaceでも「bard」を有効化して、「ChatGPT」よりも「bard」の方が馴染みがあるぐらい使っていましたが、昨年後半から本業が多忙になり、「Gemini」に変わったことすら知らずに年を越してしまっていました。
そんなGeminiにはAPIもしっかりと用意がされているようだったので、早速これをディレクトリ型検索エンジンの検索機能に組み込みをしてみました。そのGoogle Gemini APIを使ってみた流れを、サンプルコードを交えてご紹介したいと思います。
ちなみに、ディレクトリ型検索エンジンには、OpenAIのAPIを以前組み込みしてあったのですが、OpenAIの無償利用期間が終わったらあっさりレスポンスが取れなくなってしまったので、その代わりという感じです。お時間あれば、まずはOpen AI組み込み時の記事からどうぞ。
Google Gemini APIとは
Google「Bard」「Gemini」は、どちらもGoogle AIが開発した対話型AIですが、Geminiの方がBardよりも新しいモデルのため、より多くのデータで訓練され、高度なテキスト生成や対話を行うことができるようになっています。
Google Gemini APIは、そんなGeminiの機能をAPI経由で使うことができるという有難いサービスです。しかも今はまだ無料です。
Google AI Studio
OpenAIのChat GPTと同じように、Google Gemini にも「Google AI Studio」というブラウザベースのIDE(統合開発環境)が用意されていました。
まずはここのプロンプトで何かを投げかけてみて下さい。私もAIに優しい返事を返してもらえました。泣けます。
Q:こんにちは。生きててごめんなさい。
A:あなたがそう感じるのを聞いて申し訳ありません。私はあなたに生きてほしいと思っています。あなたの人生の意味はあなたが見つけるものであり、それが見られない場合、それは真剣に考えてください。すべての人がそれぞれにuniqueな生活を送っており、すべての人が自分のやり方で世界に影響を与えることができます。あなたは一人ではなく、あなたを気にかけてくれる人がいることを知ってください。苦しんでいる場合は、助けを求めることを恐れないでください。あなたのことを気にかけ、助けたいと思っている人がいます。
Google Gemini の回答
APIキーの取得
Google Geminiの性能を十分堪能した後は、API利用の準備に取り掛かりましょう。
先ほどの「Google AI Studio」を見ると、「Get API key」というメニューが用意してあり、ここからAPIキーの取得ができるようになっていました。
「Create API key」ボタンを押すと、「Create API key in new project」ボタンと既存プロジェクトの検索窓がある画面がポップアップで表示されます。
どうやら、Google APIで毎度おなじみの「Google Cloud」と裏でつながっているらしく、この検索窓から既存のプロジェクトを選ぶと、そのプロジェクトに紐付けしつつAPIキーの取得ができるようです。
「Google Cloud」についてはこちらの記事でもご紹介していますので、よければご参照ください。
生成AIは別プロジェクトで管理したい、もしくは、良く分からないということであれば、「Create API key in new project」ボタンからAPIキーの取得に進めばキーの取得ができます。
APIキーを取得すると、「Get API key」メニューには取得したAPIキーの情報が表示されるようになりました。これで準備完了です。APIキーは忘れないようメモしておきましょう。
Google Cloudのダッシュボード
「Google AI Studio」と「Google Cloud」は裏でつながっているとご紹介しましたが、APIキー登録後にGoogle Cloudのダッシュボードを見てみると、「Generative Language Client」というかっこいい名前のプロジェクトが自動で追加されており、「Generative Language API」というAPIもセットがされてありました。
「Google AI Studio」が真っ黒背景なので、真っ白背景の「Google Cloud」とつながっていると分かりにくいですが、「Gemini」のプロンプト画面は、どうしても黒背景でリリースしたかったということなのでしょう。
Google Gemini API のチュートリアル
GoogleもAPIのサンプルコードを用意してくれていますが、PHP版はありませんでした。ですが、Gemini用のPHPクライアントライブラリがすぐに見つかったので問題ありませんでした。
Gemini用PHPクライアントライブラリ
「google-gemini-php/client」、もしくは、「gemini-api-php/client」などをcomposerでインストール。
composer require google-gemini-php/client
composer require gemini-api-php/client
PSR-18準拠クライアントがなければ、いずれも別途でライブラリ追加が必要でした。
composer require guzzlehttp/guzzle
これでライブラリの準備も完了です。
PHPサンプルコード
「Google AI Studio」で取得したAPIキーと質問文をセットしてクライアントライブラリから送信すれば、APIのレスポンスを簡単にとることができました。
$GeminiAPIKey = 'あなたのAPIキー';
$text = 'あなたの質問';
$client = Gemini::client($GeminiAPIKey);
$result = $client->geminiPro()->generateContent($text);
$result->text(); //Geminiのレスポンス
ディレクトリ型検索エンジンへの実装
OpenAI APIの時と同様に、ディレクトリ型検索エンジンのトップページにチェックボックスを付けました。チェックをつけるとAPIに接続します。
OpenAI APIよりもレスポンスが少し早い気がします。とはいえ、生成AIなので、どうしてもレスポンスが返るまでには時間がかかります。画面遷移まで少しお待ちください。
おわりに
PHPを使ってGoogle Gemini APIをサイトに実装したサンプルをご紹介しました。Google Gemini APIはまだ無料で使えるようですので、有料サービスに変わる前に色々と試してしてみてはいかがでしょうか。