awesome-llm-apps/ai_finance_agent_team/finance_agent_team.py
2024-10-21 20:16:24 -05:00

40 lines
No EOL
1.3 KiB
Python

from phi.agent import Agent
from phi.model.openai import OpenAIChat
from phi.storage.agent.sqlite import SqlAgentStorage
from phi.tools.duckduckgo import DuckDuckGo
from phi.tools.yfinance import YFinanceTools
from phi.playground import Playground, serve_playground_app
web_agent = Agent(
name="Web Agent",
role="Search the web for information",
model=OpenAIChat(id="gpt-4o"),
tools=[DuckDuckGo()],
storage=SqlAgentStorage(table_name="web_agent", db_file="agents.db"),
add_history_to_messages=True,
markdown=True,
)
finance_agent = Agent(
name="Finance Agent",
role="Get financial data",
model=OpenAIChat(id="gpt-4o"),
tools=[YFinanceTools(stock_price=True, analyst_recommendations=True, company_info=True, company_news=True)],
instructions=["Always use tables to display data"],
storage=SqlAgentStorage(table_name="finance_agent", db_file="agents.db"),
add_history_to_messages=True,
markdown=True,
)
agent_team = Agent(
team=[web_agent, finance_agent],
name="Agent Team (Web+Finance)",
model=OpenAIChat(id="gpt-4o"),
show_tool_calls=True,
markdown=True,
)
app = Playground(agents=[agent_team]).get_app()
if __name__ == "__main__":
serve_playground_app("finance_agent_team:app", reload=True)