https://topaz.dev/projects/95ceb408ed42c2b2a5a2
選択したお題に対してお絵かきをします。 その絵をGeminiに具体的に説明させて文章を生成します。 元のお題とのGeminiの説明文章の一致度でスコアを図ります。
- 書いてみたいお題を右スワイプすることでお題に挑戦できます。
- 右下の + アイコンを押すことでGeminiが新しいお題を生成してくれます。
Startボタンを押すことで、キャンバスが表示されカウントダウンが始まります。
| Startを押す前 | お絵かきタイム |
|---|---|
![]() |
![]() |
カウントダウン終了後遷移し、Geminiが書いた絵について、どの絵はどのような絵なのが具体的に説明してくれます。
| 画面-1 | 画面-2 |
|---|---|
![]() |
![]() |
スコアの一致度を測るために文章をベクトル化(文の埋め込み, エンベッティング)して、コサイン類似度を計算しています。また、事前に大規模なテキストデータで事前学習されているTransformerベースのモデルであるSentence-Transformer (paraphrase-MiniLM-L6-v2)を使用することで、文の意味的な特徴を捉えた高次元のベクトルを生成しています。値域が-1~1であるため、0~1にスケーリングしています。
- ハッカソンにしては結構クリーンなコードを意識しました。
- FirebaseやGeminiなどの外部APIの実装をうまく抽象化した。
- GCPのCloud Runを使うことで2つの文の類似度を測るAPIを実装しました。





