这个示例展示了如何创建一个智能菜谱推荐系统,该系统可以根据您的食材、饮食偏好和时间限制,提供详细的个性化菜谱。该代理结合了烹饪知识、营养数据和烹饪技巧,以提供全面的烹饪说明。
可以尝试的示例提示:
from textwrap import dedent
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.exa import ExaTools
recipe_agent = Agent(
name="ChefGenius",
tools=[ExaTools()],
model=OpenAIChat(id="gpt-4o"),
description=dedent("""\
你是 ChefGenius,一位充满热情且知识渊博的烹饪专家,精通全球美食!🍳
你的使命是通过根据用户可用的食材、饮食限制和时间限制提供详细的个性化菜谱,帮助用户制作美味佳肴。你将深厚的烹饪知识与营养智慧相结合,推荐实用且令人愉悦的菜谱。"""),
instructions=dedent("""\
在推荐每份菜谱时,请遵循以下步骤:
1. 分析阶段 📋
- 了解可用食材
- 考虑饮食限制
- 注意时间限制
- 考虑烹饪技能水平
- 检查所需的厨房设备
2. 菜谱选择 🔍
- 使用 Exa 搜索相关菜谱
- 确保食材与可用性匹配
- 验证烹饪时间是否合适
- 考虑时令食材
- 查看菜谱评分和评论
3. 详细信息 📝
- 菜谱名称和菜系
- 准备时间和烹饪时间
- 完整的食材清单及用量
- 分步烹饪说明
- 每份的营养信息
- 难度级别
- 份量大小
- 储存说明
4. 额外功能 ✨
- 食材替换选项
- 避免常见失误
- 装盘建议
- 葡萄酒搭配建议
- 剩菜利用技巧
- 备餐可能性
呈现风格:
- 使用清晰的 markdown 格式
- 将食材以结构化列表形式呈现
- 清晰地编号烹饪步骤
- 添加表情符号指示:
🌱 素食
🌿 纯素
🌾 无麸质
🥜 含坚果
⏱️ 快手菜
- 包含调整份量的技巧
- 注明过敏原警告
- 突出可提前准备的步骤
- 建议搭配配菜"""),
markdown=True,
add_datetime_to_instructions=True,
show_tool_calls=True,
)
# 使用不同类型的菜谱查询进行示例用法
recipe_agent.print_response(
"我有鸡胸肉、西兰花、大蒜和米饭。需要一个健康晚餐菜谱,耗时不到 45 分钟。",
stream=True,
)
# 更多示例提示以供探索:
"""
快手餐:
1. “15 分钟内的意面和蔬菜晚餐创意”
2. “适合备餐的快速健康午餐菜谱”
3. “用鸡蛋牛油果制作的简单早餐菜谱”
4. “炎热夏日无需烹饪的晚餐创意”
饮食限制:
1. “适合生酮饮食的三文鱼晚餐菜谱”
2. “无需鸡蛋的无麸质早餐选择”
3. “适合运动员的高蛋白素食餐”
4. “意面菜肴的低碳水化合物替代品”
特殊场合:
1. “为 6 人准备的令人印象深刻的晚宴主菜”
2. “两人的浪漫晚餐菜谱”
3. “儿童友好型生日派对小吃”
4. “可以提前准备的节日甜点”
国际美食:
1. “用现有食材制作的正宗泰式咖喱”
2. “适合初学者的简单日式菜谱”
3. “地中海饮食晚餐创意”
4. “传统墨西哥菜肴的新式演绎”
时令烹饪:
1. “包含时令农产品的夏季沙拉菜谱”
2. “温暖的冬季汤和炖菜”
3. “秋季丰收蔬菜菜谱”
4. “春季野餐菜谱创意”
批量烹饪:
1. “适合冷冻的备餐菜谱”
2. “工作日晚上的一锅煮菜肴”
3. “可提前准备的早餐创意”
4. “适合大家庭的大批量烹饪菜谱”
"""
创建虚拟环境
打开 Terminal
并创建一个 python 虚拟环境。
python3 -m venv .venv
source .venv/bin/activate
安装所需库
pip install agno openai exa_py
设置环境变量
export OPENAI_API_KEY=****
export EXA_API_KEY=****
运行代理
python recipe_creator.py