Agent_RAG_智能食谱推荐系统

Agent RAG 智能食谱检索与推荐系统:从多模态输入到精准推荐的全链路实践

项目仓库:项目仓库

引言与痛点分析

在传统的食谱检索场景中,用户往往面临以下核心痛点:

  1. 检索精度不足:基于关键词的传统搜索难以理解用户的真实意图,例如用户输入"简单家常菜"时,系统无法准确判断用户对烹饪难度、食材获取便利性的隐含需求。

  2. 大模型幻觉问题:直接依赖大模型生成食谱时,常常出现食材搭配不合理、步骤缺失等问题,严重影响用户体验。

  3. 多模态输入支持薄弱:用户上传食材图片时,现有系统无法准确提取食材信息并进行智能匹配。

  4. 缺乏个性化评价体系:推荐结果缺乏可信度,用户无法了解推荐依据。

针对这些痛点,我设计并实现了基于 Agent RAG 架构的智能食谱推荐系统,通过多智能体协作和检索增强生成技术,实现了从自然语言/图片输入到精准食谱推荐的全链路闭环。

系统架构设计

RAG 向量检索在食谱匹配中的应用

系统的核心检索层采用 RAG(Retrieval-Augmented Generation) 架构,具体实现包括:

  1. 食谱向量化 :将300+道食谱的标题、食材、做法等信息通过 shaw/dmeta-embedding-zh 嵌入模型转换为向量,存储于向量数据库中。

  2. 多轮查询策略

    • 第一轮:基于用户意图分析结果进行初步检索
    • 第二轮:结合食材匹配度进行二次筛选
    • 第三轮:通过毒舌评委的维度评分进行最终排序
  3. 单例模式优化:通过实现单例模式确保食谱库只加载一次,避免重复加载导致的性能问题。

双评委 Agent 架构

系统创新性地引入了双评委机制,通过海选评委和毒舌评委的协作,有效解决大模型幻觉问题:

海选评委(初筛阶段)

  • 职责:快速筛选出10-15个候选食谱
  • 核心能力:基于规则和向量相似度进行初步过滤
  • 技术实现:使用 qwen2.5:3b 模型进行意图分析和分类

毒舌评委(终审阶段)

  • 职责:对候选食谱进行多维度评分
  • 核心评价维度:
    • 食材匹配度(用户上传图片时自动计算)
    • 烹饪难度匹配
    • 口味偏好契合度
    • 营养均衡度
  • 混合策略优化:采用"4B模型生成维度+3B模型执行评分"的混合策略,在保证质量的同时提升性能

协作机制:海选评委负责数量检索,毒舌评委负责质量评价,两者结合既保证了召回率,又确保了推荐精度。

多模态与视觉模型优化

在图像识别(食材提取)环节,我经历了多次技术迭代:

初期挑战

  • 使用 moondream 模型时,识别准确率不稳定
  • 提示词设计不当导致模型输出格式混乱
  • 图片路径处理存在问题,影响识别效果

优化方案

  1. 模型升级 :将视觉模型更换为 qwen3-vl:4b,利用其更强大的多模态理解能力

  2. 封闭式验证提示词策略

    • 设计简洁明确的提示词:"这个图片里面有什么食材,给我一个食材列表,格式如[苹果,西红柿] 快速回答"
    • 移除冗余示例,避免模型记忆固定结果
    • 通过测试脚本验证不同提示词模板的效果
  3. 图像预处理:尝试灰度增强、对比度调整等技术,提升识别稳定性

  4. 路径处理优化:确保传递绝对路径给识别函数,避免相对路径导致的文件找不到问题

前端沉浸式交互体验

基于 Streamlit 的前端实现了复杂的交互逻辑:

  1. 状态管理 :通过 st.session_state 管理用户输入、识别结果、推荐进度等动态数据,解决页面刷新导致的状态丢失问题。

  2. 动态占位符 :使用 st.empty() 实现局部刷新,在评委评分过程中实时展示进度。

  3. 双评委面板布局

    • 左侧:用户需求输入框、图片上传按钮、已识别食材列表
    • 右侧:图片预览、识别结果、候选食谱池
    • 底部:海选评委和毒舌评委的评分结果对比展示
  4. 手风琴折叠组件:用于展示食谱详情,包括图片、食材列表和烹饪步骤。

AgentRAG智能食谱推荐

展望

技术价值提炼

  1. 多智能体协作模式:通过分工明确的评委架构,有效提升推荐质量,为其他领域的推荐系统提供了可借鉴的范式。

  2. RAG 技术工程化实践:完整实现了从数据向量化、向量检索到结果重排序的全流程,解决了大规模知识库的高效检索问题。

  3. 多模态融合能力:成功整合视觉识别与文本理解,实现了真正的多模态输入支持。

  4. 复杂前端状态管理:在 Streamlit 框架下实现了类 SPA 的交互体验,为 Python 后端开发者提供了前端开发的新思路。

未来优化方向

  1. 个性化模型训练:基于用户反馈数据进行微调,进一步提升推荐精度。
  2. 实时食材价格查询:整合外部 API,提供食材成本估算功能。
  3. 社交分享功能:支持用户分享烹饪成果和评价。

运行情况

相关推荐
Bruce_Liuxiaowei7 分钟前
2026年8月第4周网络安全形势周报
人工智能·安全·web安全·智能体
ShallWeL1 小时前
RAG 文档切分长度与检索召回
agent·知识库·rag·智能体
DsirNg10 小时前
让流程会停下:AI 自动化的交班设计
自动化·可观测性·幂等性·智能体·ai 工作流·人工在环·工单分流
cczixun13 小时前
从工具交互到自主进化:2026智能体平台产业发展全景解析
人工智能·智能体
l12586518 小时前
# LangGraph 核心架构入门:State、Node、Edge 与 Reducer 的工程理解
大数据·人工智能·python·架构·langchain·edge
luckystar513~18 小时前
Hermes 工程化实战专栏:安装部署实战——从装好到跑通第一个任务
人工智能·agent·智能体·hermes·实战专栏·hermes安装配置
LFly_ice19 小时前
Langchain-06 什么是Agent
langchain
新知图书19 小时前
14.5 AI试驾预约系统的完整实现
人工智能·agent·ai agent·智能体
thesky12345620 小时前
智能体面试准备(六十三):智能体人在回路(HITL)与审批流工程——中断、审批、回滚与可审计闭环
智能体·回滚·审批流·hitl·人在回路·中断续跑·可审计
水管在开花.20 小时前
Agent范式与LangGraph-②零基础保姆级教程
人工智能·面试·langchain·agent