跳转到主要内容

OS-Climate 数据提取工具

项目描述

An OS-Climate Project Join OS-Climate on Slack Source code on GitHub PyPI package Built Status Built using PDM Project generated with PyScaffold

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模块的输出。输出将类似于以下示例数据

traning_Data.csv

问题

上下文

标签

公司

源文件

源页面

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_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项目的首页

https://pdm-project.org/en/latest/

tox

为了运行linting工具,我们使用tox,您可以在虚拟环境外运行它

$ pip install tox
$ tox -e lint
$ tox -e test

这将自动对您的代码应用一些检查,并运行提供的pytests。有关tox的更多详细信息,请参阅tox项目的首页

https://tox.wiki/en/4.16.0/

贡献

欢迎贡献!请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 (27.4 kB 查看散列值)

上传时间 源代码

构建分发

osc_transformer_based_extractor-0.1.3-py3-none-any.whl (27.4 kB 查看散列值)

上传时间 Python 3

由以下机构支持

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