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 dev
-
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
Release files for target-synthesis-agent 1.0.24
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| target_synthesis_agent-1.0.24.tar.gz | 40.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| target_synthesis_agent-1.0.24-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 73.5 kB
Release files / target_synthesis_agent-1.0.24.tar.gz
| Download URL | target_synthesis_agent-1.0.24.tar.gz |
|---|---|
| Size | 40.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3a5130be74f8e324063e0fe6093b61f4f6b4fdf92a00c9a54926cf23f7c8f138
|
|
BLAKE2b-256 checksum How to use checksums |
bb45b5388a0a32d557eb924175f154c8e53b77e1ddf1d5054f850399e8d35ecc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / target_synthesis_agent-1.0.24-py3-none-any.whl
| Download URL | target_synthesis_agent-1.0.24-py3-none-any.whl |
|---|---|
| Size | 33.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1d95f3d2354d489a6d56ca972604a2a42db2fb378923b7473f3e9f212598d0cf
|
|
BLAKE2b-256 checksum How to use checksums |
49a3eee262e176e14470d607fd2eba053a051d6a59c4f6115952956510b1db40
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|