Skip to content

Latest commit

 

History

History
67 lines (49 loc) · 3.54 KB

CONTRIBUTING.md

File metadata and controls

67 lines (49 loc) · 3.54 KB

Contributing to H2O LLM STUDIO

H2O LLM Studio is an open source project released under the Apache Software Licence v2. Open Source projects live by their user and developer communities. We welcome and encourage your contributions of any kind!

Bug Reports and Feature Requests

Found a bug or have an idea for a new feature? Your feedback is invaluable! To ensure a smooth and collaborative process, please follow these steps:

  1. Provide the full error message and stack trace, if applicable.
  2. Attach the model configuration yaml file if the error is related to model training.
  3. Specify the commit hash of the version you are using (running git rev-parse HEAD) in your report. If you are pasting the UI error message, the commit hash will also be included in the error message.
  4. If the error is reproducible, kindly include the steps to reproduce it.
  5. If possible, attempt to reproduce the error using the default dataset.
  6. Please mention any other details that might be useful, e.g. if you are using LLM Studio in a Docker container, etc.

Pull Requests

You can contribute to the project by fixing bugs, adding new features, refactoring code, or enhancing documentation. To ensure a smooth and collaborative process for everyone, please follow these guidelines:

  1. Check if the issue you plan to address is already reported. If not, please open a new issue to discuss your proposed changes.
  2. Avoid duplicating work by commenting on the issue you're working on and feel free to seek assistance or ask questions; our team is happy to help.
  3. Fork the repository and create a new branch from main. To develop, please follow the setup instructions below.
  4. Implement your changes and commit them to your branch.
  5. When you feel ready, open a pull request with your changes. You can also open the PR as a draft to receive early feedback. To facilitate the review process, we have provided a PR checklist below.
  6. Our team will review your pull request and provide feedback. Once everything looks good, we will proceed to merge your contribution.

Setting up your development environment

Follow the instructions in README to set up your environment. Run make setup-dev instead of make setup to install the development dependencies.

Running linters and tests

Before submitting your pull request, ensure that your code passes the linters and tests. To format your code, run make format. You can check for any style issues by running make style. To run the tests, run make test.

PR checklist

Please make sure your pull request fulfills the following checklist:

☐ The PR title should provide a clear summary of your contribution.
☐ Link the related issue (e.g., closes #123) in your PR description.
☐ If your contribution is still a work in progress, change the PR to draft mode.
☐ Ensure that the existing tests pass by running make test.
☐ Make sure make style passes to maintain consistent code style.

Installing custom packages

If you need to install additional Python packages into the environment, you can do so using pip after activating your virtual environment via make shell. For example, to install flash-attention, you would use the following commands:

make shell
pip install flash-attn --no-build-isolation
pip install git+https://github.com/HazyResearch/flash-attention.git#subdirectory=csrc/rotary

For a PR, update the Pipfile and the Pipfile.lock via pipenv install package_name.