ChemCrow 是一个用于准确解决推理密集型化学任务的开源软件包。
它基于 Langchain 构建,集成了多种化学工具(如 RDKit、paper-qa)以及相关的化学数据库(如 Pubchem 和 chem-space)。
由于 API 使用限制,本软件包未包含 ChemCrow 论文中描述的所有工具。因此,此仓库的运行结果与论文中展示的并不完全相同。
所有实验记录已发布在 ChemCrow runs。
pip install chemcrow
首先,在环境中设置您的 API 密钥。
export OPENAI_API_KEY=your-openai-api-key
您可以选择使用 Serp API:
export SERP_API_KEY=your-serpapi-api-key
在 Python 会话中:
from chemcrow.agents import ChemCrow
chem_model = ChemCrow(model="gpt-4-0613", temp=0.1, streaming=False)
chem_model.run("What is the molecular weight of tylenol?")
默认情况下,ChemCrow 依赖 RXN4Chem API 进行逆合成规划和反应产物预测。但这可能较慢,并且需要您拥有 API 密钥。
您可以选择通过运行预构建的 Docker 镜像来自托管这些工具。
运行以下命令:
docker run --gpus all -d -p 8051:5000 doncamilom/rxnpred:latest
docker run --gpus all -d -p 8052:5000 doncamilom/retrosynthesis:latest
现在,ChemCrow 可以这样使用:
from chemcrow.agents import ChemCrow
chem_model = ChemCrow(model="gpt-4-0613", temp=0.1, streaming=False, local_rxn=True)
chem_model.run("What is the product of the reaction between styrene and dibromine?")
Bran, Andres M., et al. "ChemCrow: Augmenting large-language models with chemistry tools." arXiv preprint arXiv:2304.05376 (2023).
@article{bran2023chemcrow,
title={ChemCrow: Augmenting large-language models with chemistry tools},
author={Andres M Bran and Sam Cox and Oliver Schilter and Carlo Baldassari and Andrew D White and Philippe Schwaller},
year={2023},
eprint={2304.05376},
archivePrefix={arXiv},
primaryClass={physics.chem-ph},
publisher={arXiv}
}