Skip to content

Release/0.1#72

Merged
laurejt merged 35 commits intomainfrom
release/0.1
Apr 21, 2026
Merged

Release/0.1#72
laurejt merged 35 commits intomainfrom
release/0.1

Conversation

@laurejt
Copy link
Copy Markdown
Contributor

@laurejt laurejt commented Apr 21, 2026

Final review for initial release before merging to main

laurejt and others added 30 commits January 20, 2026 14:28
Also fixed pyproject.toml so ruff is only a dev dependency
Adding pre-commit hooks and github actions.
---------

Co-authored-by: Hao Tan <tanhaosmail@gmail.com>
* Add method for translating with HY-MT1.5, NLLB-200, and MADLAD-400
Added explicit detail on using ISO 639-1 language codes
* Add a translation method wrapper

* Add unit test

* Use pytest for unit test

* Adopt pytest configuration from remarx

coverage and HTML reports
- Follow remarx project standards for test infrastructure

* Update comments

* Fix markdown formatting in data-design.md

* Update test_translate.py

* Remove pytest

* set source language for nllb_translate() method for proper translation

* Add a quick test script for testing translate() method

* Add test cases
* Add a translation method wrapper

* Add unit test

* Use pytest for unit test

* Adopt pytest configuration from remarx

coverage and HTML reports
- Follow remarx project standards for test infrastructure

* Update comments

* Fix markdown formatting in data-design.md

* Update test_translate.py

* Remove pytest

* set source language for nllb_translate() method for proper translation

* Add a quick test script for testing translate() method

* Add test cases

* Add script for producing machine translations of the parallel text corpus

* Update generate_mt_corpus.py

* Delete test_cases.jsonl

* Add script for producing machine translations of the parallel text corpus

* Update generate_mt_corpus.py

* Revise per @laurejt 's review

* Revise per @laurejt 's review

* Removing extraneous files

* Restore test_translate.py to its develop location

---------

Co-authored-by: Laure Thompson <602628+laurejt@users.noreply.github.com>
* Add Google Cloud Translate API integration with Translation LLM
* Add ChrF metric computation for machine translation evaluation

* Add test script

* Reorganize ChrF metric into translation module per review

- Move compute_chrf() from src/muse/metrics/chrf.py to src/muse/translation/metrics.py
- Remove src/muse/metrics/ submodule entirely

* use orjsonl

* Move compute_chrf() to evaluation module per review feedback

- Created new src/muse/evaluation module for MT evaluation metrics
- Moved compute_chrf() from src/muse/translation/metrics.py to src/muse/evaluation/metrics.py
- Updated test script import path
- Added evaluation to module exports

This separates evaluation concerns from translation generation, allowing for future expansion with other metrics (COMET, BLEU, etc.)

* Update docstrings and commments
* Update Google Cloud ADC handling & documentation
 
* Updated general translate method to use underlying model defaults and to expect shortened model identifiers

* Updated translate_corpus script so it fails fast and simplified tqdm progress bar logic
* Add resume functionality for corpus translation

* Update logic for restricting generation length
* Preliminary prodigy recipe and input builder

---------

Co-authored-by: Rebecca Sutton Koeser <rlskoeser@users.noreply.github.com>
* Add TranslateGemma support for issue #43

- Add gemma_translate() function with google/translategemma-4b-it as default
- Implement language validation for 55 supported languages
- Call get_max_new_tokens() as required by issue
- Add HuggingFace authentication error handling with clear messages
- Update translate() router to support model='gemma'
- Add comprehensive HF authentication documentation to DEVELOPERNOTES.md

Closes #43

* Update DEVELOPERNOTES.md

* Update DEVELOPERNOTES.md

* Update translate.py

* Update translate.py

* fix linter error

* Update translate.py

* Update docs/DEVELOPERNOTES.md

Co-authored-by: Laure Thompson <602628+laurejt@users.noreply.github.com>

* revise per @laurejt review

* ruff format

* Apply suggestion from @laurejt

* Update translate.py

---------

Co-authored-by: Laure Thompson <602628+laurejt@users.noreply.github.com>
* Cleaned up recipe & added custom routing

* Ruff fixes

* Expand docs
* Add script for building parallel paragraph corpus

---------

Co-authored-by: Hao Tan <tanhao@princeton.edu>
* add method to compute comet metric and a test script for it

* Suppress verbose HuggingFace logging in COMET metric computation

Uses environment variables and output
redirection to suppress model loading messages and progress bars.

* uv run ruff format
Add CometKiwi to machine translation metrics.
* add method to compute comet metric and a test script for it

* Create evaluate_corpus.py

* suppress PyTorch Lightning logging and cache models

* Update metrics.py

* ruff format

* Remove required fields in input

* Revise per @laurejt review

* ruff format

* suppress PyTorch Lightning INFO messages

* Change to @laurejt 's approach
UI updates:
- Update term labels
- Remove reject button
- Display language name of original text
- Set the history_text for each example
- Update Q1 prompt and added evaluation typology to Q2
- Remove stats from progress panel

