>_tech-draft
Firebaseのアイコン
Firebase
動画公開日
タイトル

How to connect Gemini to Google Maps using Firebase AI Logic

再生時間

3分 19秒

GeminiとFirebase AI LogicでGoogle Maps情報を活用!スマートな場所探しアプリ開発

ポイント

  • Firebase AI LogicとGeminiにGoogle Maps groundingを組み込み、ユーザーの多様な好みに合わせた場所探しアプリを開発する手順を解説します。
  • 本記事では、GeminiのクエリにGoogle Maps groundingを有効化する設定方法から、レスポンスからGoogle Maps情報を抽出する具体的な実装ステップを紹介します。
  • 読者は、位置情報に基づいた実用的なAIアプリを構築する技術と、Google Mapsデータ利用時の適切な帰属表示の重要性を学ぶことができます。

はじめに:友達との食事場所選びの悩みを解決

「今夜の食事、どこにしよう?」

友達との集まりで、食事の場所を決めるのは意外と難しいものです。マークは麺類、デニスはフライドチキン、アッシュはパイナップルピザを求めている…このように、皆の好みがバラバラだと、お店選びは一苦労です。しかし、Google Maps groundingがGeminiとFirebase AI Logicに最近追加されたことで、この悩みをスマートに解決できるアプリを簡単に構築できるようになりました。

本記事では、より良い検索結果を得るために、GeminiのクエリにGoogle Maps groundingをどのように追加するかについて、詳しく解説していきます。

アプリケーションの概要:多様な好みに応えるお店探し

私が今回構築したアプリは、夕食の場所を決める手助けをしてくれるものです。このアプリを使うと、例えば「パイナップルピザを提供する場所」を検索できます。

GeminiにGoogle Maps groundingを組み合わせることで、Google Mapsのデータを活用し、パイナップルを提供していないピザ店を除外し、パイナップルピザを提供するお店のみに結果を絞り込むことが可能です。これにより、最初のいくつかの候補店を見つけ出し、友人たちに提案するためのショートリストに追加できます。

このプロセスをフライドチキンやその他の友人たちが興味を持っている料理についても繰り返すことができます。最終的に作成された候補リストを友人たちに送り、皆で投票して夕食の場所を決定します。このように、多様な好みに対応しながら、効率的にお店を決めることが可能になるのです。

Google Maps Groundingの組み込み方

それでは、実際にアプリにGoogle Maps groundingを追加する手順を見ていきましょう。

1. Firebase AI Logicの活用

Google Maps groundingをアプリに組み込む最初のステップとして、チャット体験のためにFirebase AI Logicを使用しました。このプロジェクトでは、RAG(Retrieval-Augmented Generation)のような複雑なサーバープロセスや、大量のバックグラウンドドキュメントを読み込む必要がないため、フロントエンドでFirebase AI Logicを直接利用し、Geminiと接続しています。これにより、シンプルな構成で迅速な開発が可能です。

2. Google Maps Groundingの有効化

Firebase AI Logicとの接続が完了したら、次に生成モデルをフェッチする際に、tools配列にGoogle Mapsを追加します。これにより、Google Mapsのデータに基づいて結果を「grounding(根拠付ける)」ためのサポートが有効になります。

// 簡略化された例: 実際のコードはFirebase AI LogicのSDKに依存します
const model = getGenerativeModel({
  model: 'gemini-pro',
  tools: ['Google Maps'] // ここでGoogle Maps groundingを有効にします
});

3. 生成モデルの呼び出し

tools配列を設定した後、通常通りに生成モデル(model)を使ってgenerateコールを行います。この際、Geminiは内部的にGoogle Maps groundingの情報を利用して、より関連性の高い回答を生成しようとします。

4. レスポンスからの情報抽出

generateコールが完了したら、返されたレスポンスを処理します。レスポンスには、groundingに関するメタデータが含まれている場合があります。このメタデータから、Google Mapsの情報を抽出することが可能です。これにより、ユーザーに対してGoogle Mapsに基づいた具体的な場所や詳細を提示することができます。

Google Maps結果の帰属表示(Attribution)の重要性

アプリを公開する準備ができたと思っても、まだ一つ重要なステップが残っています。

Geminiを介してGoogle Mapsから提供されたコンテンツを表示する場合、その結果がGoogle Mapsに由来するものであることを明確に帰属表示する義務があります。これは、Google Mapsの利用規約の一部です。

具体的な要件としては、ドキュメントに記載されている特定のCSSクラスを使用して、「Google Maps」という文言を翻訳せずに表示する必要があります。私はさらに、この「Google Maps」というテキストの隣にGoogle Mapsのファビコンを追加することで、データがGoogle Mapsから来ていることを視覚的にわかりやすく示しています。これにより、ユーザーは情報の信頼性をすぐに認識できます。

まとめ:スマートな食事選びアプリの完成

これらのステップを経て、友人たちと今夜の夕食の場所を楽しく決めることができるアプリが完成しました。GeminiとFirebase AI Logic、そしてGoogle Maps groundingの組み合わせは、位置情報に基づいた、より実用的でパーソナライズされたAIアプリケーションを開発するための強力な手段となります。

もしあなたが今後、Google Mapsデータにデータをgroundingする計画があるのであれば、ぜひコメントで教えてください。

私はNoeです。皆さんが次にどのようなものをgroundingするのか、今からとても楽しみにしています。

参考動画

Google Maps Grounding in Gemini and Firebase AI Logic