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.
6.9 KiB
6.9 KiB
Getting Started with GraphWorkflow
Welcome to GraphWorkflow - The LangGraph Killer! 🚀
This guide will get you up and running with Swarms' GraphWorkflow system in minutes.
🚀 Quick Installation
# Install Swarms with all dependencies
uv pip install swarms
# Optional: Install visualization dependencies
uv pip install graphviz
# Verify installation
python -c "from swarms.structs.graph_workflow import GraphWorkflow; print('✅ GraphWorkflow ready')"
🎯 Choose Your Starting Point
📚 New to GraphWorkflow?
Start here: Quick Start Guide
python quick_start_guide.py
Learn GraphWorkflow in 5 easy steps:
- ✅ Create your first workflow
- ✅ Connect agents in sequence
- ✅ Set up parallel processing
- ✅ Use advanced patterns
- ✅ Monitor performance
🔬 Want to See Everything?
Run the comprehensive demo: Comprehensive Demo
# See all features
python comprehensive_demo.py
# Focus on specific areas
python comprehensive_demo.py --demo healthcare
python comprehensive_demo.py --demo finance
python comprehensive_demo.py --demo parallel
🛠️ Need Setup Help?
Use the setup script: Setup and Test
# Check your environment
python setup_and_test.py --check-only
# Install dependencies and run tests
python setup_and_test.py
📖 Documentation
📋 Quick Reference
from swarms import Agent
from swarms.structs.graph_workflow import GraphWorkflow
# 1. Create agents
agent1 = Agent(agent_name="Researcher", model_name="gpt-4o-mini", max_loops=1)
agent2 = Agent(agent_name="Writer", model_name="gpt-4o-mini", max_loops=1)
# 2. Create workflow
workflow = GraphWorkflow(name="MyWorkflow", auto_compile=True)
# 3. Add agents and connections
workflow.add_node(agent1)
workflow.add_node(agent2)
workflow.add_edge("Researcher", "Writer")
# 4. Execute
results = workflow.run(task="Write about AI trends")
📚 Complete Documentation
- Technical Guide: 4,000-word comprehensive guide
- Examples README: Complete examples overview
- API Reference: Detailed API documentation
🎨 Key Features Overview
⚡ Parallel Processing
# Fan-out: One agent to multiple agents
workflow.add_edges_from_source("DataCollector", ["AnalystA", "AnalystB"])
# Fan-in: Multiple agents to one agent
workflow.add_edges_to_target(["SpecialistX", "SpecialistY"], "Synthesizer")
# Parallel chain: Many-to-many mesh
workflow.add_parallel_chain(["DataA", "DataB"], ["ProcessorX", "ProcessorY"])
🚀 Performance Optimization
# Automatic compilation for 40-60% speedup
workflow = GraphWorkflow(auto_compile=True)
# Monitor performance
status = workflow.get_compilation_status()
print(f"Workers: {status['max_workers']}")
print(f"Layers: {status['cached_layers_count']}")
🎨 Professional Visualization
# Generate beautiful workflow diagrams
workflow.visualize(
format="png", # png, svg, pdf, dot
show_summary=True, # Show parallel processing stats
engine="dot" # Layout algorithm
)
💾 Enterprise Features
# Complete workflow serialization
json_data = workflow.to_json(include_conversation=True)
restored = GraphWorkflow.from_json(json_data)
# File persistence
workflow.save_to_file("my_workflow.json")
loaded = GraphWorkflow.load_from_file("my_workflow.json")
# Validation and monitoring
validation = workflow.validate(auto_fix=True)
summary = workflow.export_summary()
🏥 Real-World Examples
Healthcare: Clinical Decision Support
# Multi-specialist clinical workflow
workflow.add_edges_from_source("PatientData", [
"PrimaryCare", "Cardiologist", "Pharmacist"
])
workflow.add_edges_to_target([
"PrimaryCare", "Cardiologist", "Pharmacist"
], "CaseManager")
results = workflow.run(task="Analyze patient with chest pain...")
Finance: Investment Analysis
# Parallel financial analysis
workflow.add_parallel_chain(
["MarketData", "FundamentalData"],
["TechnicalAnalyst", "FundamentalAnalyst", "RiskManager"]
)
workflow.add_edges_to_target([
"TechnicalAnalyst", "FundamentalAnalyst", "RiskManager"
], "PortfolioManager")
results = workflow.run(task="Analyze tech sector allocation...")
🏃♂️ Performance Benchmarks
GraphWorkflow delivers 40-60% better performance than sequential execution:
Agents | Sequential | GraphWorkflow | Speedup |
---|---|---|---|
5 | 15.2s | 8.7s | 1.75x |
10 | 28.5s | 16.1s | 1.77x |
15 | 42.8s | 24.3s | 1.76x |
Benchmarks run on 8-core CPU with gpt-4o-mini
🆚 Why GraphWorkflow > LangGraph?
Feature | GraphWorkflow | LangGraph |
---|---|---|
Parallel Processing | ✅ Native fan-out/fan-in | ❌ Limited |
Performance | ✅ 40-60% faster | ❌ Sequential bottlenecks |
Compilation | ✅ Intelligent caching | ❌ No optimization |
Visualization | ✅ Professional Graphviz | ❌ Basic diagrams |
Enterprise Features | ✅ Full serialization | ❌ Limited persistence |
Error Handling | ✅ Comprehensive validation | ❌ Basic checks |
Monitoring | ✅ Rich metrics | ❌ Limited insights |
🛠️ Troubleshooting
Common Issues
Problem: Import error
# Solution: Install dependencies
uv pip install swarms
python setup_and_test.py --install-deps
Problem: Slow execution
# Solution: Enable compilation
workflow = GraphWorkflow(auto_compile=True)
workflow.compile() # Manual compilation
Problem: Memory issues
# Solution: Clear conversation history
workflow.conversation = Conversation()
Problem: Graph validation errors
# Solution: Use auto-fix
validation = workflow.validate(auto_fix=True)
if not validation['is_valid']:
print("Errors:", validation['errors'])
Get Help
- 📖 Read the docs: Technical Guide
- 🔍 Check examples: Browse this guide directory
- 🧪 Run tests: Use
python setup_and_test.py
- 🐛 Report bugs: Open an issue on GitHub
🎯 Next Steps
- 🎓 Learn: Complete the Quick Start Guide
- 🔬 Explore: Try the Comprehensive Demo
- 🏥 Apply: Adapt healthcare or finance examples
- 📚 Study: Read the Technical Guide
- 🚀 Deploy: Build your production workflows
🎉 Ready to Build?
GraphWorkflow is production-ready and enterprise-grade. Join the revolution in multi-agent orchestration!
# Start your GraphWorkflow journey
python quick_start_guide.py
The LangGraph Killer is here. Welcome to the future of multi-agent systems! 🌟