Overview
STORM is an open-source knowledge-curation system from Stanford OVAL that turns a topic prompt into a long, citation-grounded, Wikipedia-style article. It splits the job into two stages — research and writing — so the LLM has structured material to draw from instead of being asked to write a long article from memory.
In the research stage STORM first discovers different perspectives on the topic, then runs simulated conversations between a writer agent and an expert agent grounded in web search results, building up an outline and a set of citations. In the writing stage it generates the full article section by section against those citations. A companion mode, Co-STORM, opens the loop so a human can collaborate with the agents while they research.
STORM is built on DSPy, which makes its components modular and tunable. It supports multiple retrieval back-ends — You.com, Bing, DuckDuckGo, Tavily and document-based retrievers — and works as a library you can drop into your own pipeline or via the hosted demo at storm.genie.stanford.edu.
What it does
- Two-stage pipeline: perspective-guided research, then long-form sectioned writing
- Simulated writer↔expert conversations grounded in retrieved web results
- Co-STORM mode where humans collaborate with the agents during research
- Modular DSPy-based architecture so language models and retrievers can be swapped
- Multiple retrieval back-ends: You.com, Bing, DuckDuckGo, Tavily, document search
- Outputs an outline plus a long article with inline citations
Getting started
Install the knowledge-storm package, configure a language model and a retriever, then call STORMWikiRunner to research a topic and generate the article.
Install knowledge-storm
STORM is published on PyPI as the knowledge-storm package.
pip install knowledge-stormSet provider API keys
Export keys for the LLM provider and the retriever you want to use (the README lists the supported back-ends).
export OPENAI_API_KEY=sk-...
export YDC_API_KEY=... # You.com retrieverRun STORM on a topic
Wire a language-model config and a retriever module into STORMWikiRunner, then run it with do_research and do_generate_article enabled.
from knowledge_storm import STORMWikiRunner, STORMWikiRunnerArguments, STORMWikiLMConfigs
from knowledge_storm.lm import LitellmModel
from knowledge_storm.rm import YouRM
lm_configs = STORMWikiLMConfigs()
engine_args = STORMWikiRunnerArguments(output_dir="./out")
retriever_module = YouRM(ydc_api_key="...", k=3)
runner = STORMWikiRunner(engine_args, lm_configs, retriever_module)
runner.run(topic="Small language models", do_research=True, do_generate_article=True)Commands and code are distilled from the project's own documentation — always check the official repo for the latest.
When to use it
- Pre-writing a long article on an unfamiliar topic before a human editor takes over
- Generating internal topic primers that come with citations to the underlying sources
- Researching a topic interactively as a team using Co-STORM
- Studying or extending agent research pipelines built on DSPy
How STORM compares
STORM alongside other open-source agent frameworks & builders tools AI/TLDR tracks, ranked by GitHub stars.
| Tool | Stars | What it does |
|---|---|---|
| AutoGPT | ★ 186k | One of the earliest autonomous agent projects, now a platform for building and running agents from reusable blocks and workflows. |
| Agno | ★ 41.6k | A fast Python framework (formerly Phidata) for building agents with memory, tools, and multimodal inputs, plus a runtime for deploying them in production. |
| LangGraph | ★ 38.8k | A library from the LangChain team for building stateful, graph-based agent workflows with explicit control over steps, memory, and human-in-the-loop checkpoints. |
| AgentGPT | ★ 36.3k | AgentGPT lets you name a custom AI, give it a goal, and watch it plan tasks, run them, and learn from the results, all from a web browser. |
| STORM | ★ 30.8k | LLM-powered knowledge curation system that researches a topic and writes a cited, Wikipedia-style article |
| Composio | ★ 29.5k | Composio is an open-source SDK for Python and TypeScript that gives AI agents ready-made tools to act on real apps and APIs across many agent frameworks. |
| GPT Researcher | ★ 28.8k | Autonomous research agent that searches the web (and local files) in parallel and writes long, cited reports on any topic. |
| smolagents | ★ 28.7k | A minimal agent library from Hugging Face where the model writes and runs Python code to call tools and complete tasks. |