浙大开源的SciToolAgent,如何用知识图谱驱动科研自动化?

在科学研究的漫长征途中,科研人员常常面临着繁杂的工具选择与任务执行难题。不同学科领域的研究任务需要调用多种专业工具,而工具之间的兼容性、任务流程的连贯性等问题,都极大地制约了科研效率的提升。为了解决这一痛点,浙江大学创新中心(HICAI-ZJU)开发了SciToolAgent,一个开源的知识图谱驱动的科学领域智能体,旨在通过整合海量科学工具,打破学科壁垒,实现科研流程的自动化与智能化。

一、项目概述

SciToolAgent是一个强大的工具框架,它将大型语言模型(LLMs)与科学工具知识图谱(SciToolKG)相结合,能够自动规划、执行并总结解决复杂科学任务的工作流程。该平台整合了超过500种科学工具,覆盖生物学、化学、材料科学等多个领域,可处理数据处理、分子建模、文献分析等关键科研任务。通过构建全面的科学工具知识图谱,SciToolAgent能够智能地为科研任务推荐最佳工具组合,实现从任务解析到结果生成的全链路自动化执行。

二、核心功能

(一)多工具集成与管理

SciToolAgent汇聚了500多种跨学科的科学工具,涵盖数据处理、分子建模、文献分析等多个科研场景。这些工具来自生物学、化学、材料科学等多个尖端领域,无论是基础研究还是前沿探索,都能为科研人员提供强大的支持。通过整合这些工具,SciToolAgent打破了学科之间的界限,实现了跨领域、跨功能的工具调用与协作,让科研人员能够在一个平台上轻松调用所需的各种工具。

(二)科研流程自动化

该平台实现了从任务解析、工具调度到结果生成的全流程自动化。科研人员只需清晰地定义任务目标、输入数据和预期输出结果,SciToolAgent便能自动执行任务。它能够自动规划工具的调用顺序,确保每个工具的输入输出无缝衔接,从而节省科研人员大量的时间和精力。这种自动化不仅提高了科研效率,还降低了人为误差的风险。

(三)领域知识图谱驱动

SciToolAgent的核心是其科学工具知识图谱(SciToolKG)。该知识图谱将500多种科学工具的功能、输入输出格式、依赖关系等信息编码为一个庞大的图结构。基于这个知识图谱,SciToolAgent能够对用户输入的科研任务进行语义理解,智能地选择合适的工具,并进行参数配置和执行流程规划。这种知识图谱驱动的方式,使得智能体具备更强的可解释性、规划能力和泛化性。它能够根据不同的任务需求,灵活地组合工具,生成最优的解决方案。

(四)多样化成果输出

SciToolAgent支持生成多种类型的科研成果,包括分析图表、数值计算结果和结构化报告等。无论是进行数据分析、分子建模还是文献综述,平台都能根据任务需求输出相应的成果形式。这种多样化的输出方式,满足了不同研究场景下的多样化需求,使科研人员能够更直观地展示研究成果。

(五)安全监控机制

平台内置了完善的安全监控机制,能够实时监测工具的运行状态。它会比对专业的毒性数据库,识别潜在的危险产物,并及时触发安全警告。此外,该机制还能防止生成有害分子或误用基因编辑工具,确保研究的合规性和伦理性。通过这一机制,SciToolAgent有效保障了工具运行的安全性,最大限度地避免了因操作失误或系统故障导致的错误结果。

三、技术揭秘

(一)知识图谱构建与应用

SciToolAgent的科学工具知识图谱(SciToolKG)是其核心技术之一。该知识图谱包含了1434个节点和3992条边,涵盖了500多种科学工具的功能、输入输出格式、依赖关系等信息。通过构建这个知识图谱,SciToolAgent能够从全局视角理解工具之间的关系,从而为科研任务智能规划工具调用链。基于知识图谱的检索增强生成(RAG)技术,大模型可以自动生成工具调用链,避免了“试错式”的执行。

(二)LLM多角色协同

SciToolAgent将大型语言模型(LLMs)作为规划器(Planner)、执行器(Executor)和总结器(Summarizer)。规划器利用知识图谱对科研任务进行语义理解,生成工具调用计划;执行器按照计划顺序执行工具,确保每个工具的输入输出正确无误;总结器则对多个工具的输出进行整合和总结,生成最终的解决方案。

(三)安全防护模块

SciToolAgent的安全防护模块是其保障科研安全的关键。该模块通过实时监测工具的运行结果,与专业的毒性数据库进行比对,能够及时发现潜在的危险产物。此外,它还设置了伦理约束,防止生成有害分子或误用基因编辑工具。

(四)灵活适配多规模模型

SciToolAgent支持多种规模的模型,包括GPT-4o、Qwen2.5-72B等。通过微调,7B的小模型性能也能接近大模型,从而降低了使用成本。这种灵活适配能力,使得SciToolAgent能够根据不同的科研需求和资源条件,选择合适的模型进行任务执行。

四、应用场景

(一)蛋白质工程

