You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AgentFlow is a flexible and extensible framework for building and managing AI agents and workflows. It provides a modular architecture for creating, configuring, and orchestrating AI agents.
3
+
AgentFlow is a flexible and extensible framework for building and managing AI agents and workflows. It provides a modular architecture for creating, configuring, and orchestrating AI agents with advanced features for workflow management and testing.
4
+
5
+
## Latest Version
6
+
7
+
Current version: v0.1.1
8
+
- Fixed workflow transform functions to handle step and context parameters
9
+
- Added feature engineering and outlier removal transforms
10
+
- Improved test suite and type hints
11
+
- Enhanced error handling and validation
4
12
5
13
## Project Structure
6
14
7
15
```
8
16
agentflow/
9
17
├── agents/ # Agent implementations
10
18
│ ├── agent.py # Base agent implementation
11
-
│ └── types/ # Agent type definitions
12
-
├── api/ # API endpoints
19
+
│ └── agent_types.py # Agent type definitions
13
20
├── core/ # Core framework components
14
-
│ ├── base.py # Base classes
15
-
│ ├── config.py # Configuration classes
16
-
│ └── workflow.py # Workflow engine
17
-
├── models/ # Model implementations
18
-
├── monitoring/ # Monitoring and metrics
19
-
│ └── monitor.py # System monitor
20
-
├── services/ # Service providers
21
-
│ └── registry.py # Service registry
22
-
├── strategies/ # Strategy implementations
21
+
│ ├── base_types.py # Base type definitions
22
+
│ ├── config.py # Configuration management
23
+
│ ├── workflow.py # Workflow engine
24
+
│ └── workflow_executor.py # Workflow execution
25
+
├── ell2a/ # ELL2A integration
26
+
│ └── types/ # Message and content types
23
27
├── transformations/ # Data transformation tools
24
-
└── utils/ # Utility functions
28
+
│ └── text.py # Text processing utilities
29
+
└── tests/ # Comprehensive test suite
30
+
├── unit/ # Unit tests
31
+
├── core/ # Core component tests
32
+
└── performance/ # Performance tests
25
33
```
26
34
27
35
## Features
28
36
29
-
- Flexible agent architecture
30
-
- Configurable workflows
31
-
- Service provider registry
32
-
- System monitoring and metrics
33
-
- Data transformation tools
34
-
- Async/await support
35
-
- Error handling and retry policies
37
+
-**Flexible Agent Architecture**
38
+
- Configurable agent types and behaviors
39
+
- Support for research and data science agents
40
+
- Extensible agent factory system
41
+
42
+
-**Advanced Workflow Management**
43
+
- Step-based workflow execution
44
+
- Dependency management
45
+
- Error handling and retry policies
46
+
- Performance monitoring
47
+
48
+
-**Robust Testing Framework**
49
+
- Unit and integration tests
50
+
- Performance testing
51
+
- Test-driven development support
52
+
53
+
-**Data Transformation Tools**
54
+
- Feature engineering
55
+
- Outlier removal
56
+
- Text processing utilities
57
+
58
+
-**Type Safety**
59
+
- Comprehensive type hints
60
+
- Pydantic model validation
61
+
- Runtime type checking
36
62
37
63
## Installation
38
64
@@ -43,31 +69,43 @@ pip install agentflow
43
69
## Quick Start
44
70
45
71
```python
46
-
from agentflow import Agent, AgentConfig, WorkflowEngine
72
+
from agentflow import Agent, AgentConfig, WorkflowConfig, WorkflowStep, WorkflowStepType
73
+
74
+
# Create workflow configuration
75
+
workflow_config = WorkflowConfig(
76
+
id="test-workflow",
77
+
name="test_workflow",
78
+
steps=[
79
+
WorkflowStep(
80
+
id="step-1",
81
+
name="transform_step",
82
+
type=WorkflowStepType.TRANSFORM,
83
+
description="Data transformation step",
84
+
config={
85
+
"strategy": "standard",
86
+
"params": {
87
+
"method": "standard",
88
+
"with_mean": True,
89
+
"with_std": True
90
+
}
91
+
}
92
+
)
93
+
]
94
+
)
47
95
48
96
# Create agent configuration
49
-
config = AgentConfig(
50
-
name="my_agent",
51
-
type="generic",
52
-
parameters={
53
-
"max_retries": 3,
54
-
"timeout": 30
55
-
}
97
+
agent_config = AgentConfig(
98
+
name="test_agent",
99
+
type="data_science",
100
+
workflow=workflow_config
56
101
)
57
102
58
-
# Create agent
59
-
agent = Agent(config)
60
-
61
-
# Create workflow engine
62
-
engine = WorkflowEngine()
103
+
# Create and initialize agent
104
+
agent = Agent(config=agent_config)
105
+
await agent.initialize()
63
106
64
-
# Register workflow
65
-
await engine.register_workflow(agent)
66
-
67
-
# Execute workflow
68
-
result =await engine.execute_workflow(agent.id, {
69
-
"input": "Hello, World!"
70
-
})
107
+
# Process data
108
+
result =await agent.execute({"data": your_data})
71
109
```
72
110
73
111
## Configuration
@@ -76,32 +114,57 @@ Agents and workflows can be configured using Python dictionaries or YAML files:
0 commit comments