AI-powered target variable creation and synthesis agent
Project description
Target Synthesis Agent
An intelligent AI-powered agent for generating and synthesizing target variables for machine learning tasks. This tool analyzes data characteristics and business context to create optimal target variables for various ML applications.
🚀 Features
- AI-Powered Analysis: Leverages advanced LLM models to analyze data and business context
- Multiple Data Sources: Works with both SQL databases and pandas DataFrames
- Customizable Workflows: Supports various ML approaches and synthesis strategies
- Comprehensive Testing: Includes a complete test suite for reliability
- Extensible Architecture: Easy to extend with custom components and integrations
📦 Installation
Prerequisites
- Python 3.10+
- Git
- uv package manager (recommended)
Setup
-
Clone the repository
git clone https://github.com/stepfnAI/target_synthesis_agent.git cd target_synthesis_agent/ git checkout review
-
Set up the virtual environment and install dependencies
uv venv --python=3.10 venv source venv/bin/activate uv pip install -e ".[dev]"
-
Clone and install the blueprint dependency
cd .. git clone https://github.com/stepfnAI/sfn_blueprint.git cd sfn_blueprint git switch dev uv pip install -e . cd ../target_synthesis_agent
-
Set up environment variables
# Optional: Configure LLM provider (default: openai) export LLM_PROVIDER="your_llm_provider" # Optional: Configure LLM model (default: gpt-4) export LLM_MODEL="your_llm_model" # Required: Your LLM API key export LLM_API_KEY="your_llm_api_key"
🛠️ Usage
Basic SQL Usage
python examples/sql_basic_usage.py
🧪 Testing
Run the complete test suite:
pytest tests/ -s
Or run individual test files:
pytest tests/conftest.py -s
pytest tests/test_agent.py -s
pytest tests/test_utils.py -s
🏗️ Architecture
The Target Synthesis Agent is built with a modular architecture:
-
Core Components:
agent.py: Main SQL-based implementationmodels.py: Data models and schemasutils.py: Utility functions and helpersconstants.py: Configuration and prompts
-
Dependencies:
sfn-blueprint: Core framework and utilitiespandas: Data manipulationsqlalchemy: Database interactionsscikit-learn: ML utilities
🤝 Contributing
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
📧 Contact
For questions or support, please contact support@stepfunction.ai
🙏 Acknowledgments
- Built with ❤️ by StepFunction AI
- Uses sfn-blueprint for core functionality
- Inspired by modern MLOps best practices
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file target_synthesis_agent-1.0.8.tar.gz.
File metadata
- Download URL: target_synthesis_agent-1.0.8.tar.gz
- Upload date:
- Size: 28.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0c89d2e93784e0c379ae58381148b7b9124a08ea42a72e56ca7ae441565e8cf
|
|
| MD5 |
8f84a547cad82c596ea4cc6b0133bed0
|
|
| BLAKE2b-256 |
4483925678b1808636c5c36cf45b9d6aa05bceb778c591572aae035e6d4929d0
|
File details
Details for the file target_synthesis_agent-1.0.8-py3-none-any.whl.
File metadata
- Download URL: target_synthesis_agent-1.0.8-py3-none-any.whl
- Upload date:
- Size: 25.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8422589a7a8c5fde69156c16241c7e3c766ee6256fe2bc19a088d38dbee16912
|
|
| MD5 |
16d19cd38276b45a0d92876912bc1786
|
|
| BLAKE2b-256 |
5ec07565c2d7533306818e7fd549e2e2e5d3d73b8bd0386d471be487d1ed8fca
|