
PHP Google Gemini APIを使うには?1
Google Cloud プラットフォーム を使う。
google-gemini-php/laravel のライブラリを使う。https://github.com/google-gemini-php/laravel
ここも初めはかなり謎の部分ですので、インターネットで調べるしかないです。
おおざっぱに下の手順が必要です。
①プロジェクトを作成する。
②Marketplaceから「Gemini API」を「有効化」する。
https://console.cloud.google.com/marketplace/product/google/generativelanguage.googleapis.com
サービスアカウントでAPIを呼び出したいのですが、インターフェスが無いためAPIキーを使用します。

①Gemini API を有効にする。
https://console.cloud.google.com/marketplace/product/google/generativelanguage.googleapis.com

②google-gemini-php/laravel のライブラリをインストールする。
composer require google-gemini-php/laravel

③google-gemini-php/laravel のライブラリをインストール後に↓のコマンドを実行した。
実行しないと gemini.php が無いというエラーがでた。
./artisan gemini:install

④/laravel/.env にAPIキーを設定します。
GEMINI_API_KEY=
⑤私の場合、簡単に呼び出したいので、エイリアスに定義しました。
※本当は Gemini というエイリアスにしたかったのですが、恐らくネームスペースと被っているので使えませんでした。
'aliases' => Facade::defaultAliases()->merge([
'AI' => Gemini\Laravel\Facades\Gemini::class,
])->toArray(),
⑥Larave のコマンドを作ってみる。
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class GoogleGemini1 extends Command
{
protected $signature = 'gemini1';
protected $description = 'google-gemini-php/laravel のサンプル';
public function handle()
{
$nm = '山田太郎';
$prompt = $nm.' を苗字と名前に分けて苗字部分だけを抽出';
$nm1 = \AI::geminiPro()->generateContent($prompt)->text();
var_dump( $nm1 );
$prompt = $nm1.' の苗字をカタカナに変換';
$nm1_kana = \AI::geminiPro()->generateContent($prompt)->text();
var_dump( $nm1_kana );
$prompt = $nm.' を苗字と名前に分けて名前部分だけを抽出';
$nm2 = \AI::geminiPro()->generateContent($prompt)->text();
var_dump( $nm2 );
$prompt = $nm2.' の名前をカタカナに変換';
$nm2_kana = \AI::geminiPro()->generateContent($prompt)->text();
var_dump( $nm2_kana );
$prompt = '\'東京都千代田区麹町1-2-3\'の郵便番号をハイフン無しの半角7桁の数字で教えて';
$zip = \AI::geminiPro()->generateContent($prompt)->text();
var_dump( $zip );
}
}
以上