Skip to content

Commit a82576e

Browse files
committed
docs: Update README files with latest version and features - Added v0.1.1 information, workflow examples, and development instructions
1 parent 7201b25 commit a82576e

File tree

4 files changed

+587
-299
lines changed

4 files changed

+587
-299
lines changed

README.md

Lines changed: 117 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,64 @@
11
# AgentFlow
22

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.
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
412

513
## Project Structure
614

715
```
816
agentflow/
917
├── agents/ # Agent implementations
1018
│ ├── agent.py # Base agent implementation
11-
│ └── types/ # Agent type definitions
12-
├── api/ # API endpoints
19+
│ └── agent_types.py # Agent type definitions
1320
├── 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
2327
├── 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
2533
```
2634

2735
## Features
2836

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
3662

3763
## Installation
3864

@@ -43,31 +69,43 @@ pip install agentflow
4369
## Quick Start
4470

4571
```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+
)
4795

4896
# 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
56101
)
57102

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()
63106

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})
71109
```
72110

73111
## Configuration
@@ -76,32 +114,57 @@ Agents and workflows can be configured using Python dictionaries or YAML files:
76114

77115
```yaml
78116
AGENT:
79-
name: my_agent
80-
type: generic
117+
name: data_science_agent
118+
type: data_science
81119
version: 1.0.0
82-
parameters:
83-
max_retries: 3
84-
timeout: 30
120+
mode: sequential
85121

86122
MODEL:
87-
name: gpt-3
88123
provider: openai
89-
version: 1.0.0
124+
name: gpt-4
125+
temperature: 0.7
126+
max_tokens: 4096
90127

91128
WORKFLOW:
92-
max_iterations: 100
93-
timeout: 3600
94-
distributed: false
95-
logging_level: INFO
129+
id: transform-workflow
130+
name: Data Transformation Workflow
131+
max_iterations: 5
132+
timeout: 30
133+
steps:
134+
- id: step-1
135+
name: feature_engineering
136+
type: transform
137+
description: Feature engineering step
138+
config:
139+
strategy: standard
140+
params:
141+
method: standard
142+
with_mean: true
143+
with_std: true
144+
```
145+
146+
## Testing
147+
148+
Run the test suite:
149+
150+
```bash
151+
# Run all tests
152+
pytest
153+
154+
# Run specific test categories
155+
pytest tests/unit/
156+
pytest tests/core/
157+
pytest tests/performance/
96158
```
97159

98160
## Contributing
99161

100162
1. Fork the repository
101163
2. Create a feature branch
102-
3. Commit your changes
103-
4. Push to the branch
104-
5. Create a Pull Request
164+
3. Write tests for your changes
165+
4. Implement your changes
166+
5. Run the test suite
167+
6. Create a Pull Request
105168

106169
## License
107170

0 commit comments

Comments
 (0)