主要观点:作者分享了由机器学习驱动的食谱跟踪应用,包括其工作原理、遇到的困难(主要是 Next.js 相关)以及未来的愿望清单和待办事项。
关键信息:
- 4 年前开始记录烹饪笔记,笔记在一个 55MB 的 Google Doc 中,但已无法满足需求,如在手机上搜索会崩溃等。
- 开发了使用机器学习思想的 web 应用,可组织食谱、支持搜索和提高可发现性,如通过 UMAP 可视化食谱向量,随机化首页等。
- 介绍了基本搜索实现方式,如基于 TF-IDF 的搜索、处理拼写错误和近义字、建议语义相关搜索词、搜索链接内容等。
- 探讨了 Next.js 的优缺点,如开发流程酷、Server Actions 方便、Biphasic 编程有趣、缓存多等,但也有请求超时、自我托管丢失优势、Middleware 实现怪异、Auth 复杂、缓存无效手动、无加载指示和背景任务处理方式等问题。
- 列出了愿望清单,如 OCR 实现图像搜索、用 AI 给图像贴标签、结合 TF-IDF 和嵌入池、按食谱嵌入最大距离排序首页、去重链接内容等。
- 提供了源代码链接(GitHub),并表示正在寻找工作,介绍了自己的背景和求职要求。
重要细节:
- 以“bacon and eggs”为例说明基本搜索实现中对不同词的权重处理。
- 用各种视频展示不同页面和功能的操作。
- 提及不同的食谱相关网站的特点和不足,如 PaprikaApp 更注重组织和餐单规划,AllRecipes 搜索严格等。
- 介绍了用于实现各种功能的技术和工具,如 PostgreSQL 的向量支持、transformers.js 等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。