You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
swarms/sequential_workflow_example.py

78 lines
2.2 KiB

from swarms import Agent, SequentialWorkflow
# import litellm
# litellm._turn_on_debug()
# Initialize market research agent
market_researcher = Agent(
agent_name="Market-Researcher",
system_prompt="""You are a market research specialist. Your tasks include:
1. Analyzing market trends and patterns
2. Identifying market opportunities and threats
3. Evaluating competitor strategies
4. Assessing customer needs and preferences
5. Providing actionable market insights""",
model_name="claude-3-sonnet-20240229",
max_loops=1,
temperature=0.7,
streaming_on=True,
)
# Initialize financial analyst agent
financial_analyst = Agent(
agent_name="Financial-Analyst",
system_prompt="""You are a financial analysis expert. Your responsibilities include:
1. Analyzing financial statements
2. Evaluating investment opportunities
3. Assessing risk factors
4. Providing financial forecasts
5. Recommending financial strategies""",
model_name="claude-3-sonnet-20240229",
max_loops=1,
streaming_on=True,
temperature=0.7,
)
# Initialize technical analyst agent
technical_analyst = Agent(
agent_name="Technical-Analyst",
system_prompt="""You are a technical analysis specialist. Your focus areas include:
1. Analyzing price patterns and trends
2. Evaluating technical indicators
3. Identifying support and resistance levels
4. Assessing market momentum
5. Providing trading recommendations""",
model_name="claude-3-sonnet-20240229",
max_loops=1,
temperature=0.7,
streaming_on=True,
)
# Create list of agents
agents = [market_researcher, financial_analyst, technical_analyst]
# # Initialize the concurrent workflow
# workflow = ConcurrentWorkflow(
# name="market-analysis-workflow",
# agents=agents,
# max_loops=1,
# )
# # Run the workflow
# result = workflow.run(
# "Analyze Tesla (TSLA) stock from market, financial, and technical perspectives"
# )
router = SequentialWorkflow(
name="market-analysis-router",
agents=agents,
max_loops=1,
# output_type="all",
)
result = router.run(
"Analyze Tesla (TSLA) stock from market, financial, and technical perspectives"
)
print(result)