嘗試不使用 Firebase 身份驗證(臨時解決方案):#2(評論)
我們的堆疊由 Next.js、Rust、Postgres、MeiliSearch 和用於身份驗證的 Firebase Auth 組成。請註冊 Firebase 帳戶並建立專案。
在 Firebase 中,導航至專案設定 -> 服務帳戶,產生私鑰,然後將其儲存在firebaseAdmin/cert/dev.json
(如果用於開發)或 prod.json(如果用於生產)中。
之後,請確保在啟動應用程式之前安裝相依性。
npm install
npm run db:deploy
npm run dev
(用於開發)npm run build
(用於生產)npm run start
(用於生產)執行“dev”或“build”後,您將在./client/extension/build
資料夾中找到建置的擴充功能。然後,您可以將此資料夾作為解壓縮的擴充功能載入到瀏覽器中。
目前的瀏覽器代理存在幾個問題。在這裡,我們解釋這些問題以及我們如何解決這些問題。
有多種技術可以實現此目的,包括將HTML 的縮寫形式發送到GPT-3、創建帶有ID 的邊界框並將其發送到GPT-4-vision 來採取操作,或直接要求GPT-4-vision取得元素的 X 和 Y 座標。然而,這些方法都不可靠。它們都導致了幻覺。
為了解決這個問題,我們開發了一種新技術,在 MeilSearch 中對整個 DOM 進行索引,允許 GPT-4-vision 產生命令來點擊、複製或執行其他操作的元素的內部文字。然後,我們使用生成的文字搜尋索引並檢索元素 ID 以發送回瀏覽器以採取操作。這裡有一些限制,但我們已經實現了一些技術來克服它們,例如處理多個元素中的相同文字或點擊圖示(我們仍在研究這一點)。
為了防止 GPT 偏離任務,我們使用了一種類似於檢索增強生成的技術,但我們稱之為操作增強生成。本質上,當使用者建立工作流程時,我們不會記錄螢幕、麥克風或鏡頭,但會記錄使用者執行的每個操作(點擊、鍵入等)的 DOM 元素變更。然後,我們使用工作流程標題、目標和記錄的操作來產生一組任務。每當我們執行任務時,我們都會將使用者在該特定網域上執行的所有操作與提示一起嵌入。這樣,即使使用者沒有提供非常簡短的標題和目標,GPT 仍能順利完成任務;他們的行動將引導GPT完成任務。