Treehacks 2024項目。向下滾動以獲取詳細信息。 
| 部分 | 描述 |
|---|---|
| Vision OS應用程序 | 下載和提取VisionMama.zip文件的說明。 |
| AI代理管道生成食譜,食品搜索和Instacart訂購 | 從用戶的食物請求到生成食譜,識別成分,查找購買位置以及創建Instacart訂單的詳細信息。利用微調的Mistral-7b LLM,GPT-4-Turbo,SERP API和復雜的排名算法。 |
| 預訓練 | 有關數據集準備,預訓練過程以及有關使用微調Mistral-7b模型的決策的信息。 |
| 微調 | 描述了Mistral-7b的Lora微調,其中使用了250k食譜,所使用的設置以及數據集大小對性能的影響。 |
| Reflex.DEV Web聊天代理 | 使用Reflex.dev創建一個用於與AI代理進行交互的聊天接口,包括用於食譜生成和成分標識的觸發器。 |
| Interstems Iris矢量數據庫,用於語義食譜發現 | 根據用戶“ Vibe”輸入,將Iris Vector數據庫用於食譜嵌入和語義搜索。 |
在VisionMama.zip文件中,請下載並提取此
我們建立了一個終點,我們從視覺專業人士和反射站點中擊中。基本上發生的是我們提交用戶所需的食物,例如“香蕉湯”。我們將其傳遞給微調的Mistral-7B LLM來生成食譜。然後,我們迅速使用GPT-4-Turbo來解析食譜並提取成分。然後,我們使用每種成分上的SERP API找到可以在附近購買的位置。我們優先考慮便宜的成分,並使用算法嘗試訪問最少的商店購買所有食材。最後,我們填充了一個Instacart訂單API調用以購買該成分(現在模擬,因為我們沒有真正的合作夥伴訪問Instacart的API)
我們在網上找到了一個250,000種食譜的數據集。我們對它們進行了預處理,並進行了分裂並將其用於預處理。我們使用了GPT2字節對編碼令牌。我們使用修改後的Nanogpt實現培訓了4000萬參數LLM,我們沒有時間弄清楚如何部署LLM,因此我們使用了微調的Mistral-7b型號(也表現更好)。有關DevPost的更多詳細信息。
我們使用Monsterapi的在線平台:Monsterapi.ai進行了微調的Mistral-7b微調。 (感謝團隊給我們免費的積分!)設置:一個時代,洛拉r = 8,lora alpha = 16,輟學= 0,bias = none,梯度積累步驟= 32,lr = 0.0002,熱身步驟= 100
在微調之前,我們準備了250k食譜,使用此腳本從網上獲得了標準的指令格式:PrepareReciPesforFineTuning.py格式是:您是專家廚師。您知道很多不同的美食。您編寫有用的美味食譜。 n n ###指令:請逐步思考並生成{提示} n n ###響應的詳細食譜:{
我們還降低了所有提示和完成。我們使用10K,50K和250K食譜進行了微調實驗。我們觀察到,使用更多數據導致損失降低,但回報率降低。我們使用monsterapi.ai進行了微調的Mistral-7b(250K示例)。腳本FINETENED-MISTRAL7B-MONSTERAPI.PY展示了我們如何使用Regex和String Processing方法將計算模型以及將輸出處理為標準化格式。
我們使用Reflex.dev(就像反應一樣,但完全在Python中)來創建一個簡單的聊天界面與我們的代理商進行交互,因為大多數人都沒有願景專業。我們運行GPT-3.5-turbo,如果他們提出問題,可以促使他們為用戶提供營養信息。但是,如果用戶開始使用“ Get Me”,然後是虛構食物開始聊天消息,它會觸發我們的AI代理管道,然後稱我們的微調Mistral-7B來生成食譜,以生成食譜, GPT-4-Turbo來處理和從食譜中提取食譜,然後通過SERP API和一個廉價的Algortim and Indim andim andim andim andim andim andim andim andim andim anderm neverm neverm Inderm anderm andgorment andgorment andmentmentm anderm andgorment,存儲,最後填充Instacart訂購API調用。我們在Reflex.dev上託管了它,這很容易。我們只是從終端部署了Reflex部署並將其放入我們的ENV變量!謝謝反射。
我們使用了虹膜矢量數據庫的早期訪問版本,並在帶有Docker的Mac上運行它。我們使用OpenAI的Text-ADA-002嵌入嵌入了來自不同美食的10,000種獨特食譜。我們將嵌入和食譜存儲在虹膜矢量數據庫中。然後,我們讓用戶輸入“氛圍”,例如“寒冷的冬季”。我們使用Mistral-7b以結構化格式生成三個假設文檔嵌入(HYDE)提示。然後,我們使用三個Mistral生成的提示來查詢Iris DB。這裡的關鍵是,常規的語義搜索不能讓您有效地通過氛圍進行搜索。如果您對“寒冷的冬季”進行語義搜索,則更有可能為您提供與寒冷或下雨有關的結果,而不是食物。我們的提示鼓勵Mistral了解您的意見的氛圍,並將其轉換為更好的HYDE提示。真實示例:用戶輸入:寒冷的冬天生成的搜索查詢:{'Queries':['暖冬菜食譜',“寒冷的舒適食品食譜”,“辣椒和湯的辣椒和湯”}}}}}}