使用GPT-3解决化学问题
项目描述
gptchem
使用GPT-3解决化学问题。目前大多数代码库不是作为库使用,而是作为我们实验的文档。随着时间的推移,我们将实验(带有复杂依赖项的实验)提取到其自己的存储库中。
💪 入门
from gptchem.gpt_classifier import GPTClassifier
from gptchem.tuner import Tuner
classifier = GPTClassifier(
property_name="transition wavelength", # this is the property name we will use in the prompt template
tuner=Tuner(n_epochs=8, learning_rate_multiplier=0.02, wandb_sync=False),
)
classifier.fit(["CC", "CDDFSS"], [0, 1])
predictions = classifier.predict(['CCCC', 'CCCCCCCC'])
这些调用所需的时间可能因方法在底层调用OpenAI API而异。因此,在高负载情况下,我们也经历了数小时的等待时间。
🚀 安装
最新代码和数据可以通过GitHub直接安装
$ pip install git+https://github.com/kjappelbaum/gptchem.git
安装应只需几秒钟到几分钟。您可以使用额外的依赖项使用experiments
和eval
附加组件安装。
👐 贡献
贡献,无论是提交问题、创建拉取请求还是分叉,都受到欢迎。有关如何参与的更多信息,请参阅CONTRIBUTING.md。
👋 属性
⚖️ 许可证
此包中的代码采用MIT许可证。
📖 引用
如果您发现此包很有用,请引用我们的预印本
@inproceedings{Jablonka_2023,
doi = {10.26434/chemrxiv-2023-fw8n4},
url = {https://doi.org/10.26434%2Fchemrxiv-2023-fw8n4},
year = 2023,
month = {feb},
booktitle = {ChemRxiv},
author = {Kevin Maik Jablonka and Philippe Schwaller and Andres Ortega-Guerrero and Berend Smit},
title = {Is {GPT} all you need for low-data discovery in chemistry?}
}
🛠️ 开发者指南
查看开发者说明
README的最后一部分是如果您想通过贡献代码来参与其中。
开发安装
要在开发模式下安装,请使用以下命令
$ git clone git+https://github.com/kjappelbaum/gptchem.git
$ cd gptchem
$ pip install -e .
🥼 测试
在克隆仓库并使用 pip install tox
安装 tox
之后,可以使用以下命令在 tests/
文件夹中反复运行单元测试
$ tox
此外,这些测试会随着每个提交自动重新运行,具体可以在 GitHub Action 中查看。
📖 构建文档
可以使用以下命令在本地构建文档
$ git clone git+https://github.com/kjappelbaum/gptchem.git
$ cd gptchem
$ tox -e docs
$ open docs/build/html/index.html
文档会自动安装包以及 setup.cfg
中指定的 docs
额外内容。可以在那里添加 texext
等文档插件。此外,还需要将它们添加到 docs/source/conf.py
中的 extensions
列表。
📦 制作发布版
在开发模式下安装包并使用 pip install tox
安装 tox
之后,制作新发布版的命令包含在 tox.ini
的 finish
环境中。请在 shell 中运行以下命令
$ tox -e finish
此脚本执行以下操作
- 使用 Bump2Version 将
setup.cfg
、src/gptchem/version.py
和docs/source/conf.py
中的版本号更改为不带-dev
后缀 - 使用
build
同时打包代码为 tar 归档和 wheel 格式 - 使用
twine
上传到 PyPI。请确保有一个配置好的.pypirc
文件以避免在此步骤中需要手动输入 - 推送到 GitHub。您需要创建一个与版本号提升的提交相关的发布版
- 将版本提升到下一个补丁版本。如果您进行了重大更改并希望通过次要版本提升版本,可以在之后使用
tox -e bumpversion minor
🍪 Cookiecutter
此包是使用 @audreyfeldroy 的 cookiecutter 包以及 @cthoyt 的 cookiecutter-snekpack 模板创建的。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。