Firebase の Gemini を使用すると、クライアントサイド コードに含めるスキーマ、クエリ、ミューテーションを作成できます。
アプリを記述してデータモデルを要約するか、生成するクエリまたはミューテーションを自然言語で記述すると、Firebase の Gemini が同等の GraphQL を提供します。
この AI アシスタントは、多くの開発コンテキストで利用できます。
- Firebase コンソールで出力を実行してテストし、スキーマとオペレーションを本番環境にデプロイして、ローカル開発環境と同期します。
- ローカルでは、Data Connect VS Code 拡張機能で、ローカルの PostgreSQL データベースとエミュレータを使用して Gemini Code Assist を使用して設計、実行、テストを行います。
クエリとミューテーションの詳細については、Data Connect スキーマ、クエリ、ミューテーションをご覧ください。
AI assistance for Data Connect によるデータの使用方法
Gemini in Firebase がデータを使用する方法の詳細については、Gemini in Firebase によるデータの使用方法をご覧ください。
AI assistance for Data Connectを設定
Data Connect で AI 支援を設定するには、Gemini in Firebase を設定するで説明されているように Gemini in Firebase を有効にして、Gemini in Firebase で GraphQL クエリとミューテーションを生成するに進みます。
Firebase で Gemini を使用して GraphQL スキーマ、クエリ、ミューテーションを生成する
Data Connect の AI アシスタントは、多くのコンテキストとワークフローで利用できます。
Firebase コンソールで新しいアプリとその初期スキーマとオペレーションを作成する
新しい Firebase プロジェクトを作成して新しいアプリを開発するように設定すると、Firebase コンソールでスキーマとオペレーションの生成に AI アシスタントが自動的に提供されます。
この設定フローで、アプリと AI アシスタントを記述できます。
- 完全な Data Connect スキーマを生成します。
- クライアント コードと統合できる、有用なコアとなるクエリとミューテーションのセットを生成します。
コンソールで作成したこれらのリソースをローカル開発環境と同期して、クライアントとの統合を続けます。
このワークフローについては、スタートガイドをご覧ください。
Firebase コンソールで実行する新しいクエリとミューテーションを追加する
AI assistance for Data Connect を使用して自然言語に基づいて GraphQL を生成するには:
プロジェクトで Data Connect を開き、[サービス] でデータソースを選択します。
[データ] をクリックします。
[GraphQL の作成を支援] pen_spark アイコンをクリックします。
表示されたテキスト フィールド内で、生成するクエリまたはミューテーションを自然言語で記述し、[生成] をクリックします。
たとえば、「Data Connect (web) 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 }
}
ローカル プロトタイピング中に最初のスキーマとオペレーションを作成する
Visual Studio Code と Data Connect VS Code 拡張機能を使用するローカル プロトタイピング作業では、Gemini Code Assist から AI アシスタントを利用できます。
この拡張機能を使用すると、アプリを記述し、Gemini Code Assist を実行できます。
- 完全な Data Connect スキーマを生成します。
- クライアント コードと統合できる、有用なコアとなるクエリとミューテーションのセットを生成します。
このワークフローについては、ローカル プロトタイピングのスタートガイドをご覧ください。
AI assistance for Data Connect のその他のユースケース
以降のセクションでは、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 these 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 のトラブルシューティング
Gemini in Firebase のトラブルシューティングを参照してください。
料金
AI assistance for Data Connect は、個人ユーザー向けの Gemini in Firebase の一部として利用できます。
詳細については、Gemini in Firebase の料金をご覧ください。
次のステップ
- クエリとミューテーションの詳細については、Data Connect スキーマ、クエリ、ミューテーションをご覧ください。
- 詳しくは、Gemini in Firebase をご覧ください。