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/examples/multi_agent/simple_agent_loader_demo.py

140 lines
4.0 KiB

"""
Simple AgentLoader Demo
=======================
A working demonstration of how to create agents from markdown-like definitions
and use them in workflows.
"""
import os
import tempfile
from pathlib import Path
import sys
# Add local swarms to path
sys.path.insert(0, str(Path(__file__).parent.parent.parent))
from swarms.structs.agent import Agent
from swarms.structs.sequential_workflow import SequentialWorkflow
def create_agents_from_configs():
"""Create agents from configuration dictionaries (simulating markdown parsing)"""
# These would normally come from parsing markdown files
agent_configs = [
{
"name": "market-researcher",
"description": "Expert in market analysis and competitive intelligence",
"system_prompt": """You are a market research specialist. Your expertise includes:
Focus Areas:
- Market size and growth analysis
- Competitive landscape assessment
- Consumer behavior patterns
- Industry trend identification
Approach:
1. Gather comprehensive market data
2. Analyze quantitative and qualitative indicators
3. Identify key market drivers and barriers
4. Evaluate competitive positioning
5. Assess market opportunities and threats
Provide detailed market analysis reports with key metrics and actionable insights.""",
"model": "gpt-4"
},
{
"name": "financial-analyst",
"description": "Specialist in financial modeling and investment analysis",
"system_prompt": """You are a financial analysis expert. Your responsibilities include:
Focus Areas:
- Financial statement analysis
- Valuation modeling techniques
- Investment risk assessment
- Cash flow projections
Approach:
1. Conduct thorough financial analysis
2. Build comprehensive financial models
3. Perform multiple valuation methods
4. Assess financial risks and sensitivities
5. Provide investment recommendations
Generate detailed financial reports with valuation models and risk assessments.""",
"model": "gpt-4"
},
{
"name": "industry-expert",
"description": "Domain specialist with deep industry knowledge",
"system_prompt": """You are an industry analysis expert. Your focus areas include:
Focus Areas:
- Industry structure and dynamics
- Regulatory environment analysis
- Technology trends and disruptions
- Supply chain analysis
Approach:
1. Map industry structure and stakeholders
2. Analyze regulatory framework
3. Identify technology trends
4. Evaluate supply chain dynamics
5. Assess competitive positioning
Provide comprehensive industry landscape reports with strategic recommendations.""",
"model": "gpt-4"
}
]
agents = []
for config in agent_configs:
agent = Agent(
agent_name=config["name"],
system_prompt=config["system_prompt"],
model_name=config["model"],
max_loops=1,
verbose=False
)
agents.append(agent)
print(f"Created agent: {agent.agent_name}")
return agents
def main():
"""Main execution function"""
# Create agents
agents = create_agents_from_configs()
# Create sequential workflow
research_workflow = SequentialWorkflow(
agents=agents,
max_loops=1,
)
# Define research task
task = """
Analyze the AI-powered healthcare diagnostics market for a potential $50M investment.
Focus on:
1. Market size, growth projections, and key drivers
2. Competitive landscape and major players
3. Financial viability and investment attractiveness
4. Industry dynamics and regulatory considerations
Provide strategic recommendations for market entry.
"""
print("Executing research workflow...")
print("=" * 50)
# Execute workflow
result = research_workflow.run(task)
print("\nResearch Analysis Complete:")
print("-" * 50)
print(result)
if __name__ == "__main__":
main()