Introduction to STORM: Synthesis of Topic Outlines through Retrieval and Multi-perspective Question Asking
STORM, an acronym for "Synthesis of Topic Outlines through Retrieval and Multi-perspective Question Asking," is a sophisticated program developed to draft Wikipedia-like articles from scratch using internet-based research. Developed by a team at Stanford, the project aims to aid the pre-writing stages of article composition, enhancing the efficiency of knowledge exploration through automated systems. As humans increasingly interact with large language models (LLMs), STORM offers a new dimension by structuring complex information into readable and informative content.
Latest Updates
The project has seen numerous advancements. Most notably in September 2024, Co-STORM, a collaborative extension of STORM, was integrated into the knowledge-storm
Python package, enabling human-AI collaboration in knowledge curation tasks. You'll find Co-STORM's capacities expanding to support more interactive experiences for the users, aligning better with human preferences in information seeking.
How STORM Works
STORM's Process:
STORM's method for creating articles is split into two major stages:
- Pre-writing Stage: Initially, STORM conducts extensive research online to gather various sources and create a structured outline from this data.
- Writing Stage: Using the collected references and the outline, the system then proceeds to write a complete article, including citations.
To generate meaningful content, STORM employs two primary strategies:
- Perspective-Guided Question Asking: This involves exploring different perspectives on a topic by examining existing related articles, thereby enriching the depth of questions posed during research.
- Simulated Conversation: STORM simulates a dialogue between a hypothetical Wikipedia writer and a topic specialist, leveraging online sources to refine understanding and further inquiries.
What is Co-STORM?
Co-STORM introduces a collaborative protocol enabling multiple discourse agents to collaboratively create knowledge. This system integrates:
- Co-STORM LLM Experts: These agents curate answers grounded in reliable sources, also formulating follow-up questions.
- Moderator: Responsible for infusing the conversation with insightful queries based on newly discovered information.
- Human User: The person can either engage actively or passively to steer or observe the discourse.
The collaborative environment fosters a shared conceptual structure between the system and the user, using a dynamic mind map to assist in organizing and navigating the information.
Getting Started
Interested individuals can easily experiment with STORM by installing the knowledge-storm
library using pip. Developers are welcome to modify and customize the system for specific needs by accessing and altering the source code available on GitHub.
Technical Components
The STORM library currently supports an array of language models and search engines. It is highly modular, allowing additions and customizations to fit various academic or practical applications.
Community and Future Roadmap
Looking ahead, the STORM team is committed to refining human-in-the-loop functionalities—where users are more actively involved in knowledge extraction—and enhancing how information is abstracted for diverse presentation formats. They also encourage open contributions from the community and provide detailed guidance on replicating experimental results from their published papers.
Conclusion
STORM and Co-STORM stand at the forefront of integrating AI into knowledge synthesis. By complementing human intelligence with AI capabilities, these tools offer a promising future in crafting comprehensive and contextual articles, simplifying the exploration of vast information landscapes. To explore the potential of STORM yourself, the team invites you to try their live research preview and provide valuable feedback to continuously enhance their system.