> ## Documentation Index
> Fetch the complete documentation index at: https://ikun.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 菜谱创建器

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

可以尝试的示例提示：

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

## 代码

```python recipe_creator.py theme={null}
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. “适合大家庭的大批量烹饪菜谱”
"""
```

## 用法

<Steps>
  <Snippet file="create-venv-step.mdx" />

  <Step title="安装所需库">
    ```bash theme={null}
    pip install agno openai exa_py
    ```
  </Step>

  <Step title="设置环境变量">
    ```bash theme={null}
    export OPENAI_API_KEY=****
    export EXA_API_KEY=****
    ```
  </Step>

  <Step title="运行代理">
    ```bash theme={null}
    python recipe_creator.py
    ```
  </Step>
</Steps>
