OS-Climate 数据提取工具
项目描述
OS-Climate 数据提取工具
本项目提供了一种命令行工具和Python脚本,用于训练HuggingFace Transformer模型或本地Transformer模型,并使用它进行推理。推理的主要目标是确定给定问题与上下文之间的相关性。
快速入门
要安装基于OSC Transformer的提取器CLI,请使用pip
$ pip install osc-transformer-based-extractor
之后,您可以通过简单地输入以下内容将工具用作CLI工具
$ osc-transformer-based-extractor
我们正在使用typer来创建一个友好的CLI工具。所有详细信息和使用方法将在CLI工具中显示,这里不再详细描述。
示例:假设文件夹结构如下
project/
│
├── kpi_mapping.csv
├── training_data.csv
├── data/
│ └── (json files for inference command)
├── model/
│ └── (model-related files go here)
|── saved__model/
| └── (output files trained models)
├── output/
│ └── (ouput files from inference command)
然后您现在可以简单地运行以下命令,在数据上微调模型(在安装osc-transformer-based-extractor之后)
$ osc-transformer-based-extractor relevance-detector fine-tune \
--data_path "project/training_data.csv" \
--model_name "bert-base-uncased" \
--num_labels 2 \
--max_length 128 \
--epochs 3 \
--batch_size 16 \
--output_dir "project/saved__model/" \
--save_steps 500
此外,还可以运行以下命令进行推理
$ osc-transformer-based-extractor relevance-detector perform-inference \
--folder_path "project/data/" \
--kpi_mapping_path "project/kpi_mapping.csv" \
--output_path "project/output/" \
--model_path "project/model/" \
--tokenizer_path "project/model/" \
--threshold 0.5
训练数据
训练文件
- 要训练模型,您需要一个CSV文件,包含以下列
问题
上下文
标签
此外,还可以使用https://github.com/os-climate/osc-transformer-presteps模块的输出。输出将类似于以下示例数据
问题 |
上下文 |
标签 |
公司 |
源文件 |
源页面 |
KPI ID |
年份 |
答案 |
数据类型 |
注释者 |
索引 |
---|---|---|---|---|---|---|---|---|---|---|---|
公司名称是什么? |
该公司面临由于合约方违约而造成损失的风险,尤其是取决于该公司存放可用现金的银行的可靠性。 |
0 |
NOVATEK |
04_NOVATEK_AR_2016_ENG_11.pdf |
[‘0’] |
0 |
2016 |
PAO NOVATEK |
TEXT |
train_anno_large.xlsx |
1022 |
KPI映射文件
推理命令需要一个kpi-mapping.csv文件,其外观如下
kpi_id |
问题 |
部门 |
add_year |
kpi_category |
---|---|---|---|---|
1 |
年度报告或可持续发展报告是在哪一年发布的? |
OG, CM, CU |
FALSE |
TEXT |
开发者说明
直接通过GitHub仓库使用代码,无需CLI
首先将仓库克隆到您的本地环境
$ git clone https://github.com/os-climate/osc-transformer-based-extractor/
我们正在使用pdm来管理包和tox来提供一个稳定的测试框架。因此,首先通过以下内容安装pdm(可能是在虚拟环境中)
$ pip install pdm
之后,通过以下内容同步您的系统
$ pdm sync
现在您有多个演示,说明如何进行。请参阅[此处](demo)文件夹
pdm
要添加新依赖项,请使用pdm。您可以通过pdm add添加新包。例如,通过以下内容添加numpy
$ pdm add numpy
有关非常详细的描述,请查看pdm项目的首页
tox
为了运行linting工具,我们使用tox,您可以在虚拟环境外运行它
$ pip install tox $ tox -e lint $ tox -e test
这将自动对您的代码应用一些检查,并运行提供的pytests。有关tox的更多详细信息,请参阅tox项目的首页
贡献
欢迎贡献!请fork仓库,并为任何增强或错误修复提交pull request。
所有贡献(包括pull request)都必须同意开发者证书起源(DCO)版本1.1。这与Linux内核开发者创建并使用的版本完全相同,并发布在http://developercertificate.org/。这是一份开发者的证书,表明他或她有权提交补丁以供项目包含。简单地提交贡献即表示同意此协议,但是,请在每个补丁中包含一个“Signed-off-by”标签(此标签是确认您同意DCO的常规方式)。
2024年6月26日,Linux基金会宣布将其金融服务伞下的金融科技开源基金会([FINOS](https://finos.org))与专注于构建数据技术、建模和分析工具以推动全球资本流向气候变化缓解和适应能力的开源社区OS-Climate合并;OS-Climate项目正在过渡到[FINOS治理框架](https://community.finos.org/docs/governance);更多信息请访问[finos.org/press/finos-join-forces-os-open-source-climate-sustainability-esg](https://finos.org/press/finos-join-forces-os-open-source-climate-sustainability-esg)
项目详情
osc_transformer_based_extractor-0.1.3.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 9afd357181276fd9d32864520fa43c3b9281d8515fe213cc65421a405f390783 |
|
MD5 | 37a35ec96b2aabdb53365fdd9dcc1cc6 |
|
BLAKE2b-256 | 4c6d63fb55a8dbfc56dd54872230a01429331d151042c737a83968550dc108ac |
osc_transformer_based_extractor-0.1.3-py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 2a8bc5ecda1824805c74b3bec930d52f8bf3316089bdcae6a1c0a25a0af5c50a |
|
MD5 | ab2d6ef820e9d723e5aa754abae1c1ab |
|
BLAKE2b-256 | 15d9ef02f192d87429fb2b297f401a81b4a1345fd1294169d887ca7ab05d3393 |