AIストライク!!

https://github.com/urassh/ai_strike

GCP

Firebase

Firestore

Flutter

Dart

AI生成のお題でお絵かき!AIが評価!新感覚アートゲーム!

urassh

sk226

推しアイデア

お絵描きゲームのコアにGeminiの機能を載せていて、AIと親しみながら楽しむことができる!

作った背景

AIを使ったツールはたくさんあるのに、AIを使ったゲームはまだ少ない...

推し技術

圧倒的、Google愛。 - Flutter - Gemini API - Google Cloud Run - Firebase - MVVM Architecture - 依存性分離

プロジェクト詳細

概要

選択したお題に対してお絵かきをします。 その絵をGeminiに具体的に説明させて文章を生成します。 元のお題とのGeminiの説明文章の一致度でスコアを図ります。

主な機能と画面構成

お題選択

  • 書いてみたいお題を右スワイプすることでお題に挑戦できます。
  • 右下の + アイコンを押すことでGeminiが新しいお題を生成してくれます。

お絵かき

Startボタンを押すことで、キャンバスが表示されカウントダウンが始まります。

Startを押す前お絵かきタイム
imageimage

書いた絵を説明してもらおう!

カウントダウン終了後遷移し、Geminiが書いた絵について、どの絵はどのような絵なのが具体的に説明してくれます。

画面-1画面-2
imageimage

スコア画面

スコアの一致度を測るために文章をベクトル化(文の埋め込み, エンベッティング)して、コサイン類似度を計算しています。また、大規模なテキストデータで事前学習されているTransformerベースのモデルで、日本語が対応しているSentence-Transformer (stsb-xlm-r-multilingual)を使用することで、文の意味的な特徴を捉えた高次元のベクトルを生成しています。値域が-1~1であるため、0~1にスケーリングしています。

image

頑張ったところ

  • ハッカソンにしては結構クリーンなコードを意識しました。
  • FirebaseやGeminiなどの外部APIの実装をうまく抽象化した。
  • GCPのCloud Runを使うことで2つの文の類似度を測るAPIを実装しました。

urassh

@urassh