diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 093f0c6..c193fc6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -65,6 +65,11 @@ repos: rev: 1.19.1 hooks: - id: blacken-docs + - repo: https://github.com/igorshubovych/markdownlint-cli + rev: v0.45.0 + hooks: + - id: markdownlint + args: [--config=pyproject.toml, --configPointer=/tool/markdownlint] - repo: https://github.com/jsh9/markdown-toc-creator rev: 0.0.10 hooks: diff --git a/README.md b/README.md index 85cd723..727c5ae 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,12 @@ +# ether0 Reward Model + [![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/Future-House/ether0) [![arXiv](https://img.shields.io/badge/arXiv-2506.17238-b31b1b.svg)](https://arxiv.org/abs/2506.17238) [![Project Status: Active](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) ![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg) [![Tests](https://github.com/Future-House/ether0/actions/workflows/lint-test.yaml/badge.svg)](https://github.com/Future-House/ether0/actions) -Code style: black +[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![python](https://img.shields.io/badge/python-3.11+-blue?style=flat&logo=python&logoColor=white)](https://www.python.org) [![Model on HF](https://huggingface.co/datasets/huggingface/badges/resolve/main/model-on-hf-md-dark.svg)](https://huggingface.co/futurehouse/ether0) [![Dataset on HF](https://huggingface.co/datasets/huggingface/badges/resolve/main/dataset-on-hf-md-dark.svg)](https://huggingface.co/datasets/futurehouse/ether0-benchmark) @@ -13,9 +15,9 @@ _ether0: a scientific reasoning model, dataset, and reward functions for chemistry._ -# ether0 Reward Model - -This repo contains the reward model for evaluating ether0 and similar models, along with utilities for working with the verifiable rewards in [our benchmark](https://huggingface.co/datasets/futurehouse/ether0-benchmark). +This repo contains the reward model for evaluating ether0 and similar models, +along with utilities for working with the verifiable rewards in +[our benchmark](https://huggingface.co/datasets/futurehouse/ether0-benchmark). ## Overview @@ -51,7 +53,8 @@ This repo contains several packages: ### Open Weights -Please see our open-source weights on Hugging Face: https://huggingface.co/futurehouse/ether0 +Please see our open-source weights on Hugging Face: + ```python from transformers import AutoModelForCausalLM, AutoTokenizer @@ -62,7 +65,8 @@ tokenizer = AutoTokenizer.from_pretrained("futurehouse/ether0") ### Open Test Set -Please see our open-source benchmark (test set) on Hugging Face: https://huggingface.co/datasets/futurehouse/ether0-benchmark +Please see our open-source benchmark (test set) on Hugging Face: + ```python from datasets import load_dataset @@ -148,7 +152,8 @@ ETHER0_REMOTES_API_TOKEN=abc123 ether0-serve Next, start `ipython` with the relevant environment variables set: ```bash -ETHER0_REMOTES_API_BASE_URL="http://127.0.0.1:8000" ETHER0_REMOTES_API_TOKEN=abc123 ipython +ETHER0_REMOTES_API_BASE_URL="http://127.0.0.1:8000" ETHER0_REMOTES_API_TOKEN=abc123 \ + ipython ``` And run the following Python code: diff --git a/packages/remotes/README.md b/packages/remotes/README.md index 4b90ecf..ec16ebf 100644 --- a/packages/remotes/README.md +++ b/packages/remotes/README.md @@ -14,14 +14,16 @@ curl --location --output src/ether0/USPTO480k_model_step_400000.pt \ Or more manually: -1. Go to this notebook: https://github.com/schwallergroup/ai4chem_course/blob/main/notebooks/07%20-%20Reaction%20Prediction/template_free.ipynb +1. Go to [this notebook][1] 2. Download the `USPTO480k_model_step_400000.pt` linked in the `trained_model_url` variable's linked Google Drive file: - https://drive.google.com/uc?id=1ywJCJHunoPTB5wr6KdZ8aLv7tMFMBHNy + 3. Set the environment variable `ETHER0_REMOTES_MOLTRANS_MODEL_PATH` to the downloaded PyTorch model's location, or place the model in the default checked `ether0` source code folder (`src/ether0`). +[1]: https://github.com/schwallergroup/ai4chem_course/blob/main/notebooks/07%20-%20Reaction%20Prediction/template_free.ipynb + ## Serving To run the server: @@ -31,6 +33,6 @@ To run the server: ```bash ETHER0_REMOTES_API_TOKEN="abc123" \ -ETHER0_REMOTES_MOLTRANS_MODEL_PATH="/path/to/downloaded/USPTO480k_model_step_400000.pt" \ +ETHER0_REMOTES_MOLTRANS_MODEL_PATH="/path/to/USPTO480k_model_step_400000.pt" \ ether0-serve ``` diff --git a/pyproject.toml b/pyproject.toml index dee4d4b..f4e8e00 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -105,6 +105,15 @@ branch = true # This is designed to be invoked from within the test directory command_line = "-m pytest" +[tool.markdownlint] +no-inline-html = false + +[tool.markdownlint.line-length] +code_block_line_length = 88 # Match ruff line-length +line_length = 120 # Match ruff max-doc-length +stern = true +tables = false + [tool.mypy] # Type-checks the interior of functions without type annotations. check_untyped_defs = true