Plexe: Build ML Models from Natural Language

Describe your ML goal in plain language, and Plexe builds a deployable model automatically.

Source repo
plexe-ai/plexe
Stars
★ 2.6k
Last updated
7mo ago
License
Apache-2.0
Primary language
Python

At a glance

How it runs
CLILibrary / SDKSelf-hosted service
Works with
Universal · cross-platformOpenAI API · Claude API
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
Python 3.10-3.12OpenAI API keyAnthropic API keyShell / CLINetwork accessLocal filesystem
Typical use
A data scientist exploring a new dataset wants to quickly get a baseline model without writing ML code, just by describing the prediction goal.
Not a fit if
  • Teams working only with image or text data; it targets tabular data
  • Advanced ML practitioners needing fine-grained training control; the search is opaque

What does this agent do, and when should you use it?

Plexe is a multi-agent system that transforms natural language descriptions into machine learning models. Users provide a tabular dataset (Parquet, CSV, ORC, Avro) and an intent like "predict whether a passenger was transported". The system orchestrates 14 specialized agents across a 6-phase workflow: data analysis, task identification, metric selection, hypothesis-driven model search, evaluation, and packaging. It supports popular frameworks including XGBoost, CatBoost, LightGBM, Keras, and PyTorch, with optional extras for specific frameworks or platforms. The final output is a self-contained model package (in work_dir/model/) that includes trained artifacts, inference code, schemas, config, and evaluation reports, with no dependency on Plexe itself. Plexe offers a CLI, Python API, Docker images, a Streamlit dashboard for visualization, and extensibility through a WorkflowIntegration interface. It uses LiteLLM to route to multiple LLM providers (defaulting to OpenAI and Anthropic), and supports YAML configuration for customization.

Plexe accepts a training dataset URI and a natural language intent via the CLI (python -m plexe.main) or Python API (main(intent=..., data_refs=...)). It invokes a multi-agent workflow: data analysis agents inspect the dataset and identify the ML task; hypothesiser agents propose modeling approaches with different hyperparameters; model definer agents select frameworks like XGBoost or PyTorch and generate training code; evaluator agents score models on the chosen metric; and a final packaging step creates a self-contained model directory with artifacts/, src/, schemas/, config/, evaluation/, model.yaml, and README.md. The system runs iterative search (controlled by max_iterations) and can optionally evaluate on held-out test sets (enable_final_evaluation). It calls LLM APIs (OpenAI/Anthropic by default) to drive agent decisions, and can be configured with YAML to change LLM routing, search parameters, Spark memory, and more. It also provides Docker images with PySpark and Java pre-installed, and a Streamlit dashboard via python -m plexe.viz --work-dir ./workdir.

  1. A data scientist exploring a new dataset wants to quickly get a baseline model without writing ML code, just by describing the prediction goal.
  2. An ML engineer needs to prototype a deployable model for a business stakeholder, and can hand over a data file and see a production-ready package.
  3. A researcher or student wants to understand the end-to-end ML pipeline and uses Plexe to generate a model from a custom dataset for educational purposes.
  4. A DevOps team integrates Plexe's Docker image into a CI/CD pipeline to automatically generate models from data artifacts on each release.
  5. A developer wants to compare different LLM providers (OpenAI vs Anthropic) for agent behavior and can switch them easily via YAML configuration.
  6. A business analyst with a clean dataset wants a prediction model without coding, using the cloud service or CLI as a low-code solution.

How do you install or deploy this agent?

Requires Python 3.10 up to 3.12. Install the core package: pip install plexe (includes XGBoost, Keras, scikit-learn). Add framework extras as needed: pip install "plexe[catboost]", pip install "plexe[lightgbm]", pip install "plexe[pytorch]", or task extras like pip install "plexe[tabular]" (CatBoost+LightGBM) and pip install "plexe[vision]" (PyTorch). Platform extras: pip install "plexe[pyspark]", pip install "plexe[aws]". After installation, set API keys: export OPENAI_API_KEY=<your-key> and export ANTHROPIC_API_KEY=<your-key> (other providers via LiteLLM).

How do you use this agent?

Run from the command line: python -m plexe.main --train-dataset-uri data.parquet --intent "predict whether a passenger was transported" --max-iterations 5. In Python: use from plexe.main import main; best_solution, metrics, report = main(intent="...", data_refs=["train.parquet"], max_iterations=5, work_dir=Path("./workdir")). Optional parameters include allowed_model_types (e.g., ["xgboost"]) and enable_final_evaluation=True. A YAML config file can be set via CONFIG_FILE=config.yaml to customize LLM routing, search parameters, and Spark settings. For Docker, build the image with make build or run directly with a command that mounts the data and workdir. After execution, the model package is in work_dir/model/ and the dashboard can be started with python -m plexe.viz --work-dir ./workdir.

What are this agent's strengths and limitations?

Pros
  • Natural-language driven model creation eliminates manual ML coding, making it accessible to non-experts.
  • Multi-agent orchestration covers data analysis, model selection, evaluation, and packaging, producing a deployable artifact in one call.
  • The output is self-contained and independent of Plexe, simplifying deployment and integration into existing systems.
  • Supports multiple popular ML frameworks (XGBoost, CatBoost, LightGBM, Keras, PyTorch) with extensible extras.
  • Integrates with multiple LLM providers via LiteLLM, allowing users to choose OpenAI, Anthropic, or others based on cost/latency.
  • Includes Docker images and a Streamlit dashboard for visualization and reproducibility.
