1. 项目概述:当美食遇上AI大模型
这个毕业设计项目本质上是一个融合了传统Web开发与前沿AI技术的智能推荐系统。核心思路是通过Django框架搭建基础架构,利用大语言模型处理非结构化菜谱数据,最终实现个性化的美食推荐服务。我去年指导过类似项目,实测发现这种技术组合既能满足学术要求,又具备实际商业应用价值。
系统主要解决三个痛点:一是传统推荐系统难以理解菜谱中的隐含特征(如"入口即化"这样的口感描述);二是冷启动问题(新用户无历史数据时的推荐质量);三是多维度推荐需求(既要考虑食材搭配,又要兼顾烹饪难度和用户偏好)。通过大模型的语义理解能力,我们可以把"妈妈的味道"这种抽象需求转化为具体的菜品特征向量。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计
2.1 整体技术栈选型
基础框架选择Django而非Flask或FastAPI,主要考虑三点:一是内置的Admin后台非常适合快速构建数据管理界面(菜谱审核功能可以直接复用);二是ORM对复杂数据关系的支持(菜谱-食材-用户的多对多关系);三是毕业设计对完整性的要求(Django自带用户认证、表单验证等开箱即用的功能)。
大模型方案采用"API调用+本地微调"的混合模式:
- 通用语义理解使用现成API(如OpenAI或国产大模型)
- 领域适配通过LoRA技术在消费级GPU上微调
- 部署使用vLLM优化推理速度
数据库选用PostgreSQL而非MySQL,因其对JSON字段和向量搜索的支持更好(pgvector扩展可以直接存储菜品特征向量)。
2.2 核心数据处理流程
-
数据采集层:
- 爬取主流菜谱网站的HTML(BeautifulSoup)
- 解析非结构化文本(大模型提取食材、步骤、口味等结构化字段)
- 人工标注少量精品菜谱用于微调(约500条)
-
特征工程层:
- 文本嵌入:使用all-MiniLM-L6-v2模型生成菜品描述向量
- 视觉特征:CLIP模型处理菜品图片(如有)
- 知识图谱:构建食材-功效-禁忌关系网(Neo4j存储)
-
推荐算法层:
python复制# 混合推荐策略示例 def hybrid_recommend(user): # 协同过滤(基于用户行为)
