网站首页 > 资源文章 正文
如今互联网上的信息海量且繁杂,知识的获取和整理变得尤为重要,高质量的知识百科文章,总结了各领域各主体的知识,是人们入门了解世界万物的重要知识来源。
而 LLM 大模型的出现,使得知识百科的创作变得更为简单,人们对知识的获取和整理的门槛变得更低。STORM 项目,就为我们提供了一种创新的解决方案。
简介
STORM,即 Synthesis of Topic Outlines through Retrieval and Multi,是由斯坦福大学 Oval 实验室开发的一个大型语言模型系统,该项目的代码仓库位于
https://github.com/stanford-oval/storm 。STORM 的主要功能是基于互联网搜索,从零开始创作类似维基百科的知识百科类文章。
STORM 具有独特的设计理念和特色功能,其通过模拟对话的方式进行信息搜索和整理,从多个角度提出问题,来获取更全面和准确的信息。同时,系统中不同的组件可以由不同的模型驱动,例如在对话模拟、大纲生成和文章生成等环节,可以根据成本和质量的平衡选择合适的模型。
此外,Co - STORM 进一步增强了功能,允许用户与 LLM 系统协作,提供了更符合需求和偏好的信息搜索和知识整理。STORM 能够在预写作阶段,为知识百科编辑者提供很大的帮助。
STORM 把生成带引用的长篇文章的过程,分为两个步骤:
- 预写作阶段:系统基于互联网进行研究,收集参考文献并生成文章大纲。
- 写作阶段:系统利用大纲和参考文献生成带引用的完整文章。
自动化研究过程的核心在于自动提出高质量的问题,而直接提示大语言模型提问的效果并不理想。为了提高问题的深度和广度,STORM 采用了两种策略:
- 视角引导式提问:针对输入的主题,STORM 会通过调研相似主题的现有文章来发掘不同的视角,并利用这些视角来引导提问过程。
- 模拟对话:STORM 模拟维基百科编辑者与主题专家基于互联网资源展开对话,使大语言模型能够更新对主题的理解,并提出后续问题。
使用
STORM 提供了 Python 库便于使用,使用 pip 直接安装:
pip install knowledge-storm
也可以使用源代码安装的方式,便于对引擎进行修改,首先克隆仓库到本地:
git clone https://github.com/stanford-oval/storm.git
cd storm
然后使用 conda 创建 Python 环境,并安装必要的依赖:
conda create -n storm python=3.11
conda activate storm
pip install -r requirements.txt
STORM 库主要的功能集中在 STORMWikiRunner 类,以下是一个使用 you.com 搜索引擎和 OpenAI 模型的例子:
import os
from knowledge_storm import STORMWikiRunnerArguments, STORMWikiRunner, STORMWikiLMConfigs
from knowledge_storm.lm import LitellmModel
from knowledge_storm.rm import YouRM
lm_configs = STORMWikiLMConfigs()
openai_kwargs = {
'api_key': os.getenv("OPENAI_API_KEY"),
'temperature': 1.0,
'top_p': 0.9,
}
# STORM is a LM system so different components can be powered by different models to reach a good balance between cost and quality.
# For a good practice, choose a cheaper/faster model for `conv_simulator_lm` which is used to split queries, synthesize answers in the conversation.
# Choose a more powerful model for `article_gen_lm` to generate verifiable text with citations.
gpt_35 = LitellmModel(model='gpt-3.5-turbo', max_tokens=500, **openai_kwargs)
gpt_4 = LitellmModel(model='gpt-4o', max_tokens=3000, **openai_kwargs)
lm_configs.set_conv_simulator_lm(gpt_35)
lm_configs.set_question_asker_lm(gpt_35)
lm_configs.set_outline_gen_lm(gpt_4)
lm_configs.set_article_gen_lm(gpt_4)
lm_configs.set_article_polish_lm(gpt_4)
# Check out the STORMWikiRunnerArguments class for more configurations.
engine_args = STORMWikiRunnerArguments(...)
rm = YouRM(ydc_api_key=os.getenv('YDC_API_KEY'), k=engine_args.search_top_k)
runner = STORMWikiRunner(engine_args, lm_configs, rm)
STORMWikiRunner 实例可以通过简单的 run 方式启动:
topic = input('Topic: ')
runner.run(
topic=topic,
do_research=True,
do_generate_outline=True,
do_generate_article=True,
do_polish_article=True,
)
runner.post_run()
runner.summary()
入门的开发者可以先简单地运行样例尝试:
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
总结
STORM 项目是一个具有创新性和实用性的 LLM 系统,它利用互联网搜索和多视角提问的方式,为百科文章的创作提供了新的思路和方法。其独特的设计使得不同组件可以根据需求选择不同的模型,在成本和质量之间取得平衡。同时,Co - STORM 的协作功能进一步提升了系统的灵活性和适应性。
STORM 可以广泛应用于知识创作、信息整理和研究等领域。对于维基百科编辑者来说,它可以在预写作阶段提供有价值的参考和帮助,提高创作效率。而科研人员则可以使用 STORM 来进行整理和分析相关领域的信息,辅助研究工作。对于内容创作者,它可以作为一个灵感来源和信息收集工具,创作出更丰富、准确的文章。
猜你喜欢
- 2025-03-25 微软打击滥用生成式AI技术的全球网络犯罪网络Storm-2139
- 2025-03-25 吸擦一体,效率翻倍!小狗T12Storm Rinse评测
- 2025-03-25 斯坦福学术研究神器STORM再进化,AI智能体像人一样进行圆桌讨论
- 2025-03-25 一课译词:雨过天晴(雨过天晴出处)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)