STORM frontend modified.
- dotenv for env vars
- save result files as '*.md'
- add date to to top of the result file
- added STORM_TIMEZONE
- configure dark and light theme colors
- configure arize-phoenix in settings
- configure searxng and other search engines in settings
screenshots
article
creating new article with search and llm fallback options
add categories
configure search engines
dark and light themes
- Docker and Docker Compose
- Required API keys (see main STORM repository)
-
Clone the repository:
git clone https://github.com/jaigouk/storm_wiki.git cd storm_wiki
-
Set up environment variables:
cp .env.example .env # Edit .env with your preferred text editor to set the required variables
-
Set up Streamlit secrets:
cp secrets.toml.example secrets.toml # Edit secrets.toml with your preferred text editor to set the required secrets
-
Build and run the Docker container:
docker compose up --build
This command will build the Docker image and start the container. The app will be available at
http://localhost:8501
(or the port you specified in the .env file). If you want to use specific directory then changeSTREAMLIT_OUTPUT_DIR
. -
To stop the container:
docker compose down
After starting the app, you can configure various settings through the UI:
-
Configure search engines:
- Visit the settings menu and click Search settings
- Add necessary values. Note: Bing and You search are currently not usable, but you can use searxng, arxiv, duckduckgo
- Choose primary and fallback search engines
-
Configure LLM:
- Visit the LLM menu and choose primary and fallback LLM
- For ollama, you will see the localhost LLM list. Choose them with max tokens
- You can set a fallback LLM like OpenAI's gpt-4o-mini
-
Categories setting:
- Choose output directory (root directory for category folders)
- Edit and delete existing categories
- Create new category folders
To customize STORMWikiRunner settings, modify set_storm_runner()
in demo_util.py
. Refer to the main STORM repository for detailed customization options.
If you want to run the app locally for development:
- Install Python 3.10+
- Install dependencies:
pip install -r requirements.txt
- Run the Streamlit app:
streamlit run storm.py --server.port 8501 --server.address 0.0.0.0
If you encounter any issues with the Docker setup, ensure that:
- Docker and Docker Compose are installed and up to date
- The required ports are not being used by other applications
- Your .env and secrets.toml files are properly configured
For more detailed logs, you can run:
docker compose up --build --log-level DEBUG