使用 Gemini API 建構多輪對話 (即時通訊)


您可以使用 Gemini API 在多個輪之間建構任意形式的對話。Vertex AI for Firebase SDK 可簡化對話狀態來簡化程序,因此與 generateContentStream()generateContent() 不同,您不必自行儲存對話記錄。

事前準備

如果您尚未詳閱 Vertex AI for Firebase SDK 入門指南,請先完成這項工作。請確認您已完成下列所有步驟:

  • 設定新的或現有的 Firebase 專案,包括使用 Blaze 定價方案,以及啟用必要的 API。

  • 將應用程式連結至 Firebase,包括註冊應用程式以及將 Firebase 設定新增至應用程式。

  • 請新增 SDK,並在應用程式中初始化 Vertex AI 服務和生成式模型。

將應用程式連結至 Firebase、新增 SDK,並初始化 Vertex AI 服務和生成式模型後,就可以呼叫 Gemini API。

傳送聊天提示要求

如要建構多輪對話 (例如即時通訊),請先呼叫 startChat() 來初始化即時通訊。接著使用 sendMessageStream() (或 sendMessage()) 傳送新使用者訊息,這樣訊息和回應也會附加到即時通訊記錄中。

與對話中的內容相關聯的 role 有兩種可能的選項:

  • user:提供提示的角色。這是呼叫 sendMessageStream() (或 sendMessage()) 時的預設值,如果傳遞其他角色,函式會擲回例外狀況。

  • model:提供回應的角色。使用現有的 history 呼叫 startChat() 時,可以使用這個角色。

選擇要串流回應 (sendMessageStream),或等到回應產生完畢 (sendMessage)。

串流

您可以在不等待模型產生的完整結果時,改為使用串流處理部分結果,藉此加快互動速度。

以下範例說明如何使用 sendMessageStream() 從模型串流回應:

不使用串流功能

或者,您可以等待整個結果,而不是串流;只有在模型完成整個產生程序後,才會傳回結果。

以下範例說明如何使用 sendMessage() 傳送新使用者訊息:

瞭解如何依據用途和應用程式選擇 Gemini 模型,並視需要選擇位置

你還能做什麼?

  • 瞭解如何在傳送長提示至模型前計算權杖
  • 設定 Cloud Storage for Firebase,即可透過 Cloud Storage 網址在多模態要求中加入大型檔案。檔案可以包括圖片、PDF、影片和音訊。
  • 開始考慮為正式版做好準備,包括設定 Firebase App Check,防止 Gemini API 遭到未經授權的用戶端濫用。

試用 Gemini API 的其他功能

瞭解如何控管內容生成功能

您也可以使用 Vertex AI Studio 修改提示和模型設定。

進一步瞭解 Gemini 模型

瞭解各種用途適用的模型以及配額與定價


針對 Vertex AI for Firebase 使用體驗提供意見回饋