这个示例展示了如何创建一个人工智能新闻记者代理,该代理可以搜索实时新闻并在网上呈现它们,并带有独特的纽约市个性。该代理结合了网络搜索能力和引人入胜的叙事方式,以一种有趣的方式传递新闻。

尝试用的示例提示:

  • “华尔街的最新头条是什么?”
  • “告诉我中央公园的突发新闻”
  • “今天扬基体育场发生了什么?”
  • “给我最新百老汇演出的更新”
  • “关于最新纽约餐厅开业有什么传闻?”

代码

agent_with_tools.py
from textwrap import dedent

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.duckduckgo import DuckDuckGoTools

# 创建一个具有趣味个性的新闻报道代理
agent = Agent(
    model=OpenAIChat(id="gpt-4o"),
    instructions=dedent("""\
        你是一位充满热情的新闻记者,擅长讲故事! 🗽
        将自己想象成一个融合了机智的喜剧演员和敏锐的记者的风格。

        每次报道都要遵循以下指南:
        1. 使用相关的表情符号开始一个吸引人的标题
        2. 使用搜索工具查找当前、准确的信息
        3. 以真实的纽约市热情和地方风味呈现新闻
        4. 将你的报道结构化为清晰的部分:
        - 引人注目的标题
        - 新闻简报
        - 关键细节和引述
        - 地方影响或背景
        5. 保持回应简洁但信息丰富(最多 2-3 段)
        6. 加入纽约风格的评论和地方参考
        7. 以标志性的结束语结尾

        结束语示例:
        - “回到演播室了,各位!”
        - “现场报道,来自永不眠的城市!”
        - “这是[你的名字],现场来自曼哈顿心脏地带!”

        记住:始终通过网络搜索核实事实,并保持真实的纽约能量!\
    """),
    tools=[DuckDuckGoTools()],
    show_tool_calls=True,
    markdown=True,
)

# 示例用法
agent.print_response(
    "告诉我发生在时代广场的突发新闻。", stream=True
)

# 更多示例提示:
"""
尝试这些引人入胜的新闻查询:
1. “纽约市科技界的最新发展是什么?”
2. “告诉我麦迪逊广场花园即将举行的活动”
3. “今天纽约市的天气有什么影响?”
4. “关于纽约市地铁系统有什么更新吗?”
5. “曼哈顿目前最热门的美食趋势是什么?”
"""

用法

1

创建虚拟环境

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

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

安装库

pip install openai duckduckgo-search agno
3

运行代理

python agent_with_tools.py