概览
ChemCrow 是一个使用工具的化学智能体软件包,旨在通过语言模型接口支持需要密集推理的化学任务。它基于 Langchain 构建,整合了化学软件和信息来源,包括 RDKit、paper-qa、Pubchem 和 chem-space。它的工作流程作用是将自然语言问题连接到专业工具,而不是作为独立的预测模型或化学数据库。
README 演示了一个 Python 接口:用户创建 ChemCrow 实例,并通过其 run 方法提交问题。示例涉及分子量查询和反应产物预测。示例中的输入是自然语言化学问题;文档说明交互会返回智能体响应,但来源摘录没有指定结构化输出模式。配置项包括语言模型选择、温度和流式输出设置。文档所述的设置需要 OpenAI API 密钥;Serp API 配置则为可选项。
对于逆合成规划和反应产物预测,ChemCrow 默认使用 RXN4Chem。README 指出该服务可能较慢且需要 API 密钥。文档还介绍了另一种方案:使用预制 Docker 镜像自行托管这些工具,并通过 local_rxn 设置选择该方案。这些集成属于外部依赖,并非 ChemCrow 内部开发的数据库或预测模型。
由于 API 使用限制,公开软件包并未包含 ChemCrow 论文中描述的所有工具;README 也明确警告,该仓库不会产生与论文相同的结果。所提供的打包源文件声明了 Python 要求,但不能据此确认经过测试的兼容性,也没有给出该仓库的性能结果。
主要功能
- 基于 Langchain 的智能体接口,可通过 ChemCrow.run 提交自然语言化学问题。
- 集成 RDKit 和 paper-qa,以及包括 Pubchem 和 chem-space 在内的化学信息来源。
- 由 RXN4Chem 支持的逆合成规划和反应产物预测。
- 可使用 README 中记录的 Docker 镜像自行托管反应预测和逆合成工具。
- 可配置语言模型选择、温度、流式输出及本地反应工具路由。
使用场景
- 拟议评估:按照 README 中的示例工作流程,将分子量问题的响应与独立核验的化学参考值进行比较。
- 拟议评估:使用具有已知参考结果的代表性案例,评估反应产物预测和逆合成规划。
- 拟议评估:探索 paper-qa 和化学数据库集成是否适用于化学文献研究工作流程,并将返回的信息与原始来源核对。
使用方式
- 阅读官方 README,了解智能体接口,并注意其中关于本软件包与论文所用工具集不同的警告。
- 查看 setup.py 中声明的 Python 要求和依赖项,然后按照 README 中的软件包安装说明操作。应将这些声明视为要求,而非经过测试的兼容性证明。
- 在环境中配置所需的 OpenAI API 密钥,不要将凭据放入共享笔记本或仓库文件中。只有在使用该可选集成时才配置 Serp API。
- 按照 README 中的 Python 示例创建 ChemCrow 实例,并提交一个分子量问题。在科研工作中使用响应前,请独立核验。
- 对于反应工具,可在默认的 RXN4Chem 服务和文档所述的自行托管 Docker 方案之间选择。有关 API 访问、容器设置和 local_rxn 设置,请参阅 README。
- 将评估范围与 ChemCrow 论文及其链接的实验仓库进行比较;不要假设公开软件包能够复现这些实验。