计算化学公社
标题:
Windows系统下本地版Standford Storm试用笔记
[打印本页]
作者Author:
student0618
时间:
2025-3-24 01:37
标题:
Windows系统下本地版Standford Storm试用笔记
本帖最后由 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等放好后运行
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后运行
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的每月上限。
作者Author:
neocc
时间:
2025-5-14 11:12
现在与perplexity,密塔AI对比,效果如何呢
作者Author:
student0618
时间:
2025-5-14 11:44
本帖最后由 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那种用来支持自己论点的句子)一定要检查原文。
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3