現在ベータ版として提供されている Vertex AI SDK for Firebaseは、単純なチャットモデルやテキストプロンプトを超えたアプリの作成を可能にする。Googleはこの度、開発者がアプリに組み込むために必要なステップを支援するコラボを公開した。
この新しいコラボでは、プロンプトのデザイン、Vertex AIを使用するためのFirebaseプロジェクトの設定方法、Android Studioプロジェクトの構成、Kotlinを使用したコードへの統合など、いくつかの重要なトピックを取り上げている。
効果的なプロンプトのデザインを構築するために、開発者はVertex AI Studioを使用できる、とGoogleのエンジニアであるThomas Ezan氏は説明している。Vertex AI Studioは、Geminiモデルを使用したプロンプトの迅速なプロトタイピングとテストを目的としたクラウドベースのツールである。
Vertex AIの機能一つで、開発者がアプリの動作をより簡単に特化できるようにするのが、「システム命令」だ。
システム命令は、ユーザープロンプトの前に組み込む「プリアンブル」の機能します。これにより、特定の要件やシナリオに合わせてモデルの動作を形成できます。
システム命令を使用することで、開発者は、希望する出力スタイルやトーン、ペルソナや役割(例えば、「私が5歳であるように説明する」)、タスクの目標やルール(例えば、「それ以上の説明なしにコードスニペットを返す」)、そしてアプリユーザーに関連する追加コンテキストを一度だけ定義できる。
システム命令は、次のスニペットに示すように、初期化時に設定される。
val generativeModel = Firebase.vertexAI.generativeModel( modelName = "gemini-1.5-flash", ... systemInstruction = content { text("You are a knowledgeable tutor. Answer the questions using the socratic tutoring method.") })
SDKはまた、開発者が生成された出力にresponseMimeType
を指定できる。これは、例えばJSON出力を生成する際に、望ましくない非JSONコンテンツを除外するために役立つ。
Gemini APIをモバイルアプリに統合することは、Geminiのマルチモーダル機能のおかげで、会話型インターフェースを提供することだけに限定されないとEzan氏は言う。実際、Geminiは、画像、音声、動画など、テキスト以外の多様な入力を処理できる。つまり、例えば、画像のキャプションを生成したり、オーディオファイルを要約したり、ビデオのシーンを説明することが可能だ。
Ezan氏が強調するもうひとつの強力な機能は、モデルの機能を拡張する関数を作成できることだ。例えば、SQLデータベースからデータを取得し、それをプロンプトのコンテキストに追加できる。あるいは、次の図に示すように、モデルが出力を生成するために使用できる一連のツールを定義することも可能だ。以下の図に示す。
ここでは、モデルは、データへの2つの呼び出しを使用して日付と注文リストを取得し、ユーザーからの質問に答える。
これらの機能はすべて、Vertex AI in Firebaseによってうまくサポートされているため、開発者はSwift、Kotlin、Flutter、JavaScriptなど、好みのプログラミング言語を使って活用できる。
Vertex AI in Firebase SDKにより、AndroidとiOSの開発者は、Python、Java、Goで書かれた中間バックエンドサービスレイヤーを必要とすることなく、アプリから直接Gemini APIにアクセスできる。