此示例展示了如何创建一个智能电影推荐系统,该系统可根据您的偏好提供全面的电影建议。该代理结合了电影数据库、评分、评论和即将上映的电影,以提供个性化的电影推荐。
可以尝试的示例提示:
"""🎬 电影推荐器 - 您个人的电影策展人!
此示例展示了如何创建一个智能电影推荐系统,该系统可根据您的偏好提供全面的电影建议。该代理结合了电影数据库、评分、评论和即将上映的电影,以提供个性化的电影推荐。
可以尝试的示例提示:
- "推荐类似于《盗梦空间》和《禁闭岛》的惊悚片"
- "过去 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. "列出即将改编成电影的书籍"
"""
创建虚拟环境
打开 Terminal
并创建一个 python 虚拟环境。
python3 -m venv .venv
source .venv/bin/activate
安装库
pip install openai exa_py agno
设置环境变量
export OPENAI_API_KEY=****
export EXA_API_KEY=****
运行代理
python movie_recommender.py