Skip to content

An LLM-powered knowledge curation system that researches a topic and generates a full-length report with citations.

License

Notifications You must be signed in to change notification settings

MingqiWang-coder/storm

 
 

Repository files navigation

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.

About

An LLM-powered knowledge curation system that researches a topic and generates a full-length report with citations.

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%