在生物医学研究中,蛋白质工程是一个关键领域。SciToolAgent能够自动设计和分析蛋白质结构。例如,科研人员可以通过输入蛋白质的序列信息和目标功能,让SciToolAgent自动调用相关的工具,如Chroma进行序列比对、ESMFold进行结构预测、ProDy进行动力学分析等。最终,平台会生成详细的蛋白质结构分析报告,为生物医学研究提供有力支持。

(二)化学反应性预测

化学反应性预测对于优化化学实验设计至关重要。SciToolAgent基于机器学习模型和化学知识图谱,能够预测化学反应的活性。科研人员只需输入反应物的分子结构信息,平台就能自动调用相关的机器学习模型和化学工具,分析反应物的性质,预测反应的活性,并生成预测报告。这不仅提高了化学实验的成功率,还节省了大量的实验时间和成本。

(三)化学合成路径规划

在化学合成研究中,规划合理的合成路径是提高合成效率的关键。SciToolAgent能够分析和规划化学合成路径。通过输入目标化合物的分子结构和合成条件,平台会自动调用相关的化学工具和知识图谱,分析可能的合成路径,评估每条路径的可行性和效率。最终,生成详细的合成路径规划报告,为化学合成研究提供清晰的方向。

(四)材料筛选与分析

在材料科学领域,筛选和分析新型材料是一个复杂而耗时的过程。SciToolAgent能够加速这一过程。例如,在金属有机框架(MOFs)的研究中,科研人员可以通过输入目标材料的性质要求,让SciToolAgent自动调用相关的材料数据库和分析工具。平台会根据知识图谱中的材料信息,筛选出符合条件的材料,并进行详细的性能分析。最终,生成材料筛选与分析报告,为材料科学研发提供有力支持。

(五)文献与数据分析

科研文献和实验数据是科学研究的重要基础。SciToolAgent能够处理和分析科研文献及实验数据。科研人员可以将文献文件或数据文件输入平台,让SciToolAgent自动调用相关的文本分析工具和数据处理工具。平台会对文献进行深度分析,提取关键信息,对数据进行处理和可视化。最终,生成文献分析报告或数据分析图表,辅助科研人员进行知识发现。

五、快速使用

(一)安装部署

1.克隆仓库:

首先,从GitHub上克隆SciToolAgent的开源代码到本地机器。在终端中运行以下命令:

git clone https://github.com/HICAI-ZJU/SciToolAgent.gitcd SciToolAgent

2.创建虚拟环境:

使用Conda创建一个新的虚拟环境,并激活它。运行以下命令:

conda create -n SciToolAgent python=3.10conda activate SciToolAgent

3.安装依赖:

安装项目所需的依赖包。运行以下命令:

pip install -r requirements.txt

如果只需要使用SciToolAgent的智能体部分,而不需要预配置的工具,可以安装`requirement_agent.txt`中的依赖包:

pip install -r requirement_agent.txt

如果遇到包冲突问题,可以使用以下命令安装项目而不安装其依赖项:

pip install --no-deps -e .

(二)配置环境变量

在`example.env`和`ToolsAgent/example.env`文件中,设置你的`API_KEY`和`API_BASE`。例如:

OPENAI_API_BASE = your_api_baseOPENAI_API_KEY = your_api_key

(三)运行工具服务

在`ToolsAgent`目录下,运行工具服务。如果需要使用某些基于AI模型的工具,还需要配置模型文件、路径和环境信息。具体修改可以参考`ToolsAgent/ToolsFuns`中的工具代码。

cd ToolsAgent./run.sh

(四)运行SciToolAgent

在`test`目录下,运行SciToolAgent的测试脚本。运行以下命令:

cd ../testPYTHONPATH=. python test_run_SciToolAgent.py

此外,平台还提供了`Cases.ipynb`案例文件,你可以在根目录中找到并运行这些案例。

(五)自定义工具

如果需要添加新的工具,可以按照以下步骤操作:

1. 创建工具文件

在`ToolsAgent/ToolsFuns`目录下创建一个新的Python文件,并定义工具函数。例如:

def custom_tool(parameter: str):# Your code herereturn result

2. 更新工具字典:将工具名称添加到`tool_name_dict.py`和`tools_dict.py`文件中。

3. 重启工具服务:重启工具服务以应用更改。

六、结语

SciToolAgent作为浙江大学创新中心(HICAI-ZJU)开发的开源科学工具平台,凭借其强大的多工具集成能力、全流程自动化执行、领域知识图谱驱动以及安全监控机制,为科研人员提供了一个高效、智能的科研助手。它不仅能够显著提升科研效率,还能帮助科研人员在复杂的跨学科研究中轻松应对各种挑战。

GitHub仓库:https://github.com/HICAI-ZJU/SciToolAgent

点亮“关注”,设为“星标”,精彩不迷路!与你携手探索AI的无限可能,精彩内容持续更新!🚀

举报/反馈
分享到: 微博 QQ 空间
对本文内容有合作意向?
我们将在 1 个工作日内与您联系
留言咨询