updates and fixes !

pull/1022/head
harshalmore31 2 weeks ago
parent 223d398a20
commit ba2a4d1471

@ -0,0 +1,9 @@
from swarms.utils.agent_loader import load_agent_from_markdown
# Load the Finance Advisor agent from markdown
agent = load_agent_from_markdown("Finance_advisor.md")
# Use the agent to get financial advice
response = agent.run(
"I have $10,000 to invest. What's a good strategy for a beginner?"
)

@ -0,0 +1,28 @@
from swarms.utils.agent_loader import load_agent_from_markdown
# Example 1: Load a single agent
market_researcher = load_agent_from_markdown("market_researcher.md")
# Example 2: Load multiple agents
from swarms.utils.agent_loader import load_agents_from_markdown
agents = load_agents_from_markdown([
"market_researcher.md",
"financial_analyst.md",
"risk_analyst.md"
])
# Example 3: Use agents in a workflow
from swarms.structs.sequential_workflow import SequentialWorkflow
workflow = SequentialWorkflow(
agents=agents,
max_loops=1
)
task = """
Analyze the AI healthcare market for a $50M investment opportunity.
Focus on market size, competition, financials, and risks.
"""
result = workflow.run(task)

@ -1,175 +0,0 @@
"""
Example demonstrating the AgentLoader for loading agents from markdown files.
This example shows:
1. Loading a single agent from a markdown file
2. Loading multiple agents from markdown files
3. Using the convenience functions
4. Error handling and validation
"""
import os
from swarms.utils.agent_loader import AgentLoader, load_agent_from_markdown, load_agents_from_markdown
def main():
# Initialize the loader
loader = AgentLoader()
print("=== AgentLoader Demo ===")
# Example 1: Create sample markdown files for testing - Claude Code format
# Performance Engineer agent
performance_md = """---
name: performance-engineer
description: Optimize application performance and identify bottlenecks
model_name: gpt-4
temperature: 0.3
max_loops: 2
mcp_url: http://example.com/mcp
---
You are a Performance Engineer specializing in application optimization and scalability.
Your role involves:
- Analyzing application architecture and identifying potential bottlenecks
- Implementing comprehensive monitoring and logging
- Conducting performance testing under various load conditions
- Optimizing critical paths and resource usage
- Documenting findings and providing actionable recommendations
Expected output:
- Performance analysis reports with specific metrics
- Optimized code recommendations
- Infrastructure scaling suggestions
- Monitoring and alerting setup guidelines
"""
# Data Analyst agent
data_analyst_md = """---
name: data-analyst
description: Analyze data and provide business insights
model_name: gpt-4
temperature: 0.2
max_loops: 1
---
You are a Data Analyst specializing in extracting insights from complex datasets.
Your responsibilities include:
- Collecting and cleaning data from various sources
- Performing exploratory data analysis and statistical modeling
- Creating compelling visualizations and interactive dashboards
- Applying statistical methods and machine learning techniques
- Presenting findings and actionable business recommendations
Focus on providing data-driven insights that support strategic decision making.
"""
# Create sample markdown files
performance_file = "performance_engineer.md"
data_file = "data_analyst.md"
with open(performance_file, 'w') as f:
f.write(performance_md)
with open(data_file, 'w') as f:
f.write(data_analyst_md)
try:
# Example 2: Load Performance Engineer agent
print("\\n1. Loading Performance Engineer agent (YAML frontmatter):")
perf_agent = loader.load_single_agent(performance_file)
print(f" Loaded agent: {perf_agent.agent_name}")
print(f" Model: {perf_agent.model_name}")
print(f" Temperature: {getattr(perf_agent, 'temperature', 'Not set')}")
print(f" Max loops: {perf_agent.max_loops}")
print(f" System prompt preview: {perf_agent.system_prompt[:100]}...")
# Example 3: Load Data Analyst agent
print("\\n2. Loading Data Analyst agent:")
data_agent = loader.load_single_agent(data_file)
print(f" Loaded agent: {data_agent.agent_name}")
print(f" Temperature: {getattr(data_agent, 'temperature', 'Not set')}")
print(f" System prompt preview: {data_agent.system_prompt[:100]}...")
# Example 4: Load single agent using convenience function
print("\\n3. Loading single agent using convenience function:")
agent2 = load_agent_from_markdown(performance_file)
print(f" Loaded agent: {agent2.agent_name}")
# Example 5: Load multiple agents (from directory or list)
print("\\n4. Loading multiple agents:")
# Create another sample file - Security Analyst
security_md = """---
name: security-analyst
description: Analyze and improve system security
model_name: gpt-4
temperature: 0.1
max_loops: 3
---
You are a Security Analyst specializing in cybersecurity assessment and protection.
Your expertise includes:
- Conducting comprehensive security vulnerability assessments
- Performing detailed code security reviews and penetration testing
- Implementing robust infrastructure hardening measures
- Developing incident response and recovery procedures
Key methodology:
1. Conduct thorough security audits across all system components
2. Identify and classify potential vulnerabilities and threats
3. Recommend and implement security improvements and controls
4. Develop comprehensive security policies and best practices
5. Monitor and respond to security incidents
Provide detailed security reports with specific remediation steps and risk assessments.
"""
security_file = "security_analyst.md"
with open(security_file, 'w') as f:
f.write(security_md)
# Load multiple agents from list
agents = loader.load_multiple_agents([performance_file, data_file, security_file])
print(f" Loaded {len(agents)} agents:")
for agent in agents:
temp_attr = getattr(agent, 'temperature', 'default')
print(f" - {agent.agent_name} (temp: {temp_attr})")
# Example 6: Load agents from directory (current directory)
print("\\n5. Loading agents from current directory:")
current_dir_agents = load_agents_from_markdown(".")
print(f" Found {len(current_dir_agents)} agents in current directory")
# Example 7: Demonstrate error handling
print("\\n6. Error handling demo:")
try:
loader.load_single_agent("nonexistent.md")
except FileNotFoundError as e:
print(f" Caught expected error: {e}")
# Example 8: Test agent functionality
print("\\n7. Testing loaded agent functionality:")
test_agent = agents[0]
print(f" Agent: {test_agent.agent_name}")
print(f" Temperature: {getattr(test_agent, 'temperature', 'default')}")
print(f" Max loops: {test_agent.max_loops}")
print(f" Ready for task execution")
except Exception as e:
print(f"Error during demo: {e}")
finally:
# Cleanup sample files
for file in [performance_file, data_file, security_file]:
if os.path.exists(file):
os.remove(file)
print("\\n Cleaned up sample files")
print("\\n=== Demo Complete ===")
if __name__ == "__main__":
main()

