Mindket

STORM 知识整理与文章写作系统

新上架第 2 版 · 更新于
星标31.8k

概览

斯坦福开放虚拟助手实验室的开源系统,会在网上研究一个主题,写出带引用的长篇文章。Co-STORM 让你参与研究。安装说明涵盖 Python 包、模型、搜索服务、你自己的文档和演示界面。

STORM 知识整理与文章写作系统 是一款 GitHub 上的开源项目,属于研究类,由 Mindket 上架。可免费获取。当前为第 2 版,最近更新于 。按它的 README 从 GitHub 安装。Mindket 的设置说明可在你的 Mindket 账户获取,以 zip 压缩包下载。

速览

用在
  • 来自 PyPI 的 knowledge-storm 包,需要 Python 3.10 或更高版本
  • 仓库的一份副本,里面有示例脚本和 Streamlit 演示界面
  • 语言模型:README 说 litellm 支持的每一个模型都可以。示例脚本涵盖 OpenAI、Azure OpenAI、Anthropic、Google、DeepSeek 和 Groq,还有 VLLM 和 Ollama 服务器
  • 搜索来源:You.com、Bing、Brave、Serper、Tavily、SearXNG、DuckDuckGo、Azure AI Search 和 Google Search,或者通过 VectorRM 用你自己的文档
先运行
pip install knowledge-storm

平台

服务器可在其上运行

关于

它是什么

STORM 是一个语言模型系统,根据网上搜索,从零开始写出类似维基百科的文章。它由斯坦福开放虚拟助手实验室做出,名字是 Synthesis of Topic Outlines through Retrieval and Multi-perspective Question Asking 的缩写,意思是通过检索和多视角提问来合成主题大纲。写作前阶段收集参考资料并写出大纲。写作阶段把大纲和资料变成带引用的长篇文章。同一个包里的 Co-STORM 让你参与进来:你可以旁观,也可以引导 AI 专家和主持人之间的讨论。README 说成品还不能直接发表,但有经验的维基百科编辑觉得它对他们的写作前准备有帮助。这个条目讲的是这个 Python 包、它的示例脚本和它的演示界面的安装说明,由 Mindket 编写。

  1. 你给 STORM 一个主题
  2. 模拟的写作者和专家对话,收集资料来源
  3. 它根据收集到的内容写出大纲
  4. 它写出带资料引用的文章
  5. 它润色文章并保存文件

适合谁

需要在还不了解的主题上拿到一份带引用的初稿的人,比如学生、研究者、写作者和编辑。想在知识整理引擎上做开发的人可以改它的模块,因为 README 说 STORM 是以高度模块化的方式实现的。如果你要一篇成品文章,或者不想做任何设置,可以不用它。你得自己准备语言模型和搜索来源,作者也把这个包标为 Alpha。

谁在用,怎么用
行业谁在用怎么用例子
维基百科编辑有经验的维基百科编辑在写作前阶段使用生成的文章README 说有经验的维基百科编辑觉得 STORM 对他们的写作前准备有帮助。
研究和学习学生和研究者在一个新主题上读带引用的文章和它的大纲示例 README 的快速测试把 STORM 建立在 arXiv 摘要上,并建议用多模态模型在计算机视觉中的进展这类主题。
你自己的文档有一批文档的人用 VectorRM 把一次运行建立在自己文档的 CSV 上有人把文档列进一个有 content、title、url 和 description 四列的 CSV,和示例 README 里写的一样。
协作研究想在研究里有发言权的人运行 Co-STORM,引导专家研究者在 Co-STORM 脚本的 Your utterance 提示处输入一句话,引导讨论。
开发者在这个库上做开发的人添加模型或搜索引擎,或者修改模块CONTRIBUTING.md 把新增语言模型和搜索引擎支持列为作者接受的贡献。

用在哪里

STORM 是 Python 代码,你在终端里运行它。作者没有按操作系统给步骤。README 没有写任何技能、插件或 MCP 服务器,所以编程智能体只能替你运行它的命令。

  • 来自 PyPI 的 knowledge-storm 包,需要 Python 3.10 或更高版本
  • 仓库的一份副本,里面有示例脚本和 Streamlit 演示界面
  • 语言模型:README 说 litellm 支持的每一个模型都可以。示例脚本涵盖 OpenAI、Azure OpenAI、Anthropic、Google、DeepSeek 和 Groq,还有 VLLM 和 Ollama 服务器
  • 搜索来源:You.com、Bing、Brave、Serper、Tavily、SearXNG、DuckDuckGo、Azure AI Search 和 Google Search,或者通过 VectorRM 用你自己的文档

