Firebase コンソールの Firebase in Gemini を使用すると、クライアントサイド コードに含めるクエリとミューテーションを作成できます。生成するクエリまたはミューテーションを自然言語で記述すると、Firebase の Gemini が同等の GraphQL を提供します。Firebase コンソールで出力を実行してテストし、確定したクエリとミューテーションをコードにコピーします。
クエリとミューテーションの詳細については、Data Connect スキーマ、クエリ、ミューテーションをご覧ください。
AI assistance for Data Connect in the Firebase console によるデータの使用方法
Firebase の Gemini がデータを使用する方法の詳細については、Firebase の Gemini がデータを使用する方法をご覧ください。
AI assistance for Data Connect in the Firebase consoleを設定
Data Connect で AI 支援を設定するには、Gemini in Firebase を設定するで説明されているように Gemini in Firebase を有効にして、Gemini in Firebase で GraphQL クエリとミューテーションを生成するに進みます。
Firebase で Gemini を使用して GraphQL クエリとミューテーションを生成する
AI assistance for Data Connect in the Firebase console を使用して自然言語に基づいて GraphQL を生成する手順は次のとおりです。
プロジェクトで Data Connect を開き、[サービス] でデータソースを選択します。
[データ] をクリックします。
[GraphQL の作成を支援] pen_spark アイコンをクリックします。
表示されたテキスト フィールド内で、生成するクエリまたはミューテーションを自然言語で記述し、[生成] をクリックします。
たとえば、Firebase Data Connectクイックスタートと Data Connect Codelab でビルドするで参照されている映画データソースを使用している場合は、「2022 年の上位 5 本の映画を評価の降順で返す」と尋ねると、次のような結果が返されます。
query TopMovies2022 { movies(where: {releaseYear: {eq: 2022}}, orderBy: [{rating: DESC}], limit: 5) { id title rating releaseYear } }
回答を確認します:
- 回答が正しいと思われる場合は、[挿入] をクリックして、回答をコードエディタに挿入します。
- 回答を絞り込める場合は、[編集] をクリックしてプロンプトを更新し、[再生成] をクリックします。
回答を承認したら、必要に応じて [パラメータ] セクションで次の設定を行います。
- 変数: クエリまたはミューテーションに変数がある場合は、ここで定義します。JSON を使用して定義します(例:
{"title":"The Matrix", "releaseYear":"1999"}
)。 - 認可: クエリまたはミューテーションを実行する認可コンテキスト(管理者、認可済み、未認可)を選択します。
- 変数: クエリまたはミューテーションに変数がある場合は、ここで定義します。JSON を使用して定義します(例:
コードエディタで [実行] をクリックして、結果を確認します。
コードエディタで複数のクエリまたはミューテーションをテストするには、名称が付けられていることを確認します。たとえば、次のクエリの名称は GetMovie
です。クエリまたはミューテーションの最初の行にカーソルを移動して、[実行] ボタンを有効にします。
query GetMovie($myKey: Movie_Key!) {
movie(key: $myKey) { title }
}
AI assistance for Data Connect in the Firebase console のユースケース
以降のセクションでは、Data Connect にデータを入力するミューテーションを作成し、クエリを実行して結果を確認する方法など、ユースケースの例について説明します。Gemini
ユーザー入力に基づいて映画をデータベースに追加するミューテーションを作成する
このセクションでは、自然言語を使用して、データベースの入力に使用できるミューテーションの GraphQL を生成する例について説明します。この例では、Firebase Data Connect のドキュメントと Data Connect Codelab でビルドするで使用されている映画データベース スキーマを使用していることを前提としています。
Firebase コンソールで Data Connect を開きます。
サービスとデータソースを選択して、[データ] タブを開きます。
[GraphQL の作成を支援] pen_spark アイコンをクリックし、表示されたボックスにクエリを入力します。
Create a movie based on user input.
[生成] をクリックします。ミューテーションが返されます。たとえば、Gemini は次のようなミューテーションを返します。
mutation CreateMovie($title: String!, $releaseYear: Int!, $genre: String!, $rating: Float!, $description: String!, $imageUrl: String!, $tags: [String!] = []) @auth(level: USER) { movie_insert(data: { title: $title, releaseYear: $releaseYear, genre: $genre, rating: $rating, description: $description, imageUrl: $imageUrl, tags: $tags }) }
出力を確認します。必要に応じて、[編集] をクリックしてプロンプトを絞り込み、[再生成] をクリックします。
次に、[挿入] をクリックして、データエディタにミューテーションを挿入します。
ミューテーションを実行するには、変数を追加する必要があります。[パラメータ] セクションで [変数] を開き、いくつかのテスト変数を追加します。
{"title":"My amazing movie", "releaseYear":2024, "genre": "Comedy", "rating": 8, "description": "A new movie to test mutations", "imageUrl": "", "tags": ["comedy","space travel"]}
[実行] をクリックします。
次に、映画が追加されたことを確認するクエリを作成します。[GraphQL の作成を支援] pen_spark をクリックし、表示されたボックスにプロンプトを入力します。
List all movies from 2024 that include all of thse tags: 'space travel', 'comedy'.
Gemini から次のようなレスポンスが返されます。
query ComedySpaceTravelMovies2024 @auth(level: PUBLIC) { movies( where: { releaseYear: { eq: 2024 }, tags: { includesAll: ["space travel", "comedy"] } } ) { id title imageUrl releaseYear genre rating description tags } }
クエリを挿入して実行します。追加した映画が [履歴] フィールドに表示されます。
ユーザーが指定したジャンルと評価に基づいてレビューを一覧表示するクエリを作成する
このセクションでは、自然言語を使用してクエリの GraphQL を生成する例について説明します。この例では、Firebase Data Connect のドキュメントと Data Connect Codelab でビルドするで使用されている映画データベースを使用していることを前提としています。
Firebase コンソールで Data Connect を開きます。
サービスとデータソースを選択して、[データ] タブを開きます。
[GraphQL の作成を支援] pen_spark アイコンをクリックし、表示されたボックスにクエリを入力します。
List all movie reviews, based on user-configurable genre and ratings.
[生成] をクリックします。クエリが返されます。たとえば、Gemini は次のようなクエリを返します。
query ListReviewsByGenreAndRating($genre: String, $minRating: Int, $maxRating: Int) @auth(level: PUBLIC) { reviews(where: { movie: { genre: {eq: $genre} }, rating: {ge: $minRating, le: $maxRating} }) { id user { username } movie { title genre } rating reviewText reviewDate } }
出力を確認します。必要に応じて、[編集] をクリックしてプロンプトを絞り込み、[再生成] をクリックします。
次に、[挿入] をクリックして、データエディタにミューテーションを挿入します。
このクエリをテストするには、変数を追加する必要があります。[Parameters] セクションで [Variables] を開き、テストに使用する変数を追加します。
{"genre":"sci-fi", "minRating":4, "maxRating":9}
[実行] をクリックします。
AI assistance for Data Connect in the Firebase console のトラブルシューティング
Gemini in Firebase のトラブルシューティングを参照してください。
料金
AI assistance for Data Connect in the Firebase console は、Data Connect がプレビュー版である間、または Gemini Code Assist の一部として、Gemini in Firebase の一部として利用できます。詳細については、Gemini in Firebase の料金をご覧ください。
次のステップ
- クエリとミューテーションの詳細については、Data Connect スキーマ、クエリ、ミューテーションをご覧ください。
- 詳しくは、Gemini in Firebase をご覧ください。