icon
Let's create! WordPressサイト制作とメンテ/エラー対応から、PHP/CSS/javascriptプログラミング、動画・音・イラスト等制作まで扱うコラム

【Google Gemini & AI Studio】Gemini API PHPライブラリでAI生成した文章をサイト上に出力してみる

更新: 2024/08/29 2371文字

今回は、最近CMが炎上したことで話題の(笑)、Google Gemini & AI Studioを使って、AI生成した文章をサイト上に出力してみます。管理人はメインの言語はPHPを使っているんですけど、PHPのライブラリにも、Gemini & AI Studioを扱えるものがあるようです。さっそく

今回使うライブラリ~Gemini API PHP

Google Geminiのデータを扱うPHPライブラリで、『Gemini API PHP』と『google-gemini-php』というように、名前が似ているのが2つあるんですけど、今回は『Gemini API PHP』を使用することにします。

理由はgoogle-gemini-phpのドキュメントがわかりにくかったからです(笑) いちおうcomposerでインストールしてみたんですけど、そのあと、どのモジュールをロードすればよいのかが不明でした。

Gemini API PHP』だと、autoloadがすぐ下の階層にあり、githubリポジトリを見ても、『●●をやりたいときは◇◇をロードする』というのがわかりやすく書いてあるので、使いやすいかと思います。

Google AI StudioでのAPIキーの取得

次は、この手のwebアプリケーションによくある、APIキーの取得。Googleアカウントにログインして、Google AI Studioのサイトに行きます。 この段階でもGemini 1.5Flashみたいなモデルを使って、AIに文章を生成させることができます。左側のメニューの『Get API Key』に。

『新しいプロジェクトでAPIキーを作成』という表示がでます。既存プロジェクトも選べますが、これを選択した場合は・・・

google cloud platform上で、新しいプロジェクトが出来ています。

composerを使ったGemini API PHPのインストール

そして、いつものようにcomposerコマンドでインストール。『xampp/htdocs/study』内に、2024-08-aiというフォルダを作っておいたので、以下のようにコマンドを入力してインストールします。

cd /xampp/htdocs/study/2024-08-ai
composer require gemini-api-php/client

なお、リポジトリにも書いてありましたが、途中で『php-http/discovery composer pluginの許可が必要』のような表示が出てきます(which is currently not in your allow-plugins config)。おそらく必要プラグインみたいなものだと思います。これはyキー&enterで許可しておきます。

Gemini API PHPライブラリでAI生成した文章をサイト上に出力するコード・表示例

コード例

とりあえず、質問を渡せば、それに対する回答をAIが出力するというシンプルな感じにしました。オートロードした後の必要クラスは『GeminiAPI\Resources\Parts\TextPart』『GeminiAPI\Client』の二つです。

そのほか入力するものはAPIキーと質問です。あとは表示したいところで『echo $response->text()』を行えば、回答が出力されます。

表示例1~コストパフォーマンスの良い牛丼チェーンを聞いてみる

new TextPartに渡す質問文が『コストパフォーマンスが高い日本の牛丼チェーン店は?』の回答。『編集部調べ』ってキーワードから、AIが考えたというより、どこかのグルメサイトの記事を探してきた印象。ただ、『はなまるうどん』があるのはポイントです。はなまるのミニ牛丼は、少し甘辛い濃いめ味付けでおススメです。

表示例2~なんか面白いゲームある?フライトアクション希望

new TextPartに渡す質問文が『なんか面白いゲームある?フライトアクション希望』の回答。まあ、エスコンが出てくるのは予想できていましたが、プロジェクト・ウィングマンあたりも拾ってくるんですねー。

あとがき・まとめ

  • Google Gemini & AI Studio関連ライブラリでは、Gemini API PHPがわかりやすかった
  • 事前準備は、APIキー取得とcomposerでのインストールを行っておく
  • 実装方法は、オートロード&必要クラスロードして、APIキーと質問を渡す

まとめると、こんなところでしょうか。今回はシンプルにつくりましたが、『質問例をいくつかラジオボタンで用意しておき、選択したものを渡す』『フォーム入力内容を質問として渡す』などのほか、System Instructionsでの設定・ロールや事前に学習させておく文書なども組み合わせると、チャットボット的にも使えると思います。


【カテゴリ】- PHP
【タグ】- , ,

関連記事