如何设置

点“获取”会把一个装有 Mindket 安装说明的 zip 压缩包存进你的下载文件夹,里面按作者的 README 和文档,为每条路线各写了一页。你要安装这个包,给它你的密钥,再运行一个示例脚本。

先准备好这些
需要说明
Python3.10 或更高版本。README 里的 conda 命令用的是 3.11
语言模型一个托管服务的密钥,或者你自己运行的服务器,比如 Ollama 或 VLLM
搜索来源一个搜索 API 密钥、DuckDuckGo,或者通过 VectorRM 用你自己的文档
源码副本运行示例脚本和演示界面需要。只装这个包,里面没有它们
  1. 安装这个包。它的依赖里固定了某一个版本的 dspy_ai,所以请用单独的环境。
  2. 要运行示例脚本,就克隆仓库并安装它的依赖,和 README 用 conda 的做法一样。
  3. 把你的密钥放进源码副本根文件夹里的 secrets.toml 文件。
  4. 带上一个检索器和四个阶段开关,运行一个示例脚本。
pip install knowledge-storm

从源码安装时,README 给出这几行:

git clone https://github.com/stanford-oval/storm.git
cd storm
conda create -n storm python=3.11
conda activate storm
pip install -r requirements.txt

如何使用

在源码副本的根文件夹里运行 GPT 示例脚本。这是 README 的第一个例子。

python examples/storm_examples/run_storm_wiki_gpt.py \
    --output-dir $OUTPUT_DIR \
    --retriever bing \
    --do-research \
    --do-generate-outline \
    --do-generate-article \
    --do-polish-article

脚本会问你一个主题,并把文件写进以这个主题命名的文件夹。四个 do 开关打开各自的阶段。你没打开的阶段会改为加载它保存的结果,所以可以只做一次研究,之后只重跑写作。

示例

你想对一个从没读过的主题有一份带引用的概览。你在 secrets.toml 里放进一个 OpenAI 密钥、OPENAI_API_TYPE="openai" 这一行和一个 Bing Search 密钥。然后在检出代码的根文件夹里,运行 README 的第一个例子:

python examples/storm_examples/run_storm_wiki_gpt.py \
    --output-dir $OUTPUT_DIR \
    --retriever bing \
    --do-research \
    --do-generate-outline \
    --do-generate-article \
    --do-polish-article

你在 Topic 提示处输入主题。运行结束后,主题文件夹里有大纲、文章和它用到的资料来源,见下表。

脚本写出的文件
文件内容
storm_gen_outline.txt用收集到的资料改进后的大纲
storm_gen_article.txt最终文章
storm_gen_article_polished.txt润色后的文章,前提是开了润色
url_to_info.json最终文章用到的资料来源
conversation_log.json查找信息的对话记录

url_to_info.json 列出最终文章用到的资料来源。把文章当作草稿来读,并对照这些来源核对其中的说法。README 说这样的文章往往需要大量修改。

新手与专家

新手:STORM 做的是一位认真的写作者动笔之前会做的事。它提问、读资料、列大纲,然后才写。README 说,会问好问题是自动化研究的核心,直接让模型提问效果不好。所以 STORM 先看相似主题的文章,找出不同的视角,再模拟一位维基百科写作者和一位主题专家之间的对话,对话以网上的资料为依据。你要自己提供两样外部的东西:语言模型和搜索来源。README 还链接了作者托管的研究预览,如果你只想看看它能做出什么,可以去那里。这些说明只涉及代码。

专家:引擎有四个模块:知识整理、大纲生成、文章生成和文章润色。每个模块在 knowledge_storm/interface.py 里有接口,在 knowledge_storm/storm_wiki/modules/ 下有实现。运行器有五个语言模型位置,README 建议对话模拟器用便宜一些的模型,文章写作用更强的模型。它的示例脚本前两个位置用 gpt-3.5-turbo,其余三个用 gpt-4o。

要让一次运行以你的文档为依据,VectorRM 会读取一个 Qdrant 向量库,你用 CSV 建好它,放在本地文件夹里,或者放在 Qdrant 服务器上。Co-STORM 有自己的运行器,有六个模型位置、一位主持人和一套轮次策略,README 指出要改的代码是 DiscourseManager。作者还发布了两个数据集 FreshWiki 和 WildSeek,STORM 论文背后的代码放在它自己的分支上。

