计算化学公社

 找回密码 Forget password
 注册 Register
Views: 487|回复 Reply: 2
打印 Print 上一主题 Last thread 下一主题 Next thread

[科研杂谈] Windows系统下本地版Standford Storm试用笔记

[复制链接 Copy URL]

486

帖子

1

威望

1134

eV
积分
1640

Level 5 (御坂)

A Student

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 student0618 于 2025-3-24 14:13 编辑

0. 前言
网上有不少AI辅助整理文献的工具,其中Standford Storm (https://github.com/stanford-oval/storm) 是个开源、免费的library,特色是会模拟几位不同领域的“专家” 去讨论课题、再总结成一份报告。这工具会先用搜寻引擎找资料,再用LLM整理、生成一篇有引用资料来源的总论。

Standford Storm有一个server可用Google Account登入(我没试),而开放的源码可在github下载。
刚好我的学校有给学生每月的ChatGPT token配额,本想善用资源,却很反感直接用ChatGPT会生成fake reference,对资料真正的作者非常不尊重。偶尔看到有朋友推荐这Storm工具可下载、可自选不同LLM,便花了个周末看看能不能用完本月的token。

非专业、纯属试玩,我写的是完全不客观的个人观点和比较客观试错毕记。个人的python目前是只懂看及基本debug程度,暂无法回答深入的问题。

1. 安装流程
1a. 测试系统
  • Microsoft surface pro 7 16GB,intel i7 cpu(普通文书用触控式平板电脑)
  • 这电脑OS是Windows 10 ,没试其他OS,理论上用linux 更佳?
  • Miniconda3 windows 64-bit 自带的 Anaconda PowerShell prompt
  • Torch用的是cpu版
  • 源码是github上2025年1月22日版本,测试日期是2025年3月22-23日。

1b. 安装knowledge storm
  • git clone 或网页版下载源码
  • cd 到storm的directory
  • 按照README文件 create conda environment、activate 及pip install -r requirements.txt
  • Search engine API 我选用的是可以直接用自己的github帐号 login的tavily free plan, 每月上限1000 credits。未必是最好的选择,胜在不绑卡。因此也要pip install tavily-python。
  • 在同一目录开新文件secret.toml放各种API key及LLM server网址,参考README的例子。我的学校提供的GPT是Microsoft Azure的服务,因此OPENAI_API_TYPE="azure",还要加一行AZURE_OPENAI_ENDPOINT="学校提供的API endpoint网址"。我这次选用了tavily search engine API,因此也要加TAVILY_API_KEY="我的tavily API key"。
  • 复制examples/storm_examples/run_storm_wiki_gpt.py到当前目录并修改model name。这脚本的openai_kwargs["api_base"] = os.getenv("AZURE_API_BASE") 也要改成 openai_kwargs["azure_endpoint"] = os.getenv("AZURE_OPENAI_ENDPOINT")。具体不同服务提供者或有不同,应参考error message提示。

1c. 安装lightweight demo GUI
  • cd .\frontend\demo_light
  • 按目录下README.md指示pip install -r requirements.txt安装GUI用的库
  • 安装的是源码,所以需要Uncomment demo_util.py中import sys及sys.path.append('../..')这两行。

2. 使用笔记
由于Demo GUI给的code里头生成文章的interface没写用tavily的code,没时间改用不了他开new article。因此我用command line跑storm生成文章,用GUI来看稍稍排版整理过、citation附连结的results。

2a. 生成文章

  • 回到storm的主目录
  • 确认API KEY等放好后运行
    1. python run_storm_wiki_gpt.py --output_dir ".\frontend\demo_light\DEMO_WORKING_DIR" --do-research --do-generate-outline --do-generate-article --do-polish-article --remove-duplicate --retriever tavily
    复制代码

  • 稍等几分锺,待“Topic: ”一行出现时输入要生成的文章主题后回车,topic不可有-或_以外的标点。
  • 因为打算稍后用GUI看结果,因此这边Output dir设爲".\frontend\demo_light\DEMO_WORKING_DIR"
  • 程序会先在Output Dir新增一个名字是所输入topic的资料夹,topic太长的话会自动资料夹名字减掉,不影响实际使用。
  • 输入Topic后等他自动跑找资料、LLM生成文章等步骤。试用时最后两步的LLM log及summary有报错,但因没影响生成文章故没有理会,也没时间修。

2b. 用GUI看结果
  • cd 到 frontend\demo_light 目录
  • 确认2a生成的文件都在DEMO_WORKING_DIR后运行
  1. streamlit run storm.py
复制代码

  • 浏览器会打开Storm视窗,首次使用可能会有防火墙的提示。
  • 等一会儿让他加载后可以在“My Articles”下方找到先前生成的文章
  • 选择其中一个Article后,scroll到最下方“Click here to view the agent's brainSTORMing process!"可以查看“虚拟专家”agents们的“受访内容”

2c.备注:

  • 本来装了duckduckgo的API打算比较比较,他能跑却卡rate limit,没再试了。
  • 也想过用Google Search API,但没时间。而且如果决定用Google account我大概会直接用Standford Storm的server懒得折腾local installation了。
  • CoStorm 我试了几遍还在给error或page not found,就没多花时间排查了,真想试的话大概会用官方的server。


3. 感想及总结
  • 生成的报告大概是中规中矩的本科生作业程度,比自己本科时deadline前半小时写的专题报告好些。试了几个不同课题,big picture大概ok的,深入些的内容会理解错误或跑题。这和不少对资料一知半解、囫囵吞枣的学生一样。
  • 生成的框架、行文、思路、(部分用词)可以用作不错的参考,但不应直接拿来用,这样做除了不道德还会被行内人取笑。对于打算偷懒用他来交作业的同学来说是很不错...的教训(i.e.是个陷阱),用这个生成报告给我改的话,我会很愉快地批改并大力嘲笑他们。
  • 用Abbreviations也可以,如MD,不过较冷门的概念会出错,用full name较好。也不是整篇都错,可能一个段落用对、一个段落用错;或者是report正文用对、但“虚拟专家对话”时用得不对。
  • Topic包含多于一个概念的话可能会混乱,尤其是不常见的组合。例如X improvement of method Y to do Z,他可能会给只给X+Y/X+Z/Y+Z的内容 ,或者没连贯性地分开讨论X Y Z。
  • 部分内容离题,也有抓错/漏concept/keywords的时候,如Hamiltonian replica exchange 有时变成 temperature replica exchange(只抓到replica exchange);讨论MD算的binding free energy很突兀地谈QM算的energy。
  • 搜寻引擎找到到含Non-ASCII character的资料(如希腊字母Tau)后喂给LLM时会报错,停在找资料阶段。
  • “虚拟专家”们的分工未必明确,有时也会只出现一位“basic fact writer”。例如我测的其中一个课题和蛋白质-小分子结合相关。几位“虚拟专家”包括一位computational chemist、一位biochemist。照理说会expect后者给点实验角度的讨论,但这两个agent都在聊用docking算binding free energy,内容高度重複。
  • 当然,这些缺点有可能是选用的Search engine或LLM可以再优化的关系,例如search engine改用Google可能更好。可选用的LLM我也只是试用了GPT-4o和4o-mini,没试其他。
  • 个人意见:目前LLM还是最适用于语言学习,不担心个资的话或许用作心理咨商也可能。用于其他目的要特别小心谨慎。
  • 测试了少于30遍,约4-5个课题,每个课题几种不同句式不同长度的topics,而当中有几次是搜寻后才报错的。搜寻引擎API tavily的credit用了约400个,接近free plan 每月上限的一半。LLM token用量因为报错没显示,但暂时还没有超过学校gpt-4o或gpt-4o-mini的每月上限。

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
Serious + 3 谢谢分享

查看全部评分 View all ratings

敬仰一针见血的指责,厌倦别有用心的赞美。

166

帖子

0

威望

3347

eV
积分
3513

Level 5 (御坂)

2#
发表于 Post on 2025-5-14 11:12:27 | 只看该作者 Only view this author
现在与perplexity,密塔AI对比,效果如何呢

486

帖子

1

威望

1134

eV
积分
1640

Level 5 (御坂)

A Student

3#
 楼主 Author| 发表于 Post on 2025-5-14 11:44:21 | 只看该作者 Only view this author
本帖最后由 student0618 于 2025-5-18 16:52 编辑
neocc 发表于 2025-5-14 11:12
现在与perplexity,密塔AI对比,效果如何呢

沒特别比较,玩这个就是为了用学校给的token,也是因为可以在本地跑不必用服务器。也为了试试那些不同角度的“虚拟专家”能不能取代一些累人的社交。

近来要Practically用AI都在用grok3了,算是理解能力较理想的,直接用的话功能也算全面。例如给grok我的报告大纲让它帮忙找漏、给它exam board老师的背景跟研究方向让它猜老师会问的问题、跟实验组聊研究时可以用什么来比喻MD等。

当然不是全都有用,很多时候还是会抓错重点,注意小心查核就好,某些重要的statement (如X outperforms Y based on Z analysis那种用来支持自己论点的句子)一定要检查原文。
敬仰一针见血的指责,厌倦别有用心的赞美。

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2025-8-13 22:16 , Processed in 0.153990 second(s), 21 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list