Agent_RAG_智能食谱推荐系统 Agent RAG 智能食谱检索与推荐系统从多模态输入到精准推荐的全链路实践项目仓库:项目仓库引言与痛点分析在传统的食谱检索场景中用户往往面临以下核心痛点检索精度不足基于关键词的传统搜索难以理解用户的真实意图例如用户输入简单家常菜时系统无法准确判断用户对烹饪难度、食材获取便利性的隐含需求。大模型幻觉问题直接依赖大模型生成食谱时常常出现食材搭配不合理、步骤缺失等问题严重影响用户体验。多模态输入支持薄弱用户上传食材图片时现有系统无法准确提取食材信息并进行智能匹配。缺乏个性化评价体系推荐结果缺乏可信度用户无法了解推荐依据。针对这些痛点我设计并实现了基于Agent RAG架构的智能食谱推荐系统通过多智能体协作和检索增强生成技术实现了从自然语言/图片输入到精准食谱推荐的全链路闭环。系统架构设计RAG 向量检索在食谱匹配中的应用系统的核心检索层采用RAGRetrieval-Augmented Generation架构具体实现包括食谱向量化将300道食谱的标题、食材、做法等信息通过shaw/dmeta-embedding-zh嵌入模型转换为向量存储于向量数据库中。多轮查询策略第一轮基于用户意图分析结果进行初步检索第二轮结合食材匹配度进行二次筛选第三轮通过毒舌评委的维度评分进行最终排序单例模式优化通过实现单例模式确保食谱库只加载一次避免重复加载导致的性能问题。双评委 Agent 架构系统创新性地引入了双评委机制通过海选评委和毒舌评委的协作有效解决大模型幻觉问题海选评委初筛阶段职责快速筛选出10-15个候选食谱核心能力基于规则和向量相似度进行初步过滤技术实现使用qwen2.5:3b模型进行意图分析和分类毒舌评委终审阶段职责对候选食谱进行多维度评分核心评价维度食材匹配度用户上传图片时自动计算烹饪难度匹配口味偏好契合度营养均衡度混合策略优化采用4B模型生成维度3B模型执行评分的混合策略在保证质量的同时提升性能协作机制海选评委负责数量检索毒舌评委负责质量评价两者结合既保证了召回率又确保了推荐精度。多模态与视觉模型优化在图像识别食材提取环节我经历了多次技术迭代初期挑战使用moondream模型时识别准确率不稳定提示词设计不当导致模型输出格式混乱图片路径处理存在问题影响识别效果优化方案模型升级将视觉模型更换为qwen3-vl:4b利用其更强大的多模态理解能力封闭式验证提示词策略设计简洁明确的提示词这个图片里面有什么食材给我一个食材列表格式如[苹果西红柿] 快速回答移除冗余示例避免模型记忆固定结果通过测试脚本验证不同提示词模板的效果图像预处理尝试灰度增强、对比度调整等技术提升识别稳定性路径处理优化确保传递绝对路径给识别函数避免相对路径导致的文件找不到问题前端沉浸式交互体验基于Streamlit的前端实现了复杂的交互逻辑状态管理通过st.session_state管理用户输入、识别结果、推荐进度等动态数据解决页面刷新导致的状态丢失问题。动态占位符使用st.empty()实现局部刷新在评委评分过程中实时展示进度。双评委面板布局左侧用户需求输入框、图片上传按钮、已识别食材列表右侧图片预览、识别结果、候选食谱池底部海选评委和毒舌评委的评分结果对比展示手风琴折叠组件用于展示食谱详情包括图片、食材列表和烹饪步骤。展望技术价值提炼多智能体协作模式通过分工明确的评委架构有效提升推荐质量为其他领域的推荐系统提供了可借鉴的范式。RAG 技术工程化实践完整实现了从数据向量化、向量检索到结果重排序的全流程解决了大规模知识库的高效检索问题。多模态融合能力成功整合视觉识别与文本理解实现了真正的多模态输入支持。复杂前端状态管理在 Streamlit 框架下实现了类 SPA 的交互体验为 Python 后端开发者提供了前端开发的新思路。未来优化方向个性化模型训练基于用户反馈数据进行微调进一步提升推荐精度。实时食材价格查询整合外部 API提供食材成本估算功能。社交分享功能支持用户分享烹饪成果和评价。运行情况