Skip to content

Commit a742667

Browse files
authored
Merge pull request #23 from vadim0x60/refactor/merge-readme-files
Update documentation
2 parents 27d8202 + 1340436 commit a742667

2 files changed

Lines changed: 44 additions & 155 deletions

File tree

README.md

Lines changed: 44 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,24 @@
11
# Synthesize Execute Instruct Debug Rank
22

3-
A framework for AI-assisted program synthesis.
4-
Given a problem description and some input-output examples, the framework generates a program that solves the problem.
3+
This is a replication package for SEIDR framework, which is AI-assisted program synthesis.
4+
Given a problem description and some input-output examples, the framework generates a program that solves the problem.
5+
The framework has been published in the GECCO'23 Proceedings and is undergoing revision for the extension in the ACM TELO journal.
56

6-
## Paper
77

8-
You can find an in-depth discussion of this tool, the philosophy it implements and its usage in our paper, [Fully Autonomous Programming with Large Language Models](https://dl.acm.org/doi/abs/10.1145/3583131.3590481). Consider citing it if you use SEIDR in your research.
8+
## TELO journal paper: _[Fully Autonomous Programming using Iterative Multi-Agent Debugging with Large Language Models](https://dl.acm.org/doi/10.1145/3719351)_
9+
## Original GECCO'23 conference paper extended to the TELO journal: _[Fully Autonomous Programming with Large Language Models](https://dl.acm.org/doi/abs/10.1145/3583131.3590481)_
10+
11+
Consider citing the work if you use SEIDR in your research.
12+
13+
## Contents
14+
15+
The current `src/` folder is organized as follows:
16+
17+
* [seidr](./seidr) - code for running SEIDR on PSB2 (with `benchmark.py`) or HumanEval (with `benchmark_humaneval.py`)
18+
* [scripts](./scripts) - Slurm scripts used to run SEIDR with a specific model on a specific dataset
19+
* [config](./config) - csv tables of experimental setup, where each row corresponds to one problem in a dataset, each table is in a subfolder named after the dataset name
20+
* [psb2-meta](./psb2-meta) - natural language descriptions of PSB2 problems
21+
922

1023
## Usage
1124

@@ -16,16 +29,40 @@ help(dev)
1629

1730
## Reproducing the experiments from our paper
1831

19-
The experiments are contained in `benchmark.py` and `benchmark_humaneval.py` files. When you run this file, the AI-generated programs are commited to a dedicated github repository, while the metrics (i.e. how many tests every program passes) will be logged in your [Weights and Biases](https://wandb.ai)
32+
The experiments are contained in `benchmark.py` and `benchmark_humaneval.py` files. When you run this file, the AI-generated programs are commited to a dedicated github repository, while the metrics (i.e., how many tests every program passes) will be logged in your [Weights and Biases](https://wandb.ai)
2033

2134
### Prerequisites
35+
36+
#### Install dependencies
37+
Either install the project with Poetry or install seidr from pypi:
38+
```bash
39+
pip install seidr
40+
```
41+
42+
With [Poetry](https://python-poetry.org/docs/) and `Python 3.11` (or later versions):
43+
```bash
44+
cd SEIDR_TELO
45+
poetry env use python3.11
46+
poetry install
47+
```
48+
49+
With Python `venv` module:
50+
```bash
51+
cd SEIDR_TELO/src
52+
python3.11 -m venv venv
53+
source venv/bin/activate
54+
pip install -r src/requirements_src.txt
55+
```
56+
57+
Note that depending on your Python version management, you may need to change `python3.11` to another alias or Python executable.
58+
2259
#### Set up Weights and Biases
2360

2461
1. Create an account on [Weights and Biases](https://wandb.ai)
2562
2. Install the [Weights and Biases](https://docs.wandb.com/library/install) library
2663
3. Run `wandb login` and follow the instructions
2764

28-
#### Set up a GitHub repository
65+
#### Set up a GitHub repository for solutions
2966

3067
1. Go to [github](https://github.com), log in to the account that's going to push AI-generated code. Remember the $username and $email for that account.
3168
2. Go [here](https://github.com/settings/tokens?type=beta) and generate an access $token
@@ -78,7 +115,7 @@ and run it with `sbatch run.sh --array=1-500`.
78115
If not, run `TASK_ID=n python benchmark.py` to re-run one of our experiments exactly,
79116
or set the parameters yourself as below.
80117

81-
For example, for basement problem in PSB2, run SEIDR without lexicase selection as follows:
118+
For example, for `basement` problem in PSB2, run SEIDR without lexicase selection as follows:
82119
```
83120
python3 benchmark.py \
84121
--task_id 0 \

seidr/README_src.md

Lines changed: 0 additions & 148 deletions
This file was deleted.

0 commit comments

Comments
 (0)