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':['暖冬菜食谱',“寒冷的舒适食品食谱”,“辣椒和汤的辣椒和汤”}}}}}}