Skip to content

Latest commit

 

History

History
48 lines (36 loc) · 2.34 KB

CONTRIBUTING.md

File metadata and controls

48 lines (36 loc) · 2.34 KB

Contributing

Thank you for your interest in contributing to STORM!

Contributions aren't just about code. Currently (last edit: 7/22/2024), we are accepting the following forms of contribution:

  • Pull requests for additional language model support to knowledge_storm/lm.py.
  • Pull requests for additional retrieval model/search engine support to knowledge_storm/rm.py.
  • Pull requests for new features to frontend/demo_light to assist other developers.
  • Identification and reporting of issues or bugs.
  • Helping each other by responding to issues.

Please note that we are not accepting code refactoring PRs at this time to avoid conflicts with our team's efforts.

Development

This section contains technical instructions & hints for contributors.

Setting up

  1. Fork this repository and clone your forked repository.
  2. Install the required packages:
    conda create -n storm python=3.11
    conda activate storm
    pip install -r requirements.txt
    
  3. If you want to contribute to frontend/demo_light, follow its Setup guide to install additional packages.

PR suggestions

Following the suggested format can lead to a faster review process.

Title:

[New LM/New RM/Demo Enhancement] xxx

Description:

  • For new language model support, (1) describe how to use the new LM class, (2) create an example script following the style of existing example scripts under examples/, (3) attach an input-output example of the example script.
  • For new retrieval model/search engine support, (1) describe how to use the new RM class and (2) attach input-output examples of the RM class.
  • For demo light enhancements, (1) describe what's new and (2) attach screenshots to demonstrate the UI change.
  • Please clearly describe the required API keys and provide instructions on how to get them (if applicable). This project manages API key with secrets.toml.

Code Format:

We adopt black for arranging and formatting Python code. To streamline the contribution process, we set up a pre-commit hook to format the code under knowledge_storm/ before committing. To install the pre-commit hook, run:

pip install pre-commit
pre-commit install

The hook will automatically format the code before each commit.