注意事项

STORM 的代码在你的机器上运行,每次运行都会连到你设置的模型服务和搜索服务。

  • 模型和搜索调用:一次运行会把你的主题、它的提示词和它的搜索查询发给你配置的模型服务和搜索服务。README 和文档没有提到使用数据,也没有给出运行时间或费用数字。如果模型放在你自己的服务器上,比如 Ollama 或 VLLM,模型调用留在你那里,搜索查询仍然发给搜索服务
  • 你的文档:VectorRM 用你自己的 CSV 代替网上搜索。离线模式下向量库留在你磁盘上的文件夹里;在线模式下,脚本会把你的文档载入你指定的 Qdrant 服务器,比如 Qdrant 云服务器。它的示例脚本仍然调用 OpenAI 或 Azure OpenAI 的模型来写文章
  • 密钥:secrets.toml 以明文把你的密钥存在源码副本里。别把它放进你要推送的任何仓库
  • 旧的模型名:示例脚本用的是 2024 年的模型名,比如 claude-3 系列、gemini-1.5 系列和 llama3-70b-8192。先确认你的账号还能用每一个,不能用就改脚本
  • 运行参数:GPT 脚本的 --retriever 没有默认值,不给它就会报错停下。如果你一直遇到模型 API 的“Exceed rate limit”错误,就调低 --max-thread-num
  • 成熟度:setup.py 把这个包标为 Alpha,README 说这样的文章往往需要大量修改
  • 视频:这些视频来自第三方,这些说明没有核对它们的步骤。两者不一致时,按这些说明里的步骤做
  • 卸载:README 没有给卸载步骤。Mindket 的说明写了一次安装会创建什么,你可以手动删除
  • 许可证:MIT。LICENSE 文件写的是“Copyright (c) 2024 Stanford Open Virtual Assistant Lab”

README 和文件

README

STORM:安装说明

这个工具包里只有安装说明,由 Mindket 编写。STORM 和 Co-STORM 都来自 stanford-oval 的仓库:https://github.com/stanford-oval/storm

这些说明不是斯坦福大学或斯坦福开放虚拟助手实验室写的,也没有得到他们的认可。README 说 STORM “is a LLM system that writes Wikipedia-like articles from scratch based on Internet search”,意思是它是一个根据网上搜索、从零开始写出类似维基百科文章的语言模型系统,又说 Co-STORM 让人和这个语言模型系统一起工作。代码是一个 Python 库,叫 knowledge-storm。来源:https://github.com/stanford-oval/storm/blob/main/README.md

