跳转到主要内容

使用GPT-3解决化学问题

项目描述

gptchem

Tests PyPI - License Documentation Status Codecov status Cookiecutter template from @cthoyt Code style: black Contributor Covenant

使用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

安装应只需几秒钟到几分钟。您可以使用额外的依赖项使用experimentseval附加组件安装。

👐 贡献

贡献,无论是提交问题、创建拉取请求还是分叉,都受到欢迎。有关如何参与的更多信息,请参阅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.inifinish 环境中。请在 shell 中运行以下命令

$ tox -e finish

此脚本执行以下操作

  1. 使用 Bump2Versionsetup.cfgsrc/gptchem/version.pydocs/source/conf.py 中的版本号更改为不带 -dev 后缀
  2. 使用 build 同时打包代码为 tar 归档和 wheel 格式
  3. 使用 twine 上传到 PyPI。请确保有一个配置好的 .pypirc 文件以避免在此步骤中需要手动输入
  4. 推送到 GitHub。您需要创建一个与版本号提升的提交相关的发布版
  5. 将版本提升到下一个补丁版本。如果您进行了重大更改并希望通过次要版本提升版本,可以在之后使用 tox -e bumpversion minor

🍪 Cookiecutter

此包是使用 @audreyfeldroycookiecutter 包以及 @cthoytcookiecutter-snekpack 模板创建的。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

本发布版本没有可用的源分发文件。请参阅 生成分发存档的教程

构建分发

gptchem-0.0.5-py3-none-any.whl (64.9 kB 查看散列)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面