第250320期 - storm

23.4k star,生成高质量的报告,靠它了!

假如你是一个程序员,需要快速整理复杂的信息并生成高质量的报告,怎么办?面对繁杂的搜索结果和有限的时间,如何高效地获取准确、全面的信息?别担心,STORM 工具可以帮你解决这些问题!以下是它的简介、功能特点和开始使用的方法。

简介

STORM(Synthesis of Topic Outlines through Retrieval and Multi-perspective Question Asking) 是一个基于大语言模型(LLM)的知识整理系统。它能够从互联网搜索中收集信息,并生成类似维基百科的完整文章,附带引用。其衍生版本 Co-STORM 更进一步,支持人与AI的协同知识整理,为用户提供更贴合需求的信息探索体验。

功能特点

  1. 多步骤内容生成

    • 预写阶段:系统通过互联网研究收集参考资料,并生成主题大纲。
    • 写作阶段:根据大纲与参考资料生成完整的文章,并附带引用。
  2. 智能提问策略

    • 多视角问题生成:通过对相似主题的已有文章进行分析,提出更深入的问题。
    • 模拟对话:模拟作者与主题专家之间的对话,帮助更全面地理解主题。
  3. 协作式知识整理(Co-STORM)

    • 动态概念图:实时更新信息的层次结构,帮助用户理清思路。
    • 交互式协作:用户可以观察对话或主动参与,引导讨论方向。
  4. 高度模块化:支持自定义不同语言模型、检索模块和生成模块,满足个性化需求。

如何开始

  1. 安装: 使用以下命令安装 STORM 库:

    pip install knowledge-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
    
  2. 运行示例

    • 快速运行 STORM:
      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
      
    • 使用 Co-STORM: 添加相关 API 密钥到配置文件 secrets.toml 后,运行:
      python examples/costorm_examples/run_costorm_gpt.py --output-dir $OUTPUT_DIR --retriever bing
      
  3. 定制化使用

    • 可以根据需求修改 STORM 的各个模块,包括知识整理、生成大纲、文章生成和文章润色模块。
    • Co-STORM 提供多种智能代理配置,支持自定义交互协议和转向策略。

总结

无论是快速整理信息、生成高质量文章,还是协同探索复杂主题,STORM 都能为你提供强大的支持。让它成为你下一步高效知识处理的得力助手吧!想要探索更多可能性,现在就尝试一下吧!

地址:github.com/stanford-oval/storm