1. 事前準備
在這個程式碼研究室中,您將瞭解如何使用 Firebase Genkit 將生成式 AI 整合至應用程式。Firebase Genkit 是一種開放原始碼架構,可協助您建構、部署及監控可用於正式環境的 AI 技術輔助應用程式。
Genkit 專為應用程式開發人員設計,可協助你以熟悉的模式和模式,輕鬆將強大的 AI 功能整合至應用程式。此應用程式是由 Firebase 團隊打造,運用豐富的經驗,為全球數百萬名開發人員打造好用的工具。
事前準備
- 熟悉 Firestore、Node.js 和 TypeScript。
課程內容
- 如何運用 Firestore 的進階向量相似度搜尋功能,打造更聰明的應用程式。
- 瞭解如何使用 Firebase Genkit 將生成式 AI 實際導入應用程式。
- 備妥要部署和整合的解決方案。
事前準備
- 您選擇的瀏覽器,例如 Google Chrome
- 使用程式碼編輯器和終端機的開發環境
- 用來建立及管理 Firebase 專案的 Google 帳戶
2. 查看所使用的網頁應用程式和雲端服務
在本節中,您將複習本程式碼研究室將建構的網頁應用程式,並瞭解要使用的雲端服務。
網頁應用程式
在本程式碼研究室中,您將使用名為 Compass 的應用程式的程式碼集,也就是度假規劃應用程式。使用者可以挑選目的地、查看目的地的活動,並為自己的行程建立行程。
在本程式碼研究室中,您將實作兩項新功能,改善使用者與應用程式首頁的互動。這兩項功能都採用生成式 AI:
- 應用程式目前會顯示靜態的目的地清單。將其變更為動態樣式!
- 您將實作自動填入的行程,有機會提高黏著度。
使用的服務
在本程式碼研究室中,您將使用許多 Firebase 和 Cloud 的服務與功能,並已為您提供大部分的範例程式碼。下表說明您將使用的服務,以及使用這些服務的原因。
Service | 使用原因 |
您會透過 Genkit 將生成式 AI 導入 Node.js / Next.js 應用程式。 | |
將資料儲存於 Cloud Firestore,之後用於向量相似度搜尋。 | |
使用 Gemini 等 Vertex AI 基礎模型強化 AI 功能。 | |
您可以選擇使用經過簡化的全新 Firebase App Hosting,提供動態 Next.js 網頁應用程式 (連結至 GitHub 存放區)。 |
3. 設定開發環境
驗證 Node.js 版本
- 在終端機中,確認您已安裝 Node.js 20.0.0 以上版本:
node -v
- 如果您沒有 Node.js 20.0.0 以上版本,請下載並安裝最新的 LTS 版本。
取得程式碼研究室的原始碼
如果您有 GitHub 帳戶:
- 使用我們的範本建立新存放區:github.com/FirebaseExtended/codelab-ai-genkit-rag
- 針對剛剛建立的程式碼研究室 GitHub 存放區,建立本機副本:
git clone https://github.com/<your-github-handle>/codelab-ai-genkit-rag
如果您尚未安裝 Git,或不想建立新的存放區:
查看資料夾結構
在本機電腦上找出複製的存放區,並檢查資料夾結構:
資料夾 | 說明 |
| 後端 Genkit 程式碼 |
| 輔助指令列工具,可快速預先填入 Firestore 集合 |
*其他 | Next.js 網頁應用程式程式碼 |
根資料夾包含一個 README.md
檔案,該檔案提供以精簡的操作說明執行網頁應用程式的快速入門。不過,如果您是新手,建議您完成本程式碼研究室 (而非快速入門導覽課程),因為本程式碼研究室包含最全面的操作說明。
如果不確定是否已按照本程式碼研究室中的操作說明正確套用程式碼,可以在 end
Git 分支版本中找到解決方案程式碼。
安裝 Firebase CLI
- 確認您已安裝 Firebase CLI,且版本為 13.6 以上版本:
firebase --version
- 如果您已安裝 Firebase CLI,但尚未安裝 13.6 以上版本,請進行更新:
npm update -g firebase-tools
- 如果您未安裝 Firebase CLI,請安裝:
npm install -g firebase-tools
如果權限錯誤而無法更新或安裝 Firebase CLI,請參閱 npm 說明文件或使用其他安裝選項。
登入 Firebase
- 在終端機中登入 Firebase:
敬上 如果終端機顯示您已登入 Firebase,請直接跳至本程式碼研究室的「設定 Firebase 專案」一節。firebase login
- 在終端機中,輸入
Y
或N
(視您要 Firebase 收集資料而定)。(任一選項都適用於本程式碼研究室) - 在瀏覽器中選取 Google 帳戶,然後按一下「允許」。
安裝 Google Cloud 的 gcloud CLI
- 安裝 gcloud CLI。
- 在終端機中登入 Google Cloud:
gcloud auth login
4. 設定 Firebase 專案
在這個階段,您將設定 Firebase 專案,並在專案中註冊 Firebase 網頁應用程式。本程式碼研究室稍後也會啟用範例網頁應用程式使用的部分服務。
本節所有步驟都會在 Firebase 控制台中執行。
建立 Firebase 專案
- 請使用您在上一個步驟使用的 Google 帳戶,登入 Firebase 控制台。
- 按一下「建立專案」,然後輸入專案名稱 (例如
Compass Codelab
)。
記下系統自動為 Firebase 專案指派的專案 ID (或按一下「編輯」圖示設定偏好的專案 ID)。稍後會用到這組 ID,以便在 Firebase CLI 中識別您的 Firebase 專案。如果您忘記 ID,日後隨時可以前往專案設定頁面查看。 - 按一下 [繼續]。
- 如果出現提示訊息,請詳閱並接受 Firebase 條款,然後按一下「繼續」。
- 在本程式碼研究室中,您並「不需要」使用 Google Analytics,因此請停用 Google Analytics 選項。
- 按一下「建立專案」,等待專案佈建完成,然後點選「繼續」。
在 Firebase 專案中新增網頁應用程式
- 前往 Firebase 專案中的「專案總覽」畫面,然後按一下 「網路」。
- 在「應用程式暱稱」文字方塊中,輸入好記的應用程式暱稱,例如
My Compass Codelab App
。您可以視需要在本程式碼研究室的最後一個步驟中,選擇設定代管服務,因此可以不勾選「設定 Firebase 託管」的核取方塊。 - 按一下「註冊應用程式」>前往控制台。
太好了!現在,您已在新的 Firebase 專案中註冊網頁應用程式。
升級 Firebase 計費方案
如要使用 Firebase Genkit 和 Vertex AI (及其基礎雲端服務),您需要升級 Firebase 專案來啟用計費功能。
如要升級專案的計費方案,請按照下列步驟操作:
啟用 Cloud Firestore
- 依序前往「Build」>「Build」>「Build」。Firestore 資料庫:使用左側導覽窗格。
- 按一下 [Create database] (建立資料庫)。
- 保留「Database ID」為
(default)
。 - 選取偏好的 Cloud Firestore 位置 (或是保留預設值)。
- 點選「下一步」。
- 選取「以測試模式啟動」。
- 按一下「建立」。
啟用 Vertex AI
透過 gcloud
CLI 設定 Vertex AI。對於本頁中的所有指令,請務必將 YOUR_PROJECT_ID
替換為您的 Firebase 專案 ID。
- 在終端機中,設定 Google Cloud SDK 的預設專案:
gcloud config set project YOUR_PROJECT_ID
- 如果系統顯示「警告:您的現行專案與本機應用程式預設憑證檔案中的配額專案不符」訊息,這可能會導致未預期的配額問題。」,然後執行下列指令來設定配額專案:
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
- 在專案中啟用 Vertex AI 服務:
gcloud services enable aiplatform.googleapis.com
- 將權限授予服務帳戶:
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \ --member "serviceAccount:firebase-app-hosting-compute@YOUR_PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/aiplatform.user"
5. 設定網頁應用程式
如要執行網頁應用程式,您必須在終端機中執行指令,並在程式碼編輯器中新增程式碼。對於本頁中的所有指令,請務必將 YOUR_PROJECT_ID
替換為您的 Firebase 專案 ID。
設定 Firebase CLI 以指定專案
- 在終端機中,前往程式碼研究室專案的根目錄。
- 如要讓 Firebase CLI 對 Firebase 專案執行所有指令,請執行下列指令:
firebase use YOUR_PROJECT_ID
將範例資料匯入 Firestore
本程式碼研究室提供預先產生的 Firestore 範例資料,方便您快速開始使用。
- 如要允許本機程式碼集執行通常使用服務帳戶的程式碼,請在終端機中執行下列指令:
敬上 系統會在瀏覽器中開啟新分頁。使用在先前步驟中使用的 Google 帳戶登入。gcloud auth application-default login
- 如要匯入範例 Firestore 資料,請執行下列指令:
cd load-firestore-data npm ci node index.js YOUR_PROJECT_ID cd ..
- 前往 Firebase 控制台中,前往 Firebase 專案的「Firestore」部分,確認資料是否已成功新增至資料庫。你應該會看到匯入的資料結構定義及其內容。
將網頁應用程式連結至 Firebase 專案
網頁應用程式的程式碼集必須與正確的 Firebase 專案建立關聯,才能使用資料庫等服務。為此,您必須將 Firebase 設定加進應用程式的程式碼集。這項設定包含專案 ID、應用程式 API 金鑰和應用程式 ID 等必要值,以及可讓應用程式與 Firebase 互動的其他值。
- 取得應用程式的 Firebase 設定:
- 將 Firebase 設定新增至網頁應用程式的程式碼集:
- 在程式碼編輯器中開啟
src/lib/genkit/genkit.config.ts
檔案。 - 將相關部分換成您複製的程式碼。
- 儲存檔案。
- 在程式碼編輯器中開啟
在瀏覽器中預覽網頁應用程式
- 在終端機中安裝依附元件,然後執行網頁應用程式:
npm install npm run dev
- 在瀏覽器中,前往本機代管的代管網址,查看網頁應用程式。例如,在大多數情況下,網址為 http://localhost:3000/ 或類似的網址。
Compass 是採用 React 伺服器元件的 Next.js 應用程式,這是首頁。
點選「尋找我的夢想之旅」。您會發現該介面目前針對某些固定目的地顯示一些硬式編碼資料:
歡迎探索。準備好繼續時,請按一下右上角的 主畫面按鈕。
6. 透過 Genkit 深入瞭解生成式 AI
您現在可以在應用程式中運用生成式 AI 的強大力量了!本程式碼研究室的章節將引導您實作一項功能,根據使用者提供靈感來建議目的地。您將使用 Firebase Genkit 和 Google Cloud Vertex AI 做為生成式模型 (使用 Gemini)。
Genkit 可以儲存追蹤記錄和流程狀態,方便您檢查 Genkit 流程的執行結果。在本程式碼研究室中,您將使用 Firestore 儲存這些追蹤記錄。
這個程式碼研究室的最後一個步驟,是將 Genkit 應用程式部署至 Firebase App Hosting。
將 Genkit 應用程式連結至 Firebase 專案
程式碼集必須先連結正確的 Firebase 專案,才能使用 Genkit,例如資料庫。如要完成這項操作,您必須將 Firebase 設定新增至 Genkit 應用程式的程式碼集。這項設定包含專案 ID、應用程式 API 金鑰和應用程式 ID 等必要值,以及可讓應用程式與 Firebase 互動的其他值。
- 取得應用程式的 Firebase 設定:
- 將應用程式的 Firebase 設定新增至 Genkit 應用程式的程式碼集:
- 在程式碼編輯器中開啟
genkit-functions/src/lib/genkit.config.ts
檔案。 - 將相關部分換成您複製的程式碼。
- 儲存檔案。
- 在程式碼編輯器中開啟
啟動 Genkit 開發人員使用者介面
Genkit 提供網頁式 UI,能讓您與 LLM、Genkit 流程、擷取器和其他 AI 元件互動。
- 啟動 Genkit 開發人員使用者介面:
- 開啟新的終端機視窗。
- 前往
genkit-functions
目錄的根目錄。 - 執行下列指令,啟動 Genkit 開發人員 UI:
cd genkit-functions npx genkit start
- 透過瀏覽器前往本機代管的 Genkit 網址。在大多數情況下,該字串為 http://localhost:4000/。
與 Gemini 互動
您現在可以使用 Genkit 的開發人員 UI,與系統支援的模型或其他任何 AI 元件互動,例如提示、擷取器和 Genkit 流程。
舉例來說,您可以要求 Gemini 建議假日假期。注意如何根據系統指示,根據特定需求引導模型的行為。這個方法也適用於未原生支援系統指令的模型。
管理提示
Firebase Genkit 導入 Dotprompt,這是一種外掛程式和文字格式,可簡化生成式 AI 提示的建立及管理作業。Dotprompt 背後的核心概念,就是將提示視為程式碼,方便您搭配應用程式的程式碼編寫、維護及管理版本。
如要使用 Dotprompt,請先從「hello-world」開始:
- 在程式碼編輯器中開啟
genkit-functions/prompts/1-hello-world.prompt
檔案。 - 在 Genkit 開發人員 UI 中開啟
dotprompt/1-hello-world
。 - 請使用您熟悉的任何語言名稱或代碼,或是保留空白字串。
- 按一下「執行」。
- 請改用其他值。就這樣,大型語言模型就能在簡單的查詢中理解縮寫、拼字錯誤或不完整的提示。
透過結構化資料讓輸出內容更豐富
除了產生純文字外,Genkit 還可讓您建立輸出內容,進一步改善應用程式 UI 的呈現和整合品質。定義結構定義之後,您就能指示 LLM 產生符合所需格式的結構化資料。
探索輸出結構定義
您也可以指定 LLM 呼叫的輸出結構定義。
- 在程式碼編輯器中檢查提示檔案:
- 開啟
dotprompt/2-simple-itinerary
檔案。 - 檢查定義的輸入和輸出結構定義。
- 開啟
- 與使用者介面互動:
- 在 Genkit 開發人員 UI 中,前往
dotprompt/2-simple-itinerary
部分。 - 將範例資料填入
place
和interests
欄位,藉此提供輸入內容:{ "interests": [ "Museums" ], "place": "Paris" }
- 按一下「執行」。
- 在 Genkit 開發人員 UI 中,前往
瞭解結構定義導向的輸出內容
請注意產生的輸出內容如何符合定義的結構定義。指定所需結構後,LLM 會產生要輕鬆剖析及整合至應用程式的資料。Genkit 會根據結構定義自動驗證輸出內容,確保資料完整性。
此外,您可以設定 Genkit 重新嘗試,或是嘗試修復與結構定義不符的輸出內容。
輸出結構定義的主要優點
- 簡化整合程序:輕鬆將結構化資料整合至應用程式的 UI 元素。
- 資料驗證:確保產生輸出內容的準確率和一致性。
- 錯誤處理:實作機制以解決結構定義不相符的問題。
運用輸出結構定義可改善 Genkit 體驗,以便你建立量身訂製的結構化資料,打造更豐富多元的動態使用者體驗。
使用多模態輸入
假設該應用程式根據使用者認為具啟發性的圖片,推薦個人化的度假地點。Genkit 結合多模態的生成式模型,能實現這個願景。
- 在程式碼編輯器中檢查提示檔案:
- 開啟
genkit-functions/prompts/imgDescription.prompt
檔案。 - 請注意加入
{{media url=this}}
,此帳號代碼語法元素有助於將圖片融入提示。
- 開啟
- 與使用者介面互動:
- 在 Genkit 開發人員 UI 中開啟
dotprompt/imgDescription
提示。 - 貼上圖片網址,在
imageUrls
欄位輸入圖片網址。舉例來說,你可以使用維基百科的縮圖來展示艾菲爾鐵塔:{ "imageUrls": [ "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4b/La_Tour_Eiffel_vue_de_la_Tour_Saint-Jacques%2C_Paris_ao%C3%BBt_2014_%282%29.jpg/556px-La_Tour_Eiffel_vue_de_la_Tour_Saint-Jacques%2C_Paris_ao%C3%BBt_2014_%282%29.jpg" ] }
- 按一下「執行」。
- 在 Genkit 開發人員 UI 中開啟
7. 透過向量相似度搜尋實作擷取作業
雖然使用 AI 模型生成創意內容是很令人讚嘆的,但在實際應用時,通常需要根據特定情境將輸出內容做為基礎。
在本程式碼研究室中,您有目的地 (地點和活動) 資料庫,確保 Gemini 模型產生的建議僅參照這個資料庫中的項目。
為了消除非結構化查詢與相關內容的差距,您可以在產生的嵌入上運用向量相似度搜尋的強大功能。
瞭解嵌入和向量相似度
- 向量:向量是資料點的數值表示法,通常用於建立文字或圖像等複雜資訊的模型。向量中的每個維度都對應到資料的特定特徵。
- 嵌入模型:這些專門的 AI 模型會將文字等輸入資料轉換為高維度向量。最引人入勝的是,相似的輸入內容會對應至這個高維度空間中彼此接近的向量。
- 向量相似度搜尋:這項技巧會運用嵌入向量的鄰近程度,識別相關的資料點。提供輸入查詢後,它會尋找資料庫中具有類似嵌入向量的項目,指出語意相關性。
瞭解擷取程序的運作方式
- 嵌入查詢:使用者的輸入內容 (例如「巴黎的浪漫晚餐」) 會透過嵌入模型傳遞,進而產生查詢向量。
- 資料庫嵌入:在理想情況下,您已經預先處理目的地資料庫,為每個項目建立嵌入向量。
- 計算相似度:使用相似度指標 (例如餘弦相似度) 將查詢向量與資料庫中的每個嵌入向量進行比較。
- 擷取:系統會根據資料庫與查詢向量的距離,擷取資料庫中最相似的項目做為相關建議。
將這項擷取機制整合至應用程式後,您就能利用 Gemini 模型生成建議,不僅創意出眾,也強化專屬於您的特定資料集。這種做法可以確保生成的輸出內容保持內容相關,且與資料庫中的資訊一致。
在 Firestore 中啟用向量相似度搜尋功能
在本程式碼研究室的上一步中,您已在 Firestore 資料庫中填入範例地點和活動。每個地點項目都含有 knownFor
文字欄位,用來描述其重要屬性,以及對應的 embedding
欄位,其中含有此說明的向量表示法。
如要運用強大的向量相似度搜尋功能處理這些嵌入,您必須建立 Firestore 索引。此索引可以根據地點與特定查詢的嵌入向量相似程度,有效地擷取地點。
- 在終端機中執行下列指令,安裝最新的 alpha 元件。您需要
2024.05.03
以上版本:gcloud components install alpha
- 建立索引,並確保將
YOUR_PROJECT_ID
替換為您的專案 ID。gcloud alpha firestore indexes composite create --project=YOUR_PROJECT_ID --collection-group=places --query-scope=COLLECTION --field-config=vector-config='{"dimension":"768","flat": "{}"}',field-path=embedding
- 在 Genkit 開發人員 UI 中開啟
placesRetriever
。 - 按一下「執行」。利用預留位置文字觀察鷹架式物件,指出您會在何處實作擷取邏輯。
- 在程式碼編輯器中開啟
genkit-functions/src/lib/placesRetriever.ts
檔案。 - 捲動到最下方,並將預留位置
placesRetriever
替換成以下內容:export const placesRetriever = defineFirestoreRetriever({ name: 'placesRetriever', firestore, collection: 'places', contentField: 'knownFor', vectorField: 'embedding', embedder: textEmbeddingGecko, distanceMeasure: 'COSINE', });
測試擷取器
- 在 Genkit 開發人員 UI 中開啟
placesRetriever
擷取器。 - 提供下列 查詢:
{ "content": [ { "text": "UNESCO" } ] }
- 您也可以提供選項。舉例來說,以下說明如何指定擷取器應傳回多少文件:
{ "limit": 4 }
- 按一下「執行」。
您可以將 where
子句新增至「選項」,藉此進一步篩選資料相似度以外的資料。
8. 使用 Genkit 檢索增強生成 (RAG)
在之前的章節中,您建構了個別提示,能夠處理文字、JSON 和圖片、產生度假目的地和其他引人入勝的內容。您也實作了提示,從 Firestore 資料庫擷取相關目的地。現在,您可以開始將這些元件配置成一個連貫的檢索增強生成 (RAG) 流程。
本節介紹名為「流程」的重要 Genkit 概念。資料流是強型別的可串流函式,可以在本機和遠端叫用,且具備完整的觀測能力。您可以透過 Genkit 的 CLI 和 Genkit 開發人員 UI 管理和叫用資料流。
- 在程式碼編輯器中檢查行程提示:
- 開啟
genkit-functions/prompts/itineraryGen.prompt
檔案。 - 請注意,我們已將提示展開以接受其他輸入內容,特別是擷取器的活動資料來源。
- 開啟
- 在 Genkit 開發人員 UI 中,查看
genkit-functions/src/lib/itineraryFlow.ts
檔案中的 Genkit 流程。
提示:如要簡化偵錯作業,建議您將冗長流程細分為易於管理的小型步驟。 - 整合「圖片說明」來改善流程步驟:
- 找出
TODO: 2
註解 (位於第 70 行左右)。這可以標示出您要改善流量的情況。 - 將空白的
imgDescription
預留位置替換為imgDescription
提示呼叫產生的輸出內容。
- 找出
- 測試流程:
- 前往
itineraryFlow
。 - 使用下列輸入內容,測試新新增的步驟是否能成功執行
itineraryFlow
:{ "request": "Sightseeing in Paris", "imageUrls": [ "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4b/La_Tour_Eiffel_vue_de_la_Tour_Saint-Jacques%2C_Paris_ao%C3%BBt_2014_%282%29.jpg/556px-La_Tour_Eiffel_vue_de_la_Tour_Saint-Jacques%2C_Paris_ao%C3%BBt_2014_%282%29.jpg" ] }
- 按一下「執行」。
- 查看生成的輸出內容,並將圖片說明納入行程建議。
- 前往
- 如果發生任何錯誤或非預期的行為,請前往「檢查」分頁瞭解詳情。您也可以在這個分頁中查看「Trace Store」執行的執行記錄。
適用於網頁應用程式的 RAG
- 在瀏覽器中前往 http://localhost:3000/,確保網頁應用程式仍在執行。
- 如果網頁應用程式不再執行,請在終端機中執行下列指令:
npm install npm run dev
- 請造訪「Dream Your Vacation」網頁應用程式頁面 (http://localhost:3000/gemini)。
- 查看原始碼 (
src/app/gemini/page.tsx
),以取得 Next.js 整合範例。
9. 使用 Firebase App Hosting 部署應用程式
此歷程中的最後一個步驟是部署網頁應用程式。您應該利用 Firebase App Hosting 這個可感知架構的託管解決方案,簡化將 Next.js 和 Angular 應用程式部署至無伺服器後端的過程。
- 在本機 Git 存放區中修訂變更,然後推送至 GitHub。
- 在 Firebase 控制台中,前往 Firebase 專案中的「App Hosting」。
- 按一下「開始使用」>連結至 GitHub。
- 選取您的「GitHub account」(GitHub 帳戶) 和「Repository」(存放區)。按一下 [Next] (下一步)。
- 在「部署作業設定」>「>」根目錄:保留預設值。
- 在「Live 分支版本」部分,選取 GitHub 存放區的「main」分支版本。按一下 [Next] (下一步)。
- 輸入後端的 ID (例如
compass
)。 - 當系統詢問是否要建立或連結 Firebase 網頁應用程式時,請選擇「選取現有的 Firebase 網頁應用程式」,然後選擇在本程式碼研究室中先前步驟建立的應用程式。
- 按一下「Finish and Deploy」。
監控部署作業狀態
部署程序需要幾分鐘的時間。您可以在 Firebase 控制台的「App Hosting」專區追蹤進度。完成之後,使用者就能存取你的網頁應用程式。
自動重新部署
Firebase App Hosting 簡化日後的更新流程。只要您將變更推送至 GitHub 存放區的主要分支版本,Firebase App Hosting 會自動重新建構和重新部署應用程式,確保您的使用者隨時能使用最新版本。
10. 結論
恭喜您完成這個內容完善的程式碼研究室!
您已成功運用 Firebase Genkit、Firestore 和 Vertex AI 的強大功能,創造複雜的「流程」會根據使用者的偏好和靈感產生個人化的假期推薦項目,同時也會依據應用程式資料提供建議。
在這趟旅程中,您已獲得實際軟體工程模式的實作經驗,瞭解如何建構強大的生成式 AI 應用程式。這些模式包括:
- 提示管理:將提示整理為程式碼並妥善管理,促進協作及控管版本。
- 多模態內容:整合圖片和文字等各種資料類型,增進 AI 互動。
- 輸入/輸出結構定義:建立資料結構,在應用程式中無縫整合及進行驗證。
- 向量儲存庫:運用向量嵌入項目有效進行相似度搜尋並擷取相關資訊。
- 資料擷取:實作從資料庫擷取資料並併入 AI 生成內容的機制。
- 檢索增強生成 (RAG):結合擷取技術與生成式 AI,取得符合情境且準確的輸出內容。
- 流程檢測:建構及自動化調度管理複雜的 AI 工作流程,以流暢且可觀測的執行作業。
只要掌握這些概念並在 Firebase 生態系統中實際應用,你就能順利展開自己的生成式 AI 冒險。探索各種可能性、打造創新應用程式,並持續突破生成式 AI 的優勢。
瞭解其他部署選項
Genkit 提供多種部署選項,能滿足貴機構的特定需求,包括:
- Cloud Functions for Firebase
- Cloud Run
- Next.js
- 任何 Node.js 環境
- Genkit 也支援 Go
只要在 (package.json
) 節點資料夾中執行下列指令,即可選擇最適合的部署方式:
npx genkit init
後續步驟
- 在 Google AI Studio 或 Vertex AI Studio 中測試提示,並充分運用大型背景脈絡視窗。
- 進一步瞭解 AI 檢索增強生成 (RAG) 搜尋。
- 查看 Firebase Genkit 官方文件。
- 進一步瞭解 Firestore 的相似度搜尋功能和 PostgreSQL 適用的 Cloud SQL。
- 透過函式呼叫進一步瞭解生成式 AI 流程。