Skip to content

Commit 2cfeadf

Browse files
authored
Add ERNIE-LayoutX (#3183)
* Add ernie-layoutx * simplify code * simplify code * support batch input * add word_boxes support * Update docs * update * Update README.md * Udpate README.md * Update README.md * Update README.md
1 parent 3abb358 commit 2cfeadf

32 files changed

+8775
-53
lines changed

docs/model_zoo/taskflow.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ PaddleNLP提供**开箱即用**的产业级NLP预置任务能力,无需训练
4343
| [代码生成](#代码生成) | `Taskflow("code_generation")` |||| | | 代码生成大模型 |
4444
| [文图生成](#文图生成) | `Taskflow("text_to_image")` |||| | | 文图生成大模型 |
4545
| [文本摘要](#文本摘要) | `Taskflow("text_summarization")` ||||| | 文本摘要大模型 |
46+
| [文档智能](#文档智能) | `Taskflow("document_intelligence")` ||||| | 基于跨模态通用文档预训练模型ERNIE-LayoutX |
4647

4748

4849
## QuickStart
@@ -1546,6 +1547,80 @@ from paddlenlp import Taskflow
15461547

15471548
</div></details>
15481549

1550+
### 文档智能
1551+
<details><summary>&emsp; 基于跨模态通用文档预训练模型ERNIE-LayoutX </summary><div>
1552+
1553+
#### 输入格式
1554+
1555+
```
1556+
[
1557+
{"doc": "./invoice.jpg", "prompt": ["发票号码是多少?", "校验码是多少?"]},
1558+
{"doc": "./resume.png", "prompt": ["五百丁本次想要担任的是什么职位?", "五百丁是在哪里上的大学?", "大学学的是什么专业?"]}
1559+
]
1560+
```
1561+
1562+
默认使用PaddleOCR进行OCR识别,同时支持用户通过``word_boxes``传入自己的OCR结果,格式为``List[str, List[float, float, float, float]]``
1563+
1564+
```
1565+
[
1566+
{"doc": doc_path, "prompt": prompt, "word_boxes": word_boxes}
1567+
]
1568+
```
1569+
1570+
#### 支持单条、批量预测
1571+
1572+
- 支持本地图片路径输入
1573+
1574+
<div align="center">
1575+
<img src=https://bj.bcebos.com/paddlenlp/taskflow/document_intelligence/images/resume.png height=800 hspace='20'/>
1576+
</div>
1577+
1578+
1579+
```python
1580+
>>> from pprint import pprint
1581+
>>> from paddlenlp import Taskflow
1582+
1583+
>>> docprompt = Taskflow("document_intelligence")
1584+
>>> docprompt([{"doc": "./resume.png", "prompt": ["五百丁本次想要担任的是什么职位?", "五百丁是在哪里上的大学?", "大学学的是什么专业?"]}])
1585+
[{'prompt': '五百丁本次想要担任的是什么职位?',
1586+
'result': [{'end': 183, 'prob': 1.0, 'start': 180, 'value': '客户经理'}]},
1587+
{'prompt': '五百丁是在哪里上的大学?',
1588+
'result': [{'end': 38, 'prob': 1.0, 'start': 32, 'value': '广州五百丁学院'}]},
1589+
{'prompt': '大学学的是什么专业?',
1590+
'result': [{'end': 45, 'prob': 0.74, 'start': 39, 'value': '金融学(本科)'}]}]
1591+
```
1592+
1593+
- http图片链接输入
1594+
1595+
<div align="center">
1596+
<img src=https://bj.bcebos.com/paddlenlp/taskflow/document_intelligence/images/invoice.jpg height=400 hspace='10'/>
1597+
</div>
1598+
1599+
1600+
```python
1601+
>>> from pprint import pprint
1602+
>>> from paddlenlp import Taskflow
1603+
1604+
>>> docprompt = Taskflow("document_intelligence")
1605+
>>> docprompt([{"doc": "https://bj.bcebos.com/paddlenlp/taskflow/document_intelligence/images/invoice.jpg", "prompt": ["发票号码是多少?", "校验码是多少?"]}])
1606+
[{'prompt': '发票号码是多少?',
1607+
'result': [{'end': 10, 'prob': 0.96, 'start': 7, 'value': 'No44527206'}]},
1608+
{'prompt': '校验码是多少?',
1609+
'result': [{'end': 271,
1610+
'prob': 1.0,
1611+
'start': 263,
1612+
'value': '01107 555427109891646'}]}]
1613+
```
1614+
1615+
#### 可配置参数说明
1616+
* `batch_size`:批处理大小,请结合机器情况进行调整,默认为1。
1617+
* `lang`:选择PaddleOCR的语言,`ch`可在中英混合的图片中使用,`en`在英文图片上的效果更好,默认为`ch`
1618+
* `topn`: 如果模型识别出多个结果,将返回前n个概率值最高的结果,默认为1。
1619+
1620+
1621+
</div></details>
1622+
1623+
15491624
## PART Ⅱ &emsp; 定制化训练
15501625

15511626
<details><summary>适配任务列表</summary><div>

0 commit comments

Comments
 (0)