era  by google-research

AI assistant for writing expert-level scientific software

Created 10 months ago
292 stars

Top 90.2% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

An AI system designed to assist scientists in writing high-quality empirical software, ERA (Empirical Research Assistant) addresses the complexity of developing expert-level scientific code. By integrating a large language model with a novel tree-search algorithm (FUTS), it aims to accelerate and improve the reliability of scientific software development for researchers.

How It Works

ERA employs a sophisticated iterative process. It leverages a large language model to generate candidate programs based on a problem definition. These candidates are then executed and scored within a sandboxed environment against specific metrics. The core innovation lies in the Flat UCB Tree Search (FUTS) algorithm, which guides this exploration by efficiently navigating the solution space, using generated scores to refine subsequent program generation and converge towards expert-level solutions.

Quick Start & Requirements

  • Installation: pip install pandas numpy scikit-learn google-generativeai.
  • Prerequisites: Python 3.10+, a Gemini API key (set as GOOGLE_API_KEY environment variable).
  • Example: Navigate to the implementation/ directory, set the API key, and run python playground_s3e1.py. An interactive Jupyter notebook (experiment_pipeline.ipynb) is also available.
  • Resources: Links to generated code (https://google-research.github.io/era/) and example task notebooks are provided.

Highlighted Details

  • Employs Flat UCB Tree Search (FUTS) for guided program generation, execution, and scoring.
  • Demonstrated applications span diverse scientific domains including epidemiology, neuroscience, theoretical physics, public health, climate, hydrology, economics, and combinatorics.
  • Provides a reference implementation of the FUTS algorithm.

Maintenance & Community

  • This project is explicitly stated as "not an officially supported Google product."
  • No community channels (e.g., Discord, Slack) or formal roadmap are detailed in the README.

Licensing & Compatibility

  • The README does not specify a software license. This omission requires clarification for adoption decisions, particularly regarding commercial use or derivative works.

Limitations & Caveats

  • Requires a Gemini API key, introducing a dependency on Google's generative AI services.
  • As an unofficial product, formal support and long-term maintenance are not guaranteed.
  • Implementing ERA for new tasks necessitates defining custom generate_fn and execute_fn functions, requiring significant developer effort.
Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
0
Star History
59 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.