这个示例展示了如何创建一个智能菜谱推荐系统,该系统可以根据您的食材、饮食偏好和时间限制,提供详细的个性化菜谱。该代理结合了烹饪知识、营养数据和烹饪技巧,以提供全面的烹饪说明。

可以尝试的示例提示:

  • “我有鸡肉、米饭和蔬菜。我能在 30 分钟内做什么?”
  • “用蘑菇和菠菜制作一个素食意面菜谱”
  • “推荐一些用燕麦和水果制作的健康早餐选择”
  • “剩火鸡和土豆能做什么?”
  • “需要一个用巧克力和香蕉制作的快手甜点菜谱”

代码

recipe_creator.py
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. “适合大家庭的大批量烹饪菜谱”
"""

用法

1

创建虚拟环境

打开 Terminal 并创建一个 python 虚拟环境。

python3 -m venv .venv
source .venv/bin/activate
2

安装所需库

pip install agno openai exa_py
3

设置环境变量

export OPENAI_API_KEY=****
export EXA_API_KEY=****
4

运行代理

python recipe_creator.py