1. 项目定位与用途
STORM全称为Synthesis of Topic Outlines through Retrieval and Multi-perspective Question Asking,是斯坦福大学Oval团队开源的LLM驱动知识策展系统,已发布为`knowledge-storm` Python包。其核心能力是自动围绕用户指定的主题开展网络研究,最终生成带引用的类维基百科长文;扩展版本Co-STORM进一步支持人机协作式知识策展,可让人类用户与AI协同完成知识内容的梳理与产出,相关研究成果已被NAACL 2024、EMNLP 2024接收。
2. 解决的问题
知识类长文(尤其是类维基百科条目)的传统撰写流程需要人工完成主题调研、多视角问题梳理、大纲搭建、内容撰写、引用溯源等多个环节,耗时久且对撰写者的专业背景要求高,难以快速产出结构完整、引用可靠的长文内容。STORM将上述全流程自动化,通过多视角问题探索与模拟对话机制提升调研深度,最终输出带引用的完整长文,大幅降低知识类内容产出的门槛与时间成本。
3. 适用场景
STORM适用于多类知识策展与内容产出的场景:一是学术研究预调研,可快速生成研究方向的综述性内容,辅助研究者快速了解领域现状;二是知识类内容创作,可快速产出主题长文初稿,降低创作门槛;三是维基百科编辑的预写作辅助,可快速搭建条目框架、收集参考资料,提升编辑效率;四是企业/团队知识库的自动化内容策展,可基于自有语料库生成标准化知识内容。
4. 安装方式
项目核心功能已发布为`knowledge-storm` Python包,可通过pip直接安装:执行`pip install knowledge-storm`即可获取最新稳定版本,v1.1.0起已集成litellm以支持更多语言模型与嵌入模型的接入。若需运行特定定制化示例或前端演示界面,可根据对应目录下的`requirements.txt`安装额外依赖,完成本地开发环境的配置。
5. 使用方式
使用前需先配置对应大语言模型与检索服务的API密钥,支持通过`secrets.toml`文件或环境变量两种方式配置,覆盖OpenAI、Azure OpenAI、各类网络搜索引擎、Qdrant向量数据库等服务的密钥配置。配置完成后可参考`examples`目录下的示例脚本调整参数运行:如`run_storm_wiki_gpt.py`演示基于GPT模型生成维基风格文章,`run_costorm_gpt.py`演示人机协作式知识策展流程;也可启动`frontend/demo_light`下的Streamlit轻量演示界面进行可视化操作。
6. 实现特点与补充说明
项目架构高度解耦,四大核心模块可独立替换适配:一是`storm_wiki`模块实现STORM核心Pipeline,包含大纲生成、知识策展、文章生成、文章润色等子环节,各环节可配置不同能力的大语言模型平衡成本与质量;二是`collaborative_storm`模块实现Co-STORM人机协作能力,包含协作引擎、专家生成、grounded问答等子模块;三是`rm`模块集成多源检索能力,支持网络搜索引擎、用户自定义向量语料库等多类数据源;四是`lm`模块统一封装多类大语言模型接入逻辑,降低多模型适配成本。