@ -1,233 +0,0 @@
"""
Simple AgentLoader Demo - Claude Code Format
=============================================
A comprehensive demonstration of the AgentLoader using the Claude Code
sub-agent YAML frontmatter format.
This example shows:
1. Creating agents using Claude Code YAML frontmatter format
2. Loading agents from markdown files with YAML frontmatter
3. Using loaded agents in multi-agent workflows
4. Demonstrating different agent configurations
"""
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
from swarms.utils.agent_loader import AgentLoader, load_agents_from_markdown
def create_markdown_agent_files():
"""Create markdown files demonstrating Claude Code YAML frontmatter format"""
# Claude Code YAML frontmatter format
agent_files = {
"market_researcher.md": """---
name: market-researcher
description: Expert in market analysis and competitive intelligence
model_name: gpt-4
temperature: 0.2
max_loops: 2
mcp_url: http://example.com/market-data
---
You are a market research specialist with deep expertise in analyzing market dynamics and competitive landscapes.
Your core responsibilities include:
- Conducting comprehensive market size and growth analysis
- Performing detailed competitive landscape assessments
- Analyzing consumer behavior patterns and preferences
- Identifying emerging industry trends and opportunities
Methodology:
1. Gather comprehensive quantitative and qualitative market data
2. Analyze key market drivers, barriers, and success factors
3. Evaluate competitive positioning and market share dynamics
4. Assess market opportunities, threats, and entry strategies
5. Provide actionable insights with data-driven recommendations
Always provide detailed market analysis reports with specific metrics, growth projections, and strategic recommendations for market entry or expansion.
""",
"financial_analyst.md": """---
name: financial-analyst
description: Specialist in financial modeling and investment analysis
model_name: gpt-4
temperature: 0.1
max_loops: 3
---
You are a financial analysis expert specializing in investment evaluation and financial modeling.
Your areas of expertise include:
- Financial statement analysis and ratio interpretation
- DCF modeling and valuation techniques (DCF, comparable company analysis, precedent transactions)
- Investment risk assessment and sensitivity analysis
- Cash flow projections and working capital analysis
Analytical approach:
1. Conduct thorough financial statement analysis
2. Build comprehensive financial models with multiple scenarios
3. Perform detailed valuation using multiple methodologies
4. Assess financial risks and conduct sensitivity analysis
5. Generate investment recommendations with clear rationale
Provide detailed financial reports with valuation models, risk assessments, and investment recommendations supported by quantitative analysis.
""",
"industry_expert.md": """---
name: industry-expert
description: Domain specialist with deep industry knowledge and regulatory expertise
model_name: gpt-4
temperature: 0.3
max_loops: 2
---
You are an industry analysis expert with comprehensive knowledge of market structures, regulatory environments, and technology trends.
Your specialization areas:
- Industry structure analysis and value chain mapping
- Regulatory environment assessment and compliance requirements
- Technology trends identification and disruption analysis
- Supply chain dynamics and operational considerations
Research methodology:
1. Map industry structure, key players, and stakeholder relationships
2. Analyze current and emerging regulatory framework
3. Identify technology trends and potential market disruptions
4. Evaluate supply chain dynamics and operational requirements
5. Assess competitive positioning and strategic opportunities
Generate comprehensive industry landscape reports with regulatory insights, technology trend analysis, and strategic recommendations for market positioning.
"""
"risk_analyst.md": """---
name: risk-analyst
description: Specialist in investment risk assessment and mitigation strategies
model_name: gpt-4
temperature: 0.15
max_loops: 2
---
You are a Risk Analyst specializing in comprehensive investment risk assessment and portfolio management.
Your core competencies include:
- Conducting detailed investment risk evaluation and categorization
- Implementing sophisticated portfolio risk management strategies
- Ensuring regulatory compliance and conducting compliance assessments
- Performing advanced scenario analysis and stress testing methodologies
Analytical framework:
1. Systematically identify and categorize all investment risks
2. Quantify risk exposure using advanced statistical methods and models
3. Develop comprehensive risk mitigation strategies and frameworks
4. Conduct rigorous scenario analysis and stress testing procedures
5. Provide actionable risk management recommendations with implementation roadmaps
Deliver comprehensive risk assessment reports with quantitative analysis, compliance guidelines, and strategic risk management recommendations.
"""
}
temp_files = []
# Create Claude Code format files
for filename, content in agent_files.items():
temp_file = os.path.join(tempfile.gettempdir(), filename)
with open(temp_file, 'w', encoding='utf-8') as f:
f.write(content)
temp_files.append(temp_file)
return temp_files
def main():
"""Main execution function demonstrating AgentLoader with Claude Code format"""
print("AgentLoader Demo - Claude Code YAML Frontmatter Format")
print("=" * 60)
# Create markdown files demonstrating both formats
print("\n1. Creating markdown files...")
temp_files = create_markdown_agent_files()
try:
# Load agents using AgentLoader
print("\n2. Loading agents using AgentLoader...")
agents = load_agents_from_markdown(temp_files)
print(f" Successfully loaded {len(agents)} agents:")
for agent in agents:
temp_attr = getattr(agent, 'temperature', 'default')
max_loops = getattr(agent, 'max_loops', 1)
print(f" - {agent.agent_name} (temp: {temp_attr}, loops: {max_loops})")
# Demonstrate individual agent configuration
print("\n3. Agent Configuration Details:")
for i, agent in enumerate(agents, 1):
print(f" Agent {i}: {agent.agent_name}")
print(f" Model: {getattr(agent, 'model_name', 'default')}")
print(f" System prompt preview: {agent.system_prompt[:100]}...")
print()
# Create sequential workflow with loaded agents
print("4. Creating 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
5. Risk assessment and mitigation strategies
Provide comprehensive strategic recommendations for market entry.
"""
print("5. Executing research workflow...")
print("=" * 50)
# Note: In a real scenario, this would execute the workflow
# For demo purposes, we'll show the task distribution
print(f"Task distributed to {len(agents)} specialized agents:")
for i, agent in enumerate(agents, 1):
print(f" Agent {i} ({agent.agent_name}): Ready to process")
print(f"\nTask preview: {task[:150]}...")
print("\n[Demo mode - actual workflow execution would call LLM APIs]")
print("\nDemo Summary:")
print("-" * 50)
print("✓ Successfully loaded agents using Claude Code YAML frontmatter format")
print("✓ Agents configured with different temperatures and max_loops from YAML")
print("✓ Multi-agent workflow created with specialized investment analysis agents")
print("✓ Workflow ready for comprehensive market analysis execution")
except Exception as e:
print(f"Error during demo: {e}")
import traceback
traceback.print_exc()
finally:
# Cleanup temporary files
print("\n6. Cleaning up temporary files...")
for temp_file in temp_files:
try:
os.remove(temp_file)
print(f" Removed: {os.path.basename(temp_file)}")
except OSError:
pass
if __name__ == "__main__":
main()
Loading…
Cancel
Save