如果只用冰箱里的食材就能找到美味的菜肴呢?
Fridget 是一个基于 AI 的网站,利用大语言模型,根据用户拥有的食材推荐最佳食谱。
别再为“今天吃什么?”而烦恼,让 AI 为您找到合适的食谱吧!
本项目的初始版本来源于 Fridget Server 项目,他们在 YouTube 上展示的 Demo 极具启发性。在此向原团队(Sinae Hong, Hanseung Choi, Samuel Han, Hojun Kwak)表示诚挚的敬意和感谢!
在原项目的基础上,我进行了二次开发和一些技术调整,以便更好地适应本地化需求和进行技术探索。
- AI 模型迁移: 将食谱生成的核心 AI 从 OpenAI 替换为 Qwen3,以优化在中国大陆地区的访问速度和响应效果。
- API 接口优化:
- 精简了
/ingredients相关的数据传输对象 (DTO),提升了交互效率。 - 新增了
/cooking-preference接口,以支持更丰富的用户偏好设置。 - 新增了 PEXELS API 集成,为食谱推荐提供精美的配图展示,增强用户体验。
/recipe/recommend接口新增 24 小时 AI 结果缓存机制,提升了系统响应速度和资源利用率。
- 精简了
- 前端重构: 前端使用 SvelteKit 进行了完全重构,旨在探索新的前端技术栈并提升开发体验。
brew services start redisbrew tap mongodb/brew
brew services start mongodb-community(1) 创建并激活虚拟环境
cd FridgetServer/flask
python3 -m venv venv
source venv/bin/activate(2) 安装必要的依赖
# 使用 Python 3
pip install flask requests spacy scikit-learn
python -m spacy download zh_core_web_md
# 如果使用 Python 3.11+,需要手动安装 spaCy 模型进行本地安装
# pip3 install zh_core_web_md-3.8.0-py3-none-any.whl(3) 根据 generate_recipes_flask.py 中的注释设置 ALI_API_KEY和PEXELS_API_KEY
export ALI_API_KEY=''
export PEXELS_API_KEY=''
重要: 请将 ALI_API_KEY 和 PEXELS_API_KEY 作为环境变量进行配置,以避免密钥泄露。
(4) 启动 Flask 服务
python -m flask --app generate_recipes_flask run --host=0.0.0.0 --port=5001 #--debugcd FridgetServer/
./gradlew compileJava #--stacktrace
./gradlew build
java -jar build/libs/fridgeproject-0.0.1-SNAPSHOT.jarcd FridgetServer/
./gradlew compileJava --stacktrace
./gradlew build --continuous
./gradlew bootRun
