Python(オセロ03_Geminiの有料版でのトライアル)

■生成AIで対戦相手を作る(その03)。
前回までで下の結果だったので、今回有料版を検討する。とりあえず1ゲーム試すだけとして、せいぜい数十円ぐらいかと期待。
・Google AI StudioでのGemini-2.5-flash(無料枠では上限20回で最後までできず)
・Ollamaを使ってのローカルでのGemma 3 1Bや4B(有効な手が返ってこない)

Googleのアカウントからクレジットカード情報を登録して、Google Cloudの登録をして、などGeminiの有料版が使用できるよう準備を進めた。
設定が完了した後、プロジェクトのカテゴリーがTier1となり、下のような制限になった(画像は使用後だけど)。前回はRPDが22/20で上限を超えたのでゲームは最後までできなかったけど、10000まで増えている。あとGemini 2 Flash Liteも制限が0から無制限に変わっている。


設定できたのでさっそくトライ。
Google AI StudioのDocumentationから各モデルの料金とかわかるので、なるべく安いやつからトライ(オセロの対戦相手をさせるぐらいならそこまで高度なものを使う必要もないかと)。

まず、Gemini 2 Flash Lite。
このモデルで実行すると下のエラーが出た。Google AI Studioの枠はあるけど、今はもう使えないよう(少なくとも新規ユーザは)。
google.genai.errors.ClientError: 404 NOT_FOUND. {'error': {'code': 404, 'message': 'This model models/gemini-2.0-flash-lite is no longer available to new users. Please update your code to use a newer model for the latest features and improvements.', 'status': 'NOT_FOUND'}}

次に、Gemini 2.5 Flash Lite。
こちらは問題なく実行できたけど、置かれる手が一手目から無効な場所を指示するばかりで一向に進まない。全く進まないので断念(上の図の90リクエストはその結果)。

最後に、Gemini 2.5 Flash。
こちらは無料枠である程度できた実績あり。2,3時間かかったけど最終的に1ゲーム完了までできた。AIから返信された手の一覧を下に示す。置けない場所を指定された場合は、もう一度同じ情報で問合せを行っている。連続で同じ手が返ってきている部分(黄色セル)は置けない場所の指示かと思う。また、[0, x], [x, 0]など盤の外になる所を指示する場面も見られる。問い合わせの内容を工夫すればより精度の高い回答を得られるのか、Gemini 2.5 Flashではこのぐらいなのか。ちなみに、結果は●23 vs ○41でランダムの勝ち。

生成AIへのリクエストは下。boardがオセロの盤面の状況。

  response = client.models.generate_content(
        model=model_id,
        contents=f"盤面: {board}",
        config=types.GenerateContentConfig(
            system_instruction=(
                "あなたはプロのオセロ(リバーシ)プレイヤーです。あなたは●の手番です。"
                "オセロ(リバーシ)のルールに従ってあなたの手番の石が置ける位置を指示してください。回答は[行,列]形式のみ(行は上からの何番目。列は左からの何番目とします)。例:[3,5]。"
                "回答は-が入っているところから選択すること。同じ盤面が入力された場合、前回と別の位置を回答して下さい。"
                "解説不要。1-8の範囲で選択。"
                "置くところがないときはNoneを返却"
            ),
            temperature=0.1,
        ),
    )

リクエストは136回となっており、Google AI StudioのRPD 136と整合する。通常は1ゲームは30回あれば完了するが、無効な手もありリクエストが多くなっている。

かかった料金としては上記の3モデルの総計と思うが、444円(税抜き)だった。
料金表から、Gemini 2.5 Flash-Liteは入力 $0.10、出力 $0.40、Gemini 2.5 Flashは入力 $0.30、出力 $2.50(それぞれ100万トークンに対する料金)で、入力トークン数は統計から約40K(2.5 Flash)、20K(2.5 Flash Lite)だった。出力価格として思考トークンも含むとある。Geminiに聞いても、一般的に出力は入力トークンを超えることはなさそうなので、仮に入力トークンと同じにする。

次の式から20円ぐらいのはずだけど、結果が違う。

これについてGeminiに問い合わせても、過去の対局手順を送ったのでは?、思考モードを有効にしている可能性、コンテキストキャッシュ、Google検索グラウディングといった提案を返すのみで、計算漏れしている内容はなさそう。出力(思考)トークンが思いのほか多かったのかな。
とりあえずは1ゲームは完了できた。

あとで気づいたけど、Google Cloudの登録時にトライアルで3ヵ月、300ドルのクレジットを使うことができそう。
今回の500円弱は勉強代として、次回以降はこのクレジットを使って、より高度なモデルを使ったり、料金の部分(入力トークン、出力・思考トークン)を見たりしたい。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です