Firebase Data Connect のクエリとミューテーションに AI アシスタントを使用する

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 を生成するには:

  1. プロジェクトで Data Connect を開き、[サービス] でデータソースを選択します。

  2. [データ] をクリックします。

  3. [GraphQL の作成を支援] pen_spark アイコンをクリックします。

  4. 表示されたテキスト フィールドで、自然言語で生成するクエリまたはミューテーションの説明を入力し、[生成] をクリックします。

    たとえば、Firebase Data Connect クイックスタートData Connect でビルドする Codelab で参照されている映画データソースを使用している場合は、「2022 年の上位 5 本の映画を評価の降順で返す」と尋ねると、次のような結果が返されます。

    query TopMovies2022 {
      movies(where: {releaseYear: {eq: 2022}}, orderBy: [{rating: DESC}], limit: 5) {
        id
        title
        rating
        releaseYear
      }
    }
    
  5. レスポンスを確認します。

    • レスポンスが正しいと思われる場合は、[挿入] をクリックして、レスポンスをコードエディタに挿入します。
    • 回答を絞り込める場合は、[編集] をクリックしてプロンプトを更新し、[再生成] をクリックします。
  6. レスポンスを承認したら、[パラメータ] セクションで、必要に応じて以下を設定します。

    • 変数: クエリまたはミューテーションに変数がある場合は、ここで定義します。JSON を使用して定義します(例: {"title":"The Matrix", "releaseYear":"1999"})。
    • 認可: クエリまたはミューテーションの実行に使用する認可コンテキスト(管理者、認証済み、未認証)を選択します。
  7. コードエディタで [実行] をクリックして、結果を確認します。

コードエディタで複数のクエリやミューテーションをテストするには、それらに名前が付いていることを確認します。たとえば、次のクエリの名前は 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 で使用されている映画データベース スキーマを使用していることを前提としています。

  1. Firebase コンソールData Connect を開きます。

  2. サービスとデータソースを選択して、[データ] タブを開きます。

  3. [GraphQL の作成を支援] pen_spark アイコンをクリックし、表示されたボックスにクエリを入力します。

    Create a movie based on user input.
    
  4. [生成] をクリックします。ミューテーションが返されます。たとえば、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
      })
    }
    
  5. 出力を確認します。必要に応じて、[編集] をクリックしてプロンプトを絞り込み、[再作成] をクリックします。

  6. 次に、[挿入] をクリックして、データエディタにミューテーションを挿入します。

  7. ミューテーションを実行するには、変数を追加する必要があります。[パラメータ] セクションで [変数] を開き、いくつかのテスト変数を追加します。

    {"title":"My amazing movie", "releaseYear":2024, "genre": "Comedy",
    "rating": 8, "description": "A new movie to test mutations",
    "imageUrl": "", "tags": ["comedy","space travel"]}
    
  8. [実行] をクリックします。

  9. 次に、映画が追加されたことを確認するクエリを作成します。[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
        }
    }
    
  10. クエリを挿入して実行します。追加した映画が [履歴] フィールドに表示されます。

ユーザーが指定したジャンルと評価に基づいてレビューを一覧表示するクエリを作成する

このセクションでは、自然言語を使用してクエリの GraphQL を生成する例について説明します。この例では、Firebase Data Connect のドキュメントData Connect を使用したビルドの Codelab で使用されている映画データベースを使用していることを前提としています。

  1. Firebase コンソールData Connect を開きます。

  2. サービスとデータソースを選択して、[データ] タブを開きます。

  3. GraphQL の作成サポートpen_spark アイコンをクリックし、表示されたボックスにクエリを入力します。

    List all movie reviews, based on user-configurable genre and ratings.
    
  4. [生成] をクリックします。クエリが返されます。たとえば、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
      }
    }
    
  5. 出力を確認します。必要に応じて、[編集] をクリックしてプロンプトを絞り込み、[再作成] をクリックします。

  6. 次に、[挿入] をクリックして、データエディタにミューテーションを挿入します。

  7. このクエリをテストするには、変数を追加する必要があります。[Parameters] セクションで [Variables] を開き、テストに使用する変数を追加します。

    {"genre":"sci-fi", "minRating":4, "maxRating":9}
    
  8. [実行] をクリックします。

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 の料金をご覧ください。

次のステップ