> ## 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.

# 电影推荐器

此示例展示了如何创建一个智能电影推荐系统，该系统可根据您的偏好提供全面的电影建议。该代理结合了电影数据库、评分、评论和即将上映的电影，以提供个性化的电影推荐。

可以尝试的示例提示：

* "推荐类似于《盗梦空间》和《禁闭岛》的惊悚片"
* "过去 2 年评分最高的喜剧电影是什么？"
* "为我找一些类似于《寄生虫》和《老男孩》的韩国电影"
* "推荐一些评分良好的适合全家观看的冒险电影"
* "未来 6 个月内有哪些即将上映的超级英雄电影？"

## 代码

```python movie_recommender.py theme={null}
"""🎬 电影推荐器 - 您个人的电影策展人！

此示例展示了如何创建一个智能电影推荐系统，该系统可根据您的偏好提供全面的电影建议。该代理结合了电影数据库、评分、评论和即将上映的电影，以提供个性化的电影推荐。

可以尝试的示例提示：
- "推荐类似于《盗梦空间》和《禁闭岛》的惊悚片"
- "过去 2 年评分最高的喜剧电影是什么？"
- "为我找一些类似于《寄生虫》和《老男孩》的韩国电影"
- "推荐一些评分良好的适合全家观看的冒险电影"
- "未来 6 个月内有哪些即将上映的超级英雄电影？"

运行：`pip install openai exa_py agno` 来安装依赖项
"""

from textwrap import dedent

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.exa import ExaTools

movie_recommendation_agent = Agent(
    name="PopcornPal",
    tools=[ExaTools()],
    model=OpenAIChat(id="gpt-4o"),
    description=dedent("""\
        您是 PopcornPal，一位充满热情且知识渊博的电影策展人，精通全球电影！🎥

        您的任务是通过提供基于用户偏好的详细、个性化推荐来帮助用户发现他们下一部最喜爱的电影，
        考虑他们的观看历史和最新的电影动态。您结合了深厚的电影知识与当前的评分和评论，来推荐
        真正能引起观众共鸣的电影。"""),
    instructions=dedent("""\
        以下是处理每项推荐的步骤：
        1. 分析阶段
           - 理解用户输入中的偏好
           - 考虑提到的喜爱电影的主题和风格
           - 考虑任何具体要求（类型、评分、语言）

        2. 搜索与精选
           - 使用 Exa 搜索相关电影
           - 确保推荐的多样性
           - 验证所有电影数据是最新的且准确的

        3. 详细信息
           - 电影标题和发行年份
           - 类型和子类型
           - IMDB 评分（重点关注 7.5 分及以上的电影）
           - 片长和主要语言
           - 简明扼要且引人入胜的情节摘要
           - 内容咨询/年龄分级
           - 主要演员和导演

        4. 额外功能
           - 包含相关的预告片（如果可用）
           - 推荐相似类型即将上映的电影
           - 提及已知可用的流媒体平台

        呈现风格：
        - 使用清晰的 Markdown 格式
        - 以结构化的表格展示主要推荐内容
        - 将相似的电影分组
        - 为电影类型添加表情符号指示符（🎭 🎬 🎪）
        - 每条查询至少提供 5 条推荐
        - 为每条推荐附带简要说明
    """),
    markdown=True,
    add_datetime_to_instructions=True,
    show_tool_calls=True,
)

# 使用不同类型的电影查询进行示例用法
movie_recommendation_agent.print_response(
    "推荐一些 IMDB 评分在 8 分及以上的惊悚片。我之前喜欢的惊悚片有《黑暗骑士》、《毒液》、《寄生虫》、《禁闭岛》。",
    stream=True,
)

# 更多示例提示供探索：
"""
特定类型查询：
1. "为我找一些类似于《黑天鹅》和《消失的爱人》的心理惊悚片"
2. "吉卜力工作室出品的最佳动画电影是什么？"
3. "推荐一些类似于《盗梦空间》和《星际穿越》的烧脑科幻片"
4. "过去 5 年评分最高的犯罪纪律片是什么？"

国际电影：
1. "推荐一些类似于《寄生虫》和《釜山行》的韩国电影"
2. "过去十年必看的法国电影有哪些？"
3. "为成人推荐日本动画电影"
4. "找一些获奖的欧洲剧情片"

家庭与团体观看：
1. "有什么适合 8-12 岁儿童的家庭电影？"
2. "推荐一些非常适合团体电影之夜的喜剧电影"
3. "找一些适合青少年的教育纪录片"
4. "推荐一些大人和小孩都会喜欢的冒险电影"

即将上映的电影：
1. "下个月最受期待的电影有哪些？"
2. "展示即将上映的超级英雄电影"
3. "这个万圣节季有哪些恐怖片即将上映？"
4. "列出即将改编成电影的书籍"
"""
```

## 用法

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

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

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

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