智能体使用经验 (GPU4)PySCF Agent 教学贴 | 陪你一起当量子化学大神

mhh · 2025年04月30日 · 最后由 ___-75 回复于 2025年05月19日 · 279 次阅读
本帖已被管理员设置为精华贴

1.引子 | 量子化学与化学实验的桥梁

量子化学堆砌在复杂的理论知识上,从 Hartree-Fock 方法、密度泛函理论到多组态、多参考态方法,构建了一套从简单到精确的多层次理论框架。这些方法各具特色:Hartree-Fock 方法奠定了量子化学计算的基础;而密度泛函理论以其效率与精度的平衡成为计算利器;更精确的多组态、多参考态方法则能捕捉电子关联效应,适用于强关联体系的研究。然而,这些理论方法的价值不仅在于其数学形式的美感,更在于它们与化学实验的深度互动。当实验观测遇到疑惑——例如反应中间体的捕获、催化活性位点的确认、复杂光谱的解析,量子化学能够将实验观测转变为电子结构描述,定量地做出预测和解释。这种理论与实验的协同,正推动化学研究从经验探索迈向精准设计的新阶段。

而架起量子化学理论与实验研究之间桥梁的,正是日新月异的量子化学计算软件。这些软件通过精巧的算法实现和持续的性能优化,将复杂的理论公式转变为可执行的计算流程,不仅为理论化学家提供了强大的研究工具,也为实验化学家提供了全新的研究视角。从最初功能单一的独立程序,到如今集成多种方法的计算软件和平台,量子化学软件在功能不断增强的同时,其操作复杂度也随之提升,形成了显著的技术门槛。

这一发展趋势与计算化学领域的整体进步相呼应。当前,计算工具的快速革新正推动着量子化学软件向智能化、用户友好化方向快速发展。在这一背景下,星使智算 GaliLeo 平台引入大语言模型和增强信息检索技术,开发了面向计算化学领域的专业 Agent。这些智能助手不仅简化了复杂软件的操作流程,更通过自然语言交互显著降低了使用门槛,代表着量子化学计算工具向智能化转型的重要突破。

本文将重点介绍GaliLeo平台的 PySCF Agent 和 GPU4PySCF Agent 的基本使用方法。在绍之前,有必要对底层计算软件 PySCF 和 GPU4PySCF 进行简要评述 PySCF 作为基于 Python 开发的量子化学计算软件,凭借其模块化架构和开发者友好的特性,已成为新算法开发的重要平台。该软件支持从 Hartree-Fock 到多参考态方法等多种计算方案,但其计算效率受限于严格的计算条件和收敛判据。近年来,随着 GPU 计算技术的快速发展,GPU4PySCF 程序包应运而生。该程序包通过 GPU 加速显著提升了 PySCF 的计算性能,特别是在处理大体系计算任务时展现出明显优势,大大拓展了 PySCF 在实际研究中的应用范围。

2.简介 | 使用 Agent 前的准备

  • 平台介绍:星使智算旗下 GaliLeo 平台上
  • 注册地址:GaliLeo
  • 所需信息:分子结构信息的 xyz 文件
  • 使用方式:通过自然语言交互,例如执行结构优化

3.示例 | 使用 GPU4PySCF 对 Vitamin_C 分子进行结构优化和激发态计算

  • step1:登录 GaliLeo 平台并使用 GPU4PySCF Agent
  • step2:输入计算任务类型: 输入执行分子的结构优化。输入后 Agent 会搜索知识库,明确任务的执行步骤:
  • step3:确认计算条件配置文件:

               (a) 输入好的复制吧。输入后 Agent 会复制格式为 config.json 的计算条件配置文件,并询问是否修改:

               (b) 不修改则配置完毕:

               (c) 若修改,则可令其打开,查看配置文件,并修改,以明确计算基组、泛函、优化器等。用户也可在交互界面自行打开复制来的 config.json 文件进行修改:

  • step4:上传分子的 xyz 文件并执行计算:

               (a) 明确计算条件后,Agent 会提醒用户上传分子:

               (b)Deepseek 等平台的交互界面设计相同,可在交互界面下方上传分子

               (c) 上传后即可执行计算:

  • step5:继续执行激发态计算:因为步骤与上面结构优化相似,此处不再赘述,仅展示任务开始和结束的情况。

  • step6:读取和下载计算结果:当前的 Agent 会在执行计算后先向汇报用户简略的计算结果,之后会询问用户是否根据计算日志或文件去读取信息,一般会生成 txt 文件。

               (a) 可令 Agent 去读取内容并向用户展示;

               (b) 用户可去交互界面“文件”出手动读取和下载文件:

4.总结

本文使用星使智算旗下GaliLeo平台部署的 GPU4PySCF Agent 执行了分子机构优化和激发态计算任务,PySCF Agent 的使用方法与之相同,未在本文给出。最后,欢迎各位姐妹和兄弟尝试 (GPU4)PySCF Agent,或对本文的内容甚至当前 Agent 的设计给出反馈和建议!

毛浩浩天下第一😭 😭 😭

admin 将本帖设为了精华贴。 05月02日 14:18

老师好~计算纯小白一枚,想请问 GPU4PySCF Agent 能支持 MOF 材料的单重态和三重态能级计算、自旋轨道耦合系数计算吗?我取了 MOF 一个单胞(原子数 100,含有金属原子)完全按照您的步骤进行结构优化和激发态计算,显示成功完成,但为什么 txt 里什么结果数据都没有呢,只有一条 No valid log data found,这种情况是原子数太多计算量太大不支持,还是我给他的 MOF 团簇结构可能有问题呢?

___-75 回复

