Agno 支持使用 JsonStorage
类将本地 JSON 文件作为存储后端供团队使用。
"""
运行:`pip install openai duckduckgo-search newspaper4k lxml_html_clean agno` 来安装依赖项
"""
from typing import List
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.storage.json import JsonStorage
from agno.team import Team
from agno.tools.duckduckgo import DuckDuckGoTools
from agno.tools.hackernews import HackerNewsTools
from pydantic import BaseModel
class Article(BaseModel):
title: str
summary: str
reference_links: List[str]
hn_researcher = Agent(
name="HackerNews 研究员",
model=OpenAIChat("gpt-4o"),
role="从 HackerNews 获取热门新闻。",
tools=[HackerNewsTools()],
)
web_searcher = Agent(
name="网络搜索员",
model=OpenAIChat("gpt-4o"),
role="搜索网络以获取关于某个主题的信息",
tools=[DuckDuckGoTools()],
add_datetime_to_instructions=True,
)
hn_team = Team(
name="HackerNews 团队",
mode="coordinate",
model=OpenAIChat("gpt-4o"),
members=[hn_researcher, web_searcher],
storage=JsonStorage(dir_path="tmp/team_sessions_json"),
instructions=[
"首先,在 HackerNews 上搜索用户请求的内容。",
"然后,要求网络搜索员搜索每个故事以获取更多信息。",
"最后,提供一篇有深度且引人入胜的摘要。",
],
response_model=Article,
show_tool_calls=True,
markdown=True,
debug_mode=True,
show_members_responses=True,
)
hn_team.print_response("写一篇关于 HackerNews 上排名前两位的报道")
参数 | 类型 | 默认 | 描述 |
---|---|---|---|
dir_path | str | - | 用于存储 JSON 文件的文件夹路径。 |