【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リポジトリを見ても、『●●をやりたいときは◇◇をロードする』というのがわかりやすく書いてあるので、使いやすいかと思います。
Gemini API PHP
https://github.com/gemini-api-php/client
Google AI StudioでのAPIキーの取得
次は、この手のwebアプリケーションによくある、APIキーの取得。Googleアカウントにログインして、Google AI Studioのサイトに行きます。 この段階でもGemini 1.5Flashみたいなモデルを使って、AIに文章を生成させることができます。左側のメニューの『Get API Key』に。
『新しいプロジェクトでAPIキーを作成』という表示がでます。既存プロジェクトも選べますが、これを選択した場合は・・・
google cloud platform上で、新しいプロジェクトが出来ています。
Google AI Studio
https://aistudio.google.com/
composerを使ったGemini API PHPのインストール
そして、いつものようにcomposerコマンドでインストール。『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
【タグ】- AIコンテンツ生成, Google Gemini, PHPライブラリ