本頁面可協助您開始在應用程式中導入生成式 AI 功能。這裡會說明與生成式 AI 相關的 Firestore 功能和整合。
使用 Cloud Firestore 快速入門向量搜尋
如要針對產品推薦和聊天機器人等用途,打造創新的 AI 技術輔助解決方案,通常需要使用向量相似度搜尋 (或稱向量搜尋)。您可以對 Firestore 資料執行向量搜尋,不必費心將資料複製到其他向量搜尋解決方案,維持簡單且有效率的作業流程。
Cloud Firestore 中向量搜尋的核心工作流程包含 4 個步驟。
產生向量嵌入
運用向量搜尋的第一步,就是產生向量嵌入。嵌入是文字、圖片和影片等不同種類資料的表示法,可擷取其代表實體之間的語意或語法相似處。您可以使用服務 (例如 Vertex AI 文字嵌入 API) 計算嵌入值。
在 Firestore 中儲存嵌入資料
產生嵌入後,即可使用其中一個支援的 SDK 將其儲存在 Firestore 中。以下是 NodeJS SDK 中的運算作業:
const db = new Firestore();
let collectionRef = db.collection("beans");
await collectionRef.add({
name: "Kahawa coffee beans",
type: "arabica",
description: "Information about the Kahawa coffee beans.",
embedding_field: FieldValue.vector([0.1, 0.3, ..., 0.2]), // a vector with 768 dimensions
});
建立向量索引
下一個步驟是建立 Firestore KNN 向量索引,用於儲存向量嵌入資料。在預覽版本中,您必須使用 gcloud
指令列工具建立索引。
執行向量搜尋
新增所有向量嵌入並建立向量索引後,您就可以開始執行搜尋。接著,您將在集合參照上使用 find_nearest
呼叫,傳遞用於比較已儲存嵌入資料的查詢向量嵌入資料,並指定要使用的距離函式。
再次提醒,請參閱這篇網誌文章,瞭解工作流程和更多用途。
解決方案:向量搜尋
摘要:儲存及查詢向量嵌入。
用途:其他工具和功能會使用這項功能。
解決方案:使用 Firebase 的向量搜尋擴充功能
摘要:使用 Firebase 擴充功能,透過向量搜尋功能自動嵌入及查詢 Firestore 文件。
用途:在 Firebase 專案中執行自動向量搜尋。
解決方案:LangChain 整合
摘要:將 Firestore 做為 LangChain 的向量儲存庫、文件載入器或聊天訊息記錄來源。
用途:建構生成式 AI 應用程式或檢索增強生成 (RAG) 工作流程。
解決方案:Genkit
摘要:Firebase Genkit 是開放原始碼架構,可協助您建構、部署及監控可用於正式環境的 AI 應用程式。
用途:使用 Genkit 和 Cloud Firestore 建立應用程式,產生自訂內容、使用語意搜尋、處理非結構化輸入內容、使用業務資料回答問題等等!