Functionality updates:
- Update task routing and progress logic
- Add option to include instructions
- Add validation for when Q3 response is required
- Update set_hashes so it can overwrite existing ones

---------

Co-authored-by: Hao Tan <tanhao@princeton.edu>
* add cometkiwi metric

* modify the script

* Update metrics.py

* revise per @laurejt review

* use `download_model`

* add a note about download_model
* Update metrics.py

* ruff format
tanhaow and others added 5 commits April 8, 2026 15:06
* Add device_map="auto" to enable GPU inference for HuggingFace models

Also move model inputs to the correct device before generation in
nllb_translate and madlad_translate.

* Add Della GPU job documentation and example Slurm script

* Update translate-della-gpu.slurm

* add comments

* Add cpu slurm job doc and sample script

* Add HF_HUB_CACHE path in gpu slurm job script

* combine cpu and gpu instructions into one doc

* Revert "combine cpu and gpu instructions into one doc"

This reverts commit 164e663.

* Combine CPU and GPU Della instructions into one doc

* Rename della.md to della-instructions.md

* Address PR review feedback on Della docs and slurm scripts

- Fix tensor device placement in translate.py: use .to(model.device) on
  tokenizer output directly instead of iterating the dict
- Rewrite della-instructions.md: add scratch storage info, conda env
  setup, HF cache setup, CPU vs GPU job differences, logging detail
- Update slurm scripts: use bash positional args, rename account
  placeholder, add header comments, remove mem-per-cpu from GPU script,
  remove mail-type default

* Combine slurm scripts and expand Della documentation

- Merge translate-della-cpu.slurm and translate-della-gpu.slurm into a
  single translate-della.slurm; GPU-only lines are commented out with ##SBATCH
- Update della-instructions.md to reference the combined script and
  document default configuration (time, memory, CPU vs GPU differences)

* remove the optional verbose flag

* ruff format

* Address second round of PR review feedback

- Add --partition=mig as commented-out GPU option in slurm script
- Add argument validation to slurm script
- Add comments explaining module load and conda env activation
- Add comment noting logs location is hard-coded
- Rename Setup section to 'Set up the muse working directory'
- Separate git clone and mkdir into explicit steps in doc
- Expand conda env explanation: why conda instead of uv, workaround context
- Remove scp cache copy option (non-trivial, loads model/tokenizer)
- Flag CDHRSE group access detail for @rlskoeser to confirm

* Update della-instructions.md
* Update metrics.py

* ruff format

* Add qualitative analysis marimo notebook

* Update notebook to use Phase 1 data paths and add missing dependencies

- Add DATA_DIR variable pointing to Phase 1 data directory
- Update all data paths to canonical Phase 1 structure
- Add scipy and pandas to pyproject.toml dependencies
- Exclude notebook from ruff linting

* Add more notes and analysis

* Revise notebook to address PR #64 review feedback

- Replace quantitative analysis (sections 1-4) with a qualitative
  translation browser, aligning the notebook with issue #17
- Split browser into two sections: Translations and Backtranslations
- Add DATA_DIR variable at top for configurable data path
- Broaden ruff exclude to cover entire notebooks/ directory

* Rewrite notebook as mt_browser.py per review feedback

- Rename to mt_browser.py
- Use full sentence corpus (mt-sents-*.jsonl, 854 rows, 4 models including madlad)
  instead of annotation subset (notion-concept-tasks.jsonl, 300 rows)
- Add sentence backtranslations section (en→* directions)
- Replace mo.ui widgets with native marimo dataframe viewer for full-text hover
- Remove metric descriptions from notebook header
- Split into 4 sections: sentence translations, sentence backtranslations,
  paragraph translations, paragraph backtranslations

* Remove unused dependencies from pyproject.toml

altair, pandas, scipy, nbformat, nbconvert, and playwright were added
for the previous notebook version and are no longer used.

* Fix ruff config per review feedback

- Change extend-exclude to notebooks/*.py (more precise)
- Remove per-file-ignores section for notebooks (redundant when excluded)

* Drop madlad from sentence corpus per review feedback

madlad was replaced by TranslateGemma in our working set of models.
* Updated and added additional docs

* Clean up project dependencies

* Minimal fix to broken test script

* Add license info to readme

* Move developer notes & update readme

* Added changelog and license headers

* Added yamlfmt config file and added licensing instructions into
developer notes

* Add changelog GitHub action and update ruff checks
@laurejt laurejt marked this pull request as ready for review April 21, 2026 19:24
@laurejt laurejt requested a review from rlskoeser April 21, 2026 19:24
@laurejt laurejt merged commit 6eef5e0 into main Apr 21, 2026
2 checks passed
@laurejt laurejt deleted the release/0.1 branch April 21, 2026 19:31
@laurejt laurejt linked an issue Apr 21, 2026 that may be closed by this pull request
13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

release v0.1

3 participants