* feat: move to uv first * fix: update doc to uv first * fix: merge dev/tests into uv pyproject * fix: update docker docs to match current config * fix: migrate examples to readme * fix: add llmcompressor to conflict * feat: rec uv sync with lockfile for dev/ci * fix: update docker docs to clarify how to use uv images * chore: docs * fix: use system python, no venv * fix: set backend cpu * fix: only set for installing pytorch step * fix: remove unsloth kernel and installs * fix: remove U in tests * fix: set backend in deps too * chore: test * chore: comments * fix: attempt to lock torch * fix: workaround torch cuda and not upgraded * fix: forgot to push * fix: missed source * fix: nightly upstream loralinear config * fix: nightly phi3 long rope not work * fix: forgot commit * fix: test phi3 template change * fix: no more requirements * fix: carry over changes from new requirements to pyproject * chore: remove lockfile per discussion * fix: set match-runtime * fix: remove unneeded hf hub buildtime * fix: duplicate cache delete on nightly * fix: torchvision being overridden * fix: migrate to uv images * fix: leftover from merge * fix: simplify base readme * fix: update assertion message to be clearer * chore: docs * fix: change fallback for cicd script * fix: match against main exactly * fix: peft 0.19.1 change * fix: e2e test * fix: ci * fix: e2e test
4.1 KiB
Contributing to axolotl
First of all, thank you for your interest in contributing to axolotl! We appreciate the time and effort you're willing to invest in making our project better. This document provides guidelines and information to make the contribution process as smooth as possible.
Table of Contents
Code of Conduct
All contributors are expected to adhere to our Code of Conduct. Please read it before participating in the axolotl community.
Getting Started
Bugs? Please check for open issue else create a new Issue.
PRs are greatly welcome!
- Fork the repository and clone it to your local machine.
- Set up the development environment by following the instructions in the README.md file.
- Explore the codebase, run tests, and verify that everything works as expected.
Please run below to setup env
# Install axolotl + dev and test dependencies from lockfile
export UV_TORCH_BACKEND=cu128 # or cu130
uv sync --extra flash-attn --extra deepspeed --group dev --group test
source .venv/bin/activate
pre-commit install
# test
pytest tests/
How to Contribute
Reporting Bugs
If you encounter a bug or issue while using axolotl, please open a new issue on the GitHub Issues page. Provide a clear and concise description of the problem, steps to reproduce it, and any relevant error messages or logs.
Suggesting Enhancements
We welcome ideas for improvements and new features. To suggest an enhancement, open a new issue on the GitHub Issues page. Describe the enhancement in detail, explain the use case, and outline the benefits it would bring to the project.
Submitting Pull Requests
- Create a new branch for your feature or bugfix. Use a descriptive name like
feature/your-feature-nameorfix/your-bugfix-name. - Make your changes, following the Style Guidelines below.
- Test your changes and ensure that they don't introduce new issues or break existing functionality.
- Commit your changes, following the commit message guidelines.
- Push your branch to your fork on GitHub.
- Open a new pull request against the
mainbranch of the axolotl repository. Include a clear and concise description of your changes, referencing any related issues.
Skipping CI Checks
You can skip certain CI checks by including specific keywords in your commit messages:
[skip ci]orskip ci- Skips all CI checks for that commit[skip-e2e]orskip-e2e- Skips only end-to-end tests while running other CI checks. You may also include this in the title of your PR to disable end-to-end tests for the entire PR.
Style Guidelines
Code Style
axolotl uses Ruff as its code style guide. Please ensure that your code follows these guidelines.
Use the pre-commit linter to ensure that your code is formatted consistently.
pre-commit run --all-files
Commit Messages
Write clear and concise commit messages that briefly describe the changes made in each commit. Use the imperative mood and start with a capitalized verb, e.g., "Add new feature" or "Fix bug in function".
Additional Resources
Thank you once again for your interest in contributing to axolotl. We look forward to collaborating with you and creating an even better project together!