Google 已將 Google AI Dart SDK 發佈到測試版。您可以將生成式 AI 功能構建到您的 Dart 或 Flutter 應用程式中。這些應用程式使用 Gemini,這是 Google 最新一代的 AI 模型。查看 package:google_generative_ai。在 這篇部落格文章 中了解如何使用 Google AI Dart SDK 進行構建,或者直接跳到 快速入門。
從 Google AI Studio 獲取 Gemini API 金鑰。確保此金鑰安全。我們強烈建議您不要將金鑰直接包含在您的程式碼中,也不要將包含金鑰的文件检入版本控制系統。在開發過程中,我們建議使用 flutter run -d [DEVICE NAME] — dart-define=API_KEY=[YOUR API KEY] 在模擬器/模擬器中運行應用程式,使用您的 API 金鑰作為環境變數。
除了 SDK 之外,Google AI Studio 是一個基於瀏覽器的 IDE,用於使用生成式模型進行原型設計。它讓您可以快速迭代以開發用例的提示,然後獲取 API 金鑰以在您的應用程式開發中使用。您可以使用您的 Google 帳戶登入 Google AI Studio,並利用免費配額,允許每分鐘 60 次請求。為了幫助我們提高產品品質,當您使用免費配額時,您的 Google AI Studio 輸入和輸出可能會被訓練有素的審閱者存取。這些資料會與您的 Google 帳戶和 API 金鑰脱钩。
我們將很快將 Dart 添加到 Google AI Studio,請密切關注我們的公告!這將讓您可以簡單地點擊「取得程式碼」,選擇新的 Dart 標籤(它將與現有支援的語言並列),然後「複製」Dart 程式碼以將您的工作傳輸到您選擇的 IDE。
Google Earth未來技術堆栈的搜尋,受到了他們現有客戶端發展速度緩慢的摩擦來源的嚴重影響。也就是說,Google Earth很早就被迫在開發新功能的速度,以及在三個獨特的程式碼庫(網頁、Android和iOS)中維持功能一致性之間做出選擇。幸運的是,UI的中心——螢幕中央的整個淡藍色點——是由一個C++引擎驅動的,該引擎已經為Google Earth的一些功能提供了統一的體驗。然而,其餘的UI邊框和選單是在每個程式碼庫中單獨實現的。這意味著任何跨平台的選擇,不僅需要徹底改革UI開發流程,還需要與Android、iOS和網頁中的一個大型遺留引擎整合。
幸運的是,GoRouter 的宣告式路由 API 可以提供幫助。建立兩個單獨的路由宣告,並在使用者切換UI模式時切換到適當的路由。在這種情況下,如果桌面UI在收到啟動行動UI的請求時,已將使用者的最後活動追蹤到紅色面板,則呼叫mobileRouter.go('home/blue/red')將建立一個帶有合成歷史的導航堆栈,允許使用者按下返回按鈕退出紅色螢幕。
作為 [Google Cloud 應用 AI 峰會](https://cloudonair.withgoogle.com/events/summit-applied-ml-summit-23?talk=t1_s5_vertexaisearchandconversation) 的一部分,Flutter 和 Vertex AI 團隊與 [Very Good Ventures](https://verygood.ventures/) 合作,使用 Google Cloud 的 [Vertex AI Search and Conversation](https://cloud.google.com/vertex-ai-search-and-conversation) 打造出了一款 AI 驅動的 Flutter 範例應用程式 [Ask Dash](https://github.com/VeryGoodOpenSource/dash_ai_search)。 Vertex AI Search and Conversation 使您能夠快速構建和部署搜尋和對話式應用程式,幾乎不需要任何 AI 經驗。 Flutter 是構建美觀、自訂搜尋體驗的絕佳方式,可以展示這兩款產品如何在短短幾週內共同構建強大的應用程式!
Vertex AI Search and Conversation 讓您能夠建立與您的資料互動的應用程式,這些應用程式會提供個人化的回應,展示生成式 AI 的強大功能。最重要的是,它讓您完全控制您的應用程式存取和索引的資料,以便您可以控制向哪些使用者顯示哪些資訊。所有應用程式資料和使用者互動都儲存在您自己的雲端實例中,從未使用於訓練 Google 的基礎機器學習模型。
由於我們使用 Flutter 打造了範例應用程式,因此我們決定使用 Flutter 文件作為訓練資料。我們與 Google Cloud 團隊合作,針對 Flutter 和 Dart 開發人員文件特別訓練了模型,以便為以下類型的問題提供生成式 AI 回應:Flutter 是什麼?它支援哪些平台?熱重載是什麼?雖然這些資料中的大部分在公開的 AI 模型中很容易獲得,但此範例展現了如何僅根據您自己的資料訓練模型,以建立強大的 AI 體驗。
本文將帶領您瞭解我們的合作夥伴 Very Good Ventures 如何打造 Flutter 網頁應用程式,以及我們如何在雲端主控台中連接應用程式。
與傳統的搜尋體驗不同,Vertex AI Search 會針對提問提供自然語言回應。答案是使用從 Flutter 文件中多個頁面擷取的 AI 生成的,並以摘要回應的形式呈現,以及顯示 AI 使用的相關頁面的卡片。每張卡片都提供了頁面的標題和描述,以便使用者可以翻閱卡片以更深入地了解 AI 回應。
此外,在自然語言回應中,Vertex AI Search 會提供一個連結,指向回應中每個句子的來源,讓使用者可以更深入地了解每個回應部分的來源。在範例中,點擊每個句子旁邊的數字就會翻轉卡片到相關的來源頁面。
在更短的時間內更引人入勝
在開始這個專案時,我們有一個很緊迫的時程表,要讓範例應用程式在 [Google Cloud 應用 AI 峰會](https://cloudonair.withgoogle.com/events/summit-applied-ml-summit-23?talk=t1_s5_vertexaisearchandconversation) 上發佈。Flutter 的高效開發和易於使用,大大加快了兩個開發人員團隊的開發過程。它提供了建立複雜動畫所需的工具和框架,使我們的團隊能夠在活動開始前的兩週內完成這個範例應用程式的打造和發佈。
將 Flutter 應用程式連接到 Vertex API
我們使用 [http 包](https://pub.dev/packages/http) 進行簡單的請求,將前端網頁應用程式與 Vertex AI Search API 整合。 Vertex AI Search 在無需任何預先建立 AI 經驗的情況下,會提供使用者生成的問答的 JSON 回應,這些回應會被解析並顯示在動畫 Widget 中。這讓團隊可以專注於 Flutter 開發,以從生成的資料中建立引人入勝的體驗。
在您的應用程式中設定生成式 AI 搜尋
設定 Vertex AI 並為我們的 Flutter 應用程式託管 API 也非常簡單。在我們的例子中,我們使用 [https://docs.flutter.dev/](https://docs.flutter.dev/) 作為我們的資料源,並直接在 Google Cloud 主控台中設定它。作為 Google Cloud 客戶,開始使用 Vertex AI 只需三個步驟:
建立資料儲存庫
這是您網站的數位資料庫,它儲存了您根據根 URL 生成 AI 模型所需的所有資訊。Google Cloud 會爬取您的網站以查找相關資料,並為您建立一個可以查詢的資料源。若要在 Google Cloud 主控台中設定此項目,請選取 **Search and Conversation**。選擇 **Data Stores**,然後選擇 **New Data Store**。選擇 **Website URL** 作為來源,並提供您網站的 URL。
最後,建立一個 Cloud 函式。這是將 Vertex AI 資料公開給其他應用程式的 API 介面。在主控台中,前往 **Cloud Functions**,然後選擇 **Create Function**。
就是這樣!
從這裡,您可以像使用任何 API 一樣在前端應用程式中使用 API,傳送請求並接收應用程式可以顯示的格式化回應。若要測試它,請前往 **Function** 頁面,然後選擇 **Testing**。輸入一個 JSON 物件,其中包含用於提問的「search_term」金鑰(例如「hot reload」),然後查看包含自然語言摘要、相關引文和引用的頁面簡要摘要的詳細回應。
在 Google Cloud 的文件 中瞭解如何開始使用 [Vertex AI Search](https://cloud.google.com/generative-ai-app-builder/docs/try-enterprise-search)。
在 Flutter 中打造的生成式 AI 應用程式
若要查看 Ask Dash 的實際操作,並瞭解我們如何打造它,請查看 [Google Cloud 應用 AI 峰會](https://cloudonair.withgoogle.com/events/summit-applied-ml-summit-23?talk=t1_s5_vertexaisearchandconversation) 的影片議程,其中 Google Cloud 產品經理 Alan Blount 詳細介紹了打造過程,以展示 Vertex AI Search 在 Flutter 應用程式中的潛力。查看 [範例的開源 Flutter 程式碼](https://github.com/VeryGoodOpenSource/dash_ai_search),並開始在 Google Cloud 主控台中體驗自己的 AI 搜尋體驗。
Ask Dash 僅是一個開始,展示了 Flutter 如何在應用程式中為互動式生成式 AI 體驗提供動力。我們迫不及待地想看看你將打造什麼!
// "map.tmx" should be a Tiled map the meets the Leap requirements defined below await loadWorldAndMap('map.tmx', 16); setFixedViewportInTiles(32, 16);
player = Player(); add(player); camera.followComponent(player); } }
Dart & Flutter DevTools Extensions was originally published in Flutter on Medium, where people are continuing the conversation by highlighting and responding to this story.