许可证:MIT。LICENSE 文件(https://github.com/stanford-oval/storm/blob/main/LICENSE)是 MIT 许可证的文本,写的是“Copyright (c) 2024 Stanford Open Virtual Assistant Lab”。knowledge-storm 在 PyPI 上的页面(https://pypi.org/project/knowledge-storm/)写的是同一个许可证。

README 说这个系统“cannot produce publication-ready articles that often require a significant number of edits”,意思是它写不出可以直接发表的文章,这样的文章往往需要大量修改,又说有经验的维基百科编辑觉得它对他们的写作前准备有帮助。这个包的 setup.py(https://github.com/stanford-oval/storm/blob/main/setup.py)把它标为“Development Status :: 3 - Alpha”。

会安装什么

  • PyPI 上的 knowledge-storm Python 包。它的依赖来自 requirements.txt(https://github.com/stanford-oval/storm/blob/main/requirements.txt)和 PyPI 页面:dspy_ai==2.4.9、wikipedia==1.4.0、sentence-transformers、toml、langchain-text-splitters、trafilatura、langchain-huggingface、qdrant-client、langchain-qdrant、numpy、litellm 和 diskcache。
  • 或者是仓库的一份副本,里面还有 examples/ 里的示例脚本和 frontend/demo_light/ 里的 Streamlit 演示界面。
  • 没有别的了。这些说明用到的 README 和文档没有提到技能、插件或 MCP 服务器,也没有写任何用编程智能体的做法。编程智能体只能替你在终端里运行下面的命令。

事先需要准备

  • Python 3.10 或更高版本。setup.py 写的是 python_requires=">=3.10",README 里的 conda 命令用的是 Python 3.11。
  • 一个语言模型。可以是托管服务的密钥(示例脚本涵盖 OpenAI、Azure OpenAI、Anthropic、Google、DeepSeek 和 Groq),也可以是你自己运行的服务器(VLLM 或 Ollama)。这个库接受 litellm 支持的任何模型。见 setup/models-and-search.md 和 setup/local-models.md。
  • 一个搜索来源:搜索 API 密钥(You.com、Bing、Brave、Serper、Tavily 或 Azure AI Search)、SearXNG 服务器的地址、DuckDuckGo,或者通过 VectorRM 用你自己的文档。见 setup/models-and-search.md、setup/local-models.md 和 setup/own-corpus.md。
  • README 和示例 README 没有按操作系统给步骤,也没有给运行时间或费用数字。

主要的安装命令

pip install knowledge-storm

想改变 STORM 的行为,就改从源码安装:

git clone https://github.com/stanford-oval/storm.git
cd storm
conda create -n storm python=3.11
conda activate storm
pip install -r requirements.txt

来源:https://github.com/stanford-oval/storm/blob/main/README.md 的 Installation 部分

各条路线的说明

  • setup/library.md:pip 包和它的 STORMWikiRunner 类
  • setup/from-source.md:源码副本、secrets.toml 和第一次 STORM 运行
  • setup/models-and-search.md:每个示例脚本读取的模型和搜索设置
  • setup/local-models.md:VLLM 和 Ollama
  • setup/own-corpus.md:让 STORM 以你自己的文档 CSV 为依据
  • setup/co-storm.md:协作模式
  • setup/demo-ui.md:Streamlit 演示界面

更新或卸载

README 没有给卸载步骤。关于更新这个包,它 2024/09 的那条新闻给出了 pip install knowledge-storm --upgrade。

一次安装会创建什么:pip 包,你克隆出来的 storm 文件夹,如果你用了 README 里的那一行,还有一个叫 storm 的 conda 环境,一个存着你密钥的 secrets.toml 文件(演示界面还有它放在 .streamlit/ 里的副本),示例脚本写出的输出文件夹(默认是 ./results/...),VectorRM 的向量库文件夹(默认是 ./vector_store),以及演示界面的 DEMO_WORKING_DIR 文件夹。把你创建的东西删掉就行。

哪些东西会离开你的机器

一次运行会把你的主题和提示词发给你配置的语言模型,把查询发给你选的搜索服务。VectorRM 让一次运行以你自己的文档 CSV 为依据,不再用网上搜索,但它的示例脚本仍然调用 OpenAI 或 Azure OpenAI 的模型。在线模式下,脚本还会把你的文档载入你指定的 Qdrant 服务器,比如 Qdrant 云服务器。离线模式下,向量库留在你磁盘上的文件夹里。这些说明用到的 README 和文档页面没有提到使用数据。

README 链接了一个托管的“Research preview”:https://storm.genie.stanford.edu/。它是作者另外托管的服务。这些说明只涉及代码。

来源

  • README:https://github.com/stanford-oval/storm/blob/main/README.md
  • 示例 README:https://github.com/stanford-oval/storm/blob/main/examples/storm_examples/README.md
  • 演示界面的 README、requirements 和代码:https://github.com/stanford-oval/storm/blob/main/frontend/demo_light/README.md、https://github.com/stanford-oval/storm/blob/main/frontend/demo_light/requirements.txt 和 https://github.com/stanford-oval/storm/blob/main/frontend/demo_light/demo_util.py
  • Contributing:https://github.com/stanford-oval/storm/blob/main/CONTRIBUTING.md
  • setup.py 和 requirements.txt:https://github.com/stanford-oval/storm/blob/main/setup.py 和 https://github.com/stanford-oval/storm/blob/main/requirements.txt
  • PyPI 页面:https://pypi.org/project/knowledge-storm/
  • 示例脚本:https://github.com/stanford-oval/storm/tree/main/examples
文件
README.md  6 KB
setup/co-storm.md  5 KB
setup/demo-ui.md  4 KB
setup/from-source.md  4 KB
setup/library.md  3 KB
setup/local-models.md  4 KB
setup/models-and-search.md  4 KB
setup/own-corpus.md  5 KB

8 个文件,共 37 KB,以 zip 压缩包下载。

更新内容

  • 第 2 版 · 2026-11-09

    Updated by Mindket to the current version of this kit.

  • 第 1 版 · 2026-11-03

评价

还没有评分

写评价

还没有评价。

大家怎么说

Hacker News、Bluesky、X、Reddit、Facebook 和 YouTube 上提到这个项目的帖子和评论,来自每周一次的搜索和 Trendshift。它们不是 Mindket 写的,也未经核实,点开即可在原帖处阅读。

GavCoStorm: LLM system that researches a topic and generates full-length wiki article123 分 · 97 条回复Tom Dörrhttps://github.com/stanford-oval/storm@VaibhavSisinty2. Khoj (37.8k stars) Your AI second brain. Chat with local or online models and get answers from the internet and your own documents, from PDFs to Notion files. https://t.co/a6PafX2lDrr/WebAfterAI8 open-source repos to build an AI research pipeline that can show its worksitkackSTORM: Get a Wikipedia-like report on your topicI like this, but the quality is lower and more voluminous than phind or perplexity. But I like the direction of the research. I'd like to be able to specify the output reduction prompts and to tweak the evaluation agents. This is "just" multi-agent summarization and synthesis. Most summarizers are…@lifeisameemeEveryone's sharing the "5 expert personas" prompt as if it's Stanford's STORM. It isn't. The real paper (NAACL 2024) finds perspectives from related articles, simulates writers interviewing a source-grounded expert, then builds an outline. Against an outline-driven RAG baseline, more STORM…r/SATNA_PROJECTAI research is getting ridiculous: 15 open-source projects that turn a question into sources, evidence, citations, and a reportakiselevSTORM: Get a Wikipedia-like report on your topicAnd the code: https://github.com/stanford-oval/storm@lisaasura_19和 AI聊了半个多小时,当它说出最可能赚到钱的位置,不是这套叙事里最性感的AI层,而是两头最无聊的环节。就很好理解了,像是我们的一些产品,本质上不需要多创新,反而是那些简单无聊的工具最赚钱。 基于斯坦福的这套框架,让 opus5.5做的调研技能 框架项目地址:https://t.co/q1NdYV5DsI 论文地址:https://t.co/jihAONfFOaisaacfungBetting on DSPy for Systems of LLMsThis repo has some less trivial examples. https://github.com/ganarajpr/awesome-dspy You can try STORM(also from Stanford) and see the prompts it generates automatically, it tries to expand on your topic and simulate the collaboration among several domain experts…@lisaasura_19和 opus聊了半个多小时,当它说出最可能赚到钱的位置,不是这套叙事里最性感的AI层,而是两头最无聊的环节。就很好理解了,像是我们的一些产品,本质上不需要多创新,反而是那些简单无聊的工具最赚钱。 基于斯坦福的这套框架做的调研技能 项目地址:https://t.co/q1NdYV55Da 论文地址:https://t.co/jihAONf7YC@lifeisameeme$7d

搜索日期

Mindket 的更多商品

查看 Mindket 的全部商品

Bonsai-27B-GGUF

lmstudio-community · 工具包

面向 LM Studio 的 27B Bonsai 模型 GGUF 转换版,含 3.80 GB 的 Q1_0 语言文件和 0.93 GB 的 BF16 视觉投影器。已测试文本、视觉和并行工具调用。

新上架

以每权重 2.9 位的 EXL3 量化运行 DeepSeek-V4.1-Flash-1017,这是一份 196 GiB 的副本,适合在自己硬件上部署大模型的人。困惑度与原模型相差不大。

新上架

MusicGen Small

facebook · 工具包

根据文字描述或音频提示生成短音乐片段,是 facebook MusicGen 的 small 检查点。适合想在自己电脑上试用文字生成音乐的开发者和音乐爱好者。

新上架

研究类的相似商品

查看研究类的全部商品

Merlin-Cancer-Super

AbdomenAtlas · 工具包

在 CT 扫描上检测并勾画 9 个器官的肿瘤,使用从放射学报告中学习的 R-Super 方法训练。这是面向医学影像团队的研究模型,采用非商业许可。

新上架

EarthJev

dBenf · 工具包

回答关于卫星图像块的类型化问题,使用 Sentinel-2 的全部 12 个波段,为每个选项返回概率,不生成文字。这是 Qwen3.5-0.8B 的微调版本,适合地球观测研究者。

新上架

getting-over-it-rl-jax

zimmerk4 · 工具包

用一个在 JAX 物理模拟器里学会的小型策略网络,从头到尾通关游戏 Getting Over It。适合强化学习研究者和好奇的动手爱好者。

新上架