Firebase コンソールの Firebase で Gemini を使用して、クライアントサイド コードに含めるクエリとミューテーションを作成できます。生成するクエリまたはミューテーションを自然言語で記述すると、Firebase の Gemini から、同等の GraphQL が提供されます。Firebase コンソールで出力を実行してテストし、確定したクエリとミューテーションをコードにコピーします。
クエリとミューテーションの詳細については、Data Connect スキーマ、クエリ、ミューテーションをご覧ください。
AI assistance for Data Connect in the Firebase console によるユーザーデータの使用方法
AI assistance for Data Connect in the Firebase console がプロンプトやそのレスポンスをデータとして使用してモデルをトレーニングすることはありせん。詳細については、Google Cloud の Gemini がデータを使用する方法をご覧ください。
AI assistance for Data Connect in the Firebase consoleを設定
Data Connect で AI アシスタントを設定するには、Firebase で Gemini を設定するの説明に従って Firebase で Gemini を有効にしてから、Firebase で Gemini を使用して 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 にデータを入力するミューテーションを作成し、クエリを実行して結果を確認する方法など、ユースケースの例について説明します。
ユーザー入力に基づいて映画をデータベースに追加するミューテーションを作成する
このセクションでは、自然言語を使用して、データベースの入力に使用できるミューテーションの 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 のトラブルシューティング
Firebase で Gemini のトラブルシューティングを行うを参照してください。
料金
AI assistance for Data Connect in the Firebase console は、Gemini Code Assist に含まれる Firebase の Gemini の一部として使用できます。Gemini Code Assist は、2024 年 11 月 8 日まで無料でお試しいただけます。ただし、請求先アカウントごとに 1 ユーザーに限られます。詳細については、Firebase の Gemini の料金をご覧ください。
次のステップ
- クエリとミューテーションの詳細については、Data Connect スキーマ、クエリ、ミューテーションをご覧ください。
- 詳しくは、Firebase の Gemini をご覧ください。