哇!感谢你的反馈!(1) 目前部署的 GPU4PySCF Agent 还不支持周期性边界条件(或者说按材料)计算,但支持分子的计算,比如抽出一个单胞的部分去当作分子算。(2) 对于单重态和三重态的激发能计算 (TDDFT) 是支持的,但是要当作两个任务去进行,一个是算单重态,一个是算三重态;现在 Agent 在执行激发态计算任务时,初始复制过来的"计算条件配置文件" (gpu4pyscf_tddft_config.json),默认执行单重态计算,如果进行三重态计算,需要将 gpu4pyscf_tddft_config.json 中的 "singlet" 参数改为 false。另外,如果需要计算更多数量的激发态 (默认是 5),可以同时修改 gpu4pyscf_tddft_config.json 中的 "nstate" 参数。(3) 关于自旋轨道耦合系数计算,目前 Agent 并不支持,ORCA 量子化学软件具备这个功能。(4) a. txt 中读取数据失败,可能是任务实际未能成功执行,这种情况可能连 log 文件也是空白。b. 或者是输入文件的名字解析出问题,现在 Agent 对具有 "-" 的命名处理会有问题,这个问题在整改中,因此暂时建议不要出现含有"-"的命名。c. 还可能是使用的 GPU 的内存不够,因为当前使用 Agent 执行任务,默认使用的是两块 GPU,约提供 45 G 内存,若是这种情况,可缩小计算体系,或者在日后,随着 Agent 发展,使其能根据用户的需要去调配 GPU 数目。此外,用户当前可以通过调整计算条件配置文件的 threads 和 max_memeory 参数设置计算资源。(5) 目前,GPU4PySCF 开发者测试的 TDDFT 的计算尺寸,可以计算上百个原子,但是口述,未有文章报道。已报道的文章是执行单点能、受力和二阶能量导数的计算能力评估,可计算上百原子的体系。

感谢您清晰明了的耐心反馈!这几天抓紧按照您说的又去学习了下匮乏的理论知识,想着给您一个实施反馈。还有以下几点问题和建议想请教您:(1)按您说的抽出单胞去做了结构优化,一直不能输出结果文件,原因是 SCF 未收敛,Agent 建议将 scf_conv_tol 修改为 1e - 8,opt_max_cycle 修改为 200,并更换泛函为 pbe、基组为 6-31g,但无论是让它改还是自己编辑修改,都修改失败,这种情况怎么办呢?(2)请问 Agent 支持做限制性优化吗,具体怎么操作?因为想着是不是原子数太多导致结构优化失败,能否支持固定中心分子,只优化边界处补的氢。(3)Agent 结构优化后的输出文件,可以直接用于后续 ORCA 等软件做计算吗?(4)三重激发态计算目前尚未开始尝试,卡在了第一步结构优化。 建议:(1)可否精简一下命令次数呢,试用下来要跟 Agent 说好几遍“开始吧”,得到的都是相同的“待开始”回复(或者是不是我命令词错误)(2)编辑文件好像不能操作,编辑完点保存没反应,是不是修复一下~

@___-75 hi,你是哪个文件编辑不了?能发个截图让我确认一下吗?或者你尝试编辑之后,刷新一下页面,看看结果是不是其实已经更改了但是页面上没有反馈?

您好是这个文件,编辑刷新后还是没有更改成功。Agent 成功更改了 scf_conv_tol 为 1e - 8,但是后面改基组时,Agent 和自己手动编辑都没成功

___-75 回复

在开发者本地部署的版本中,手动修改文件是可以成功做到的,之后,我们会联系其他开发者重新查看这个问题。另外,从您分享的这个 config 文件来看,其中 "basis": "cc - pvdz" 应该会导致计算出问题,应该是 "basis": "cc-pvdz"。

___-75 回复

感谢您的反馈,下面尝试对您的问题作出回答:(1) 关于 SCF 不收敛是很常见的问题,除了 Agent 提供的放松收敛判据 (scf_conv_tol 修改为 1e-8) 、增加结构优化圈数 (opt_max_cycle 修改为 200),以及基组和泛函的修改外,还有其他的方法,但尚未被 Agent 支持,您可在微信搜索这篇文章《PySCF 程序包平均场计算的一些收敛技巧》了解。另外,SCF 收敛与计算体系十分相关,如果体系中含有金属元素,基组的选择是要特别考虑的,起码要足够大。此外,可以对金属元素和其他元素使用不同的基组。至于 config 文件修改失败的问题,目前您可再次尝试,在开发者测试中,并不存在这个问题,之后开发者也会进一步查看导致该问题的原因。(2) Agent 尚不支持限制性结构优化,使用 gpu4pyscf 和 pyscf 进行限制性结构优化,需要撰写 constrain.txt 文件以及使用 geometric 优化器进行优化 (benry 优化器好像不支持限制性结构优化)。您可参照 Github 上的这个 Issue [https://github.com/pyscf/pyscf/issues/2176] 了解。(3) Agent 结构优化后输出的文件,包括三个:(a) log 文件,记录计算过程,不可直接给其他量子化学软件使用;(b) h5 文件,保存了一些计算数据,也不可以被其他软件使用;(c) xyz 文件,包含优化后的结构,应该不能被 Orca 直接使用,但可提取其中的坐标信息撰写 Orca 需要的 .inp 文件。(4) 结构优化并非是执行激发态计算的前提条件,如果您的计算体系是从 XRD 拿到的,建议直接使用当前的结构进行激发态计算。最后,您的建议是十分重要的,在使用过程中,确实有这样的感觉,随着日后 Agent 的完善,会对此作出调整,当前这样设置的一部分原因是使得 Agent 进行明确的操作,以避免产生连串的 (像假想一样的) 错误操作。

感谢您的回复!我再尝试一下,谢谢~

需要 登录 后方可回复, 如果你还没有账号请 注册新账号