Limitations
  • Relies on external LLM API calls, incurring cost and latency per iteration; failures in LLM services affect the pipeline.
  • Primarily designed for tabular data; support for image or text data is not documented (though vision extra suggests some capability).
  • Python version lock-in (3.10–3.12) may conflict with legacy environments or require containerization.
  • Full framework support requires installing multiple extras, increasing setup complexity for users.
  • Only OpenAI and Anthropic models are actively tested; other providers may work but are not guaranteed.
  • The automated search is not fully transparent, and fine-grained control over training is limited, which may be a drawback for advanced ML practitioners.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Plexe: Build ML Models from Natural Language This agent 41 · Major gaps CLIFree + model costs ★ 2.6k 7mo ago Python OpenAI API · Claude API
RecursiveMAS 31 · Major gaps CLIFree + model costs ★ 969 20d ago Python —
EvoScientist: Self-Evolving AI Scientist 51 · Major gaps CLIFree + model costs ★ 5k 2d ago Python OpenAI API · Claude API
Principia 66 · Some gaps CLIFree + model costs ★ 1.1k 17d ago Rich Text Format —

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
41/ 100 5-point scale 2.1 / 5
Trust 0/29
Reliability 8/14
Adaptability 12/18
Convention 11/18
Effectiveness 7/13
Verifiability 3/8
Why each dimension lost points
Trust0 / 29 · 0.0/5

Evidence shows: the repository provides no permission model, user confirmation mechanism, data flow transparency, sensitive data handling, dependency security audit, external effects control, rollback mechanism, or source attribution. All trust-related criteria are unmet, hence score 0.

Reliability8 / 14 · 2.9/5

Evidence shows: README and pyproject.toml are consistent in feature description and dependency declarations, but no failure messages or error handling documentation is provided. Thus, self-consistency scores 2, dependency availability scores 2, and failure messages scores 1.

Adaptability12 / 18 · 3.3/5

Evidence shows: README clearly identifies target audience (developers, researchers) and use cases (tabular data modeling), with CLI and Python API examples. Capability boundaries are described via supported model types and optional dependencies. Trigger precision is ensured through explicit commands and parameters. Environment fit is supported via Docker and configuration options. Hence, each criterion scores 2.

Convention11 / 18 · 3.1/5

Evidence shows: README provides clear information architecture, detailed installation notes, stable naming, examples and FAQ, and known limitations section mentioning only OpenAI and Anthropic models are tested. License is Apache-2.0, version is in pyproject.toml, but no changelog is provided. Maintenance responsibility is indicated via contributing guidelines and Discord link. Thus, each criterion scores 2, license scores 3, known limitations and versioning changelog score 1.

Effectiveness7 / 13 · 2.7/5

Evidence shows: output usability is demonstrated via model package structure and example code, marginal value via automated model building and multiple framework support, cost-benefit partially via API key requirements and cloud service mention. Hence, output usability and marginal value score 2, cost-benefit scores 1.

Verifiability3 / 8 · 1.9/5

Evidence shows: claims in README are partially supported by examples, but lack independent verification sources. Fact-inference separation is not clear. Hence, each criterion scores 1.

Risks and how to mitigate them
  • Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
  • Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
  • Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
  • Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • Not found in source: verifiable attributionInstall from the official repo or registry and check the publisher and URL to avoid look-alike packages.
  • No permission model or user confirmation mechanism, may execute arbitrary code or access sensitive data.
  • Dependency security not audited, potential known vulnerabilities.
  • No rollback mechanism, model building failures may not be recoverable.
  • Source attribution unclear, publisher identity unverified.
Evidence confidence: Low Reviewed Aug 13, 2026 Reviewed revision a1e05f6dc4c0
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v1.4.4
    Release notes excerpt
    What's Changed * chore: ignore .claude and .codex directories by @marcellodebernardi in https://github.com/plexe-ai/plexe/pull/188 * feat: support explicit split inputs and nn epoch overrides by @marcellodebernardi in https://github.com/plexe-ai/plexe/pull/189 Full Changelog: https://github.com/plexe-ai/plexe/compare/v1.4.3...v1.4.4
    View on GitHub ↗
  2. v1.4.3
    Release notes excerpt
    What's Changed * feat: add probability-aware metric support across search and evaluation by @marcellodebernardi in https://github.com/plexe-ai/plexe/pull/187 Full Changelog: https://github.com/plexe-ai/plexe/compare/v1.4.2...v1.4.3
    View on GitHub ↗
  3. v1.4.2
    Release notes excerpt
    What's Changed * fix: calibrate evaluator verdict rubric and baseline context by @marcellodebernardi in https://github.com/plexe-ai/plexe/pull/186 Full Changelog: https://github.com/plexe-ai/plexe/compare/v1.4.1...v1.4.2
    View on GitHub ↗

FAQ

What API keys are required to run Plexe?
You need OpenAI and Anthropic API keys set as environment variables. Plexe uses LiteLLM, so you can configure other supported providers, but only OpenAI and Anthropic are actively tested.
Does Plexe support non-tabular data?
The documentation explicitly supports tabular datasets (Parquet, CSV, ORC, Avro). There is an optional vision extra for PyTorch, but no concrete example of image data is provided, so it's unclear.
Can I customize the model search process?
Yes, you can set parameters like max_iterations, allowed_model_types, and LLM routing in a YAML config file. You can also implement the WorkflowIntegration interface to hook into storage or deployment.
Is the generated model package portable?
Yes, the model package is self-contained and does not depend on Plexe. It includes inference code and artifacts, so it can be deployed to any standard Python environment.
Is Plexe suitable for production use?
It provides a deployable package and Docker support, but production use may require additional testing and monitoring. The automated models might not be as optimized as hand-tuned ones for specific business needs.
View on GitHub ↗ Install ↓

Related agents