diff --git a/.github/workflows/hourly-run-main.yaml b/.github/workflows/hourly-run-main.yaml new file mode 100644 index 0000000..367205e --- /dev/null +++ b/.github/workflows/hourly-run-main.yaml @@ -0,0 +1,46 @@ +name: Hourly Run Main Bot + +on: + workflow_dispatch: + schedule: + - cron: "*/15 * * * *" # runs every 15 minutes. Make sure to skip already forecasted questions! + +# Daily job to run the forecast bot +jobs: + daily_build: + runs-on: ubuntu-latest # determines the machine that will run the job - keep as is + steps: # sets up the steps that will be run in order + # setup repository with all necessary dependencies - keep as is + - name: Check out repository + uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + - name: Install poetry + uses: snok/install-poetry@v1 + with: + virtualenvs-create: true + virtualenvs-in-project: true + installer-parallel: true + - name: Load cached venv + id: cached-poetry-dependencies + uses: actions/cache@v4 + with: + path: .venv + key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }} + - name: Install dependencies + run: poetry install --no-interaction --no-root + - name: Run bot + run: | + poetry run python scripts/run_forecasts_for_ai_tournament.py --bot-type main + # this reads the environment variables from the github repository. + # Store under Settings --> Secrets and variables --> Actions + # Not all these variables are required. See the ReadMe for more details. + env: + METACULUS_TOKEN: ${{ secrets.METACULUS_TOKEN }} + PERPLEXITY_API_KEY: ${{ secrets.PERPLEXITY_API_KEY }} + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} + EXA_API_KEY: ${{ secrets.EXA_API_KEY }} + ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} + HUGGINGFACE_API_KEY: ${{ secrets.HUGGINGFACE_API_KEY }} + PYTHONPATH: . diff --git a/.github/workflows/hourly-run-template.yaml b/.github/workflows/hourly-run-template.yaml new file mode 100644 index 0000000..b66579e --- /dev/null +++ b/.github/workflows/hourly-run-template.yaml @@ -0,0 +1,43 @@ +name: Hourly Run Template Bot + +on: + workflow_dispatch: + schedule: + - cron: "*/15 * * * *" # runs every 15 minutes. Make sure to skip already forecasted questions! + +# Daily job to run the forecast bot +jobs: + daily_build: + runs-on: ubuntu-latest # determines the machine that will run the job - keep as is + steps: # sets up the steps that will be run in order + # setup repository with all necessary dependencies - keep as is + - name: Check out repository + uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + - name: Install poetry + uses: snok/install-poetry@v1 + with: + virtualenvs-create: true + virtualenvs-in-project: true + installer-parallel: true + - name: Load cached venv + id: cached-poetry-dependencies + uses: actions/cache@v4 + with: + path: .venv + key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }} + - name: Install dependencies + run: poetry install --no-interaction --no-root + - name: Run bot + run: | + poetry run python scripts/run_forecasts_for_ai_tournament.py --bot-type template + # this reads the environment variables from the github repository. + # Store under Settings --> Secrets and variables --> Actions + # Not all these variables are required. See the ReadMe for more details. + env: + METACULUS_TOKEN: ${{ secrets.METACULUS_TOKEN }} + PERPLEXITY_API_KEY: ${{ secrets.PERPLEXITY_API_KEY }} + EXA_API_KEY: ${{ secrets.EXA_API_KEY }} + PYTHONPATH: . diff --git a/poetry.lock b/poetry.lock index 0ddf116..b22c930 100644 --- a/poetry.lock +++ b/poetry.lock @@ -6023,4 +6023,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "308db919e8f4021b2187d8eaf8ecdab7d59c3273c46d3d14fd2350ec57e1cdd0" +content-hash = "b11256478fee156aa4005040352d9d7b98eb9f8cf2f0db4a441f9937e67e5efc" diff --git a/pyproject.toml b/pyproject.toml index 4f4dca7..961a9e1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "forecasting-tools" -version = "0.1.4" +version = "0.2.0" description = "AI forecasting and research tools to help humans reason about and forecast the future" authors = ["Benjamin Wilson "] license = "MIT"