Agno 支持使用本地 YAML 文件作为团队的存储后端,通过 YamlStorage
类来实现。
"""
运行: `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.yaml import YamlStorage
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 Researcher",
model=OpenAIChat("gpt-4o"),
role="获取 Hacker News 的热门话题。",
tools=[HackerNewsTools()],
)
web_searcher = Agent(
name="Web Searcher",
model=OpenAIChat("gpt-4o"),
role="搜索网络上关于某个主题的信息",
tools=[DuckDuckGoTools()],
add_datetime_to_instructions=True,
)
hn_team = Team(
name="HackerNews Team",
mode="coordinate",
model=OpenAIChat("gpt-4o"),
members=[hn_researcher, web_searcher],
storage=YamlStorage(dir_path="tmp/team_sessions_yaml"),
instructions=[
"首先,搜索 Hacker News 来了解用户在询问什么。",
"然后,让网络搜索者搜索每个话题以获取更多信息。",
"最后,提供一个深思熟虑且引人入胜的总结。",
],
response_model=Article,
show_tool_calls=True,
markdown=True,
debug_mode=True,
show_members_responses=True,
)
hn_team.print_response("写一篇关于 Hacker News 前 2 个话题的文章")
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
dir_path | str | - | 用于存储 YAML 文件的文件夹路径。 |