2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google AI Gemini を使って人を判別してみた

Posted at

概要

今回 Google の生成 AI である Gemini を使ってみました。
機能のひとつでもある画像への質問をやってみたので紹介します。

環境 MAC
開発 Flutter
google_generative_ai 0.4.4 (2024/8)

Google AI Studio で API key を取得

https://aistudio.google.com/app/apikey

使用するためには API key というものが必要です。
Google AI Studio に行きます(また新しいのが出てきた)
左上にある [Get API key] を押して控えます。
注意
API_KEY は Github に保存しないでください。 

無料枠と従量課金があります。個人でテストする分には無料枠で十分そうです。
Gemini 1.5 Flash 無料枠
15 RPM(1分あたりのリクエスト数)
100 万 TPM(1分あたりのトークン数)
1,500 RPD(1日あたりのリクエスト数)
1 時間あたり最大 100 万トークンのストレージが無料

ソースコードの一部

以下はソースコードの一部です。かなりシンプルに使えます。
以前に作った Google MLKit + Tensor Flow ではパラメーターの解析なども必要でした。

import 'package:google_generative_ai/google_generative_ai.dart';

class _MainScreenState extends State<MainScreen> {
  String prompt = "Are they the same person?";
  File? imageFile1;
  File? imageFile2;

  Future<void> onGenerate() async {
    final model = GenerativeModel(model: 'gemini-1.5-flash', apiKey: apiKey);
    final bytes1 = await imageFile1!.readAsBytes();
    final bytes2 = await imageFile2!.readAsBytes();
    final content = [
      Content.multi([
        TextPart(prompt),
        DataPart('image/png', bytes1),
        DataPart('image/png', bytes2),
      ])
    ];
    final res = await model.generateContent(content);
    setState(() {
      response = res.text ?? 'none';
    });
  }
}

↓ 今回のソースの全部は Github にあります。
https://github.com/koji4104/flutter_google_ai_gemini

MAC でエラー

実行しようとするとエラーが出ました。その対処法です。

flutter: -- ClientException with SocketException: Connection failed (OS Error: Operation not permitted, errno = 1), address = generativelanguage.googleapis.com, port = 443, uri=https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent
Application finished.

解決方法
macos/Runner/DebugProfile.entitlements に以下を追記します。

<key>com.apple.security.network.client</key>
<true/>

人を判別してみた

そらそうよ (´・ω・`)

他の人も参戦

ほんまか!?

適当なこと言ってんじゃないよ!

質問を変えてみた

質問を変えてその特徴を聞いてみました。応用すれば何かに使えそうな気がします。

今回はモデルがいらない

以前は Tensor Flow を使ってモデルを作成していました。
モデルの作成はめちゃくちゃ面倒です。
モデルの作成にはトレーニング画像が各100枚以上必要です。しかし今回はモデルを作ってないのです。もうモデル職人もいらない時代になるのでしょうか。

まとめ

Google AI Gemini を使って画像解析を行いました。
今回 AI Studio という新しいものが出てきました。AWS も GCP もどんどん新しいものが登場します。めげずにQiitaで頑張りたいと思います。

生成AIというとまさに生成に目が行きがちですが、今回のように解析もできちゃいます。日本語も使えます。使い方次第では何かできそうな気がします。

これには期待が持てます。機械学習モデルの作成が不要でコードの量も圧倒的に少ない。しかし作りやすい分ライバルも増えるでしょう。その中で中小企業の私は隙間産業を狙っていきたいと思います。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?