Skip to main content

Synthesize Execute Instruct Debug Rank

Project description

Synthesize Execute Instruct Debug Rank

A framework for AI-assisted program synthesis. Given a problem description and some input-output examples, the framework generates a program that solves the problem.

Usage

from seidr import develop
help(develop)

Reproducing the experiments from our paper

The experiments reported in the blog post and in the upcoming paper are contained in benchmark.py file. 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

Set up Weights and Biases

  1. Create an account on Weights and Biases
  2. Install the Weights and Biases library
  3. Run wandb login and follow the instructions

Set up a github repository

  1. Go to github, log in to the account that's going to push AI-generated code. Remember the $username and $email for that account.
  2. Go here and generate an access $token
  3. Set GITHUB_USER to "Bot" or whatever the name of the committer shall be
  4. Set GITHUB_EMAIL to $email
  5. Set GITHUB_REMOTE to https://$username:$token@github.com/$repo

Don't be fooled by the variable names, you can of course use a non-github git hosting.

Set up OpenAI access

It's 2022 and the language model inference happens in the cloud. You are going to need an OpenAI account with access to code-davinci-001 and code-davinci-edit-001 Set OPENAI_API_KEY environment variable to your access token.

Run the experiments

If you're using slurm, write a run.sh file with python benchmark.py and run it with sbatch run.sh --array=0-191. If not, run TASK_ID=n python benchmark.py to re-run one of our 192 experiments exactly, or set the parameters yourself:

python benchmark.py --branching-factor 200 --language C++ --problem fizz-buzz

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seidr-3.1.1.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

seidr-3.1.1-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file seidr-3.1.1.tar.gz.

File metadata

  • Download URL: seidr-3.1.1.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.0 Linux/6.2.0-1016-azure

File hashes

Hashes for seidr-3.1.1.tar.gz
Algorithm Hash digest
SHA256 05a622eb1ae17ef5b23fd50308984f98e6fb03207a028bd53890ee28d27a8bf5
MD5 6b484ff88b2b1da96d540014ff44d9c1
BLAKE2b-256 2d05d4eff56ea463a8c07742e20551a289ecaee09512606460d471f06526929b

See more details on using hashes here.

File details

Details for the file seidr-3.1.1-py3-none-any.whl.

File metadata

  • Download URL: seidr-3.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.0 Linux/6.2.0-1016-azure

File hashes

Hashes for seidr-3.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 329bd3344abfd48eb75066e50e61f8e49145851ba614bfaf52f0725c03b9fbac
MD5 24de3444d6cc4eda0893a2f6b51dcc6f
BLAKE2b-256 45f93165ed0b03ab437bcf82953886fa939720f116312b6125cebd49ac52f8dd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page