Skip to content

Latest commit

 

History

History
59 lines (47 loc) · 2.33 KB

CONTRIBUTING.md

File metadata and controls

59 lines (47 loc) · 2.33 KB

Contributors Guide

The purpose of this document is to make it easy for open-source community members to contribute to this project. We'd love to discuss your contributions with you via a GitHub Issue or Discussion, or on Discord!

Checking Changes

This project uses a GitHub workflow to enforce code standards - it will execute the following commands, which can be performed locally for faster turnaround and a better developer experience:

cargo check
cargo test
cargo fmt --all
cargo doc --workspace --exclude llm-cli
cargo clippy --fix --allow-dirty -- -Dclippy::all

Regenerating GGML Bindings

Follow these steps to update the GGML submodule and regenerate the Rust bindings (this is only necessary if your changes depend on new GGML features):

git submodule update --remote
cargo run --release --package generate-ggml-bindings

Debugging

This repository includes a launch.json file that can be used for debugging with Visual Studio Code - this file will need to be updated to reflect where models are stored on your system. Debugging with Visual Studio Code requires a language extension that depends on your operating system. Keep in mind that debugging text generation is extremely slow, but debugging model loading is not.

LLM References

Here are some tried-and-true references for learning more about large language models: