PP-ChatOCRv3新升級:多頁PDF信息抽取支持自定義提示詞工程,拓展大語言模型功能邊界

文本圖像信息抽取技術在自動化辦公、建筑工程、教育科研、金融風控、醫療健康等行業領域具有廣泛應用場景。2024年9月,飛槳低代碼開發工具PaddleX中新增文本圖像智能產線PP-ChatOCRv3,充分結合PaddleOCR的文本圖像版面解析能力和文心一言語言理解優勢,實現了高效的文本圖像信息抽取。
近期,飛槳研發團隊對飛槳低代碼開發工具PaddleX中文本圖像智能產線PP-ChatOCRv3進行升級,一方面實現了基于標準OpenAI接口的大語言模型調用,支持不同類型大模型靈活更換,另一方面針對文本圖像信息抽取,豐富了自定義提示詞工程的能力,從而為文本圖像信息抽取注入新動力。

在這里插入圖片描述
PP-ChatOCRv3 系統流程圖

PP-ChatOCRv3進階使用傳送門
https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-rc/docs/practical_tutorials/document_scene_information_extraction(deepseek)_tutorial.md

本次升級具體特色功能如下:

新模型可快速適配多頁 PDF 文件,高效抽取信息

由于大語言模型的推理時間相對較長,從多頁 PDF 文件中抽取信息往往成本較高。
然而,PP-ChatOCRv3 集成了向量檢索技術,先從 PDF 中篩選出與查詢信息相關的內容,再借助大語言模型進行信息抽取,有效提升了處理效率。同時為了有效節約視覺特征和建立向量庫的時間成本,PP-ChatOCRv3提供了數據緩存加載方法。在完成初次視覺特征和向量庫建立后,后續的信息抽取過程即可基于緩存數據進行,有效的避免了頻繁的視覺推理和建立索引庫過程
詳細的實現如下:

import os
from paddlex import create_pipelinepipeline = create_pipeline(pipeline="PP-ChatOCRv3-doc",initial_predictor=False)output_dir = "output"
if not os.path.exists(output_dir):os.makedirs(output_dir)
visual_predict_res_path = os.path.join(output_dir, "contract.visual")
vector_res_path = os.path.join(output_dir, "contract.vector")
if not os.path.exists(visual_predict_res_path):visual_predict_res = pipeline.visual_predict(input="contract.pdf",use_doc_orientation_classify=False,use_doc_unwarping=False)visual_info_list = []for res in visual_predict_res:visual_info_list.append(res["visual_info"])vector_info = pipeline.build_vector(visual_info_list, flag_save_bytes_vector=True,retriever_config={"module_name": "retriever","model_name": "embedding-v1","base_url": "https://qianfan.baidubce.com/v2","api_type": "qianfan","api_key": "api_key" # your api_key})pipeline.save_visual_info_list(visual_info_list, visual_predict_res_path)vector_info = pipeline.build_vector(visual_info_list)pipeline.save_vector(vector_info, vector_res_path)
else:visual_info_list = pipeline.load_visual_info_list(visual_predict_res_path)vector_info = pipeline.load_vector(vector_res_path)chat_result = pipeline.chat(key_list=["甲方"],visual_info=visual_info_list,vector_info=vector_info,chat_bot_config={"module_name": "chat_bot","model_name": "ernie-3.5-8k","base_url": "https://qianfan.baidubce.com/v2","api_type": "openai","api_key": "api_key" # your api_key},retriever_config={"module_name": "retriever","model_name": "embedding-v1","base_url": "https://qianfan.baidubce.com/v2","api_type": "qianfan","api_key": "api_key" # your api_key}
)
print(chat_result)

支持自定義提示詞工程,拓展大語言模型的功能邊界

早期進行文本圖像信息抽取時,如從身份證、營業執照中提取信息,通常預先設定好關鍵詞(如姓名、公司名稱等),再查找與之相關的信息。然而,在實際應用中,關鍵信息往往以問題的形式呈現,例如在研報中查詢《哪吒2》的票房數,要回答此類問題就需要對提示詞進行修改。本次升級支持自定義提示詞工程,涵蓋問題描述、提取規則、結果規范以及少樣本學習等方面,可根據實際問題靈活調整,從而拓展大語言模型在信息抽取方面的功能邊界。
一個提示詞修改示例如下:

  • text_task_description:對話任務的描述,例如“你現在的任務是根據提供的文本內容回答用戶的問題,并給出你回答問題引用的原文片段”。
  • text_rules_str:用戶設置的細節規則,例如“對于問題結果,使用“答案:”標注,對于引用原文片段,使用“引用原文:”標注。問題結果中的日期格式為“YYYY-MM-DD””。
  • text_few_shot_demo_text_content:用于少樣本演示的文本內容,例如“當用戶詢問關于“時間”的問題時,返回某年某月某日”,通常設置為空即可。
  • text_few_shot_demo_key_value_list:用于少樣本演示的鍵值對列表,例如[{“該規定是何時公布的?”: “2005年2月4日”}, {“該規定是何時施行的?”: “2005年4月1日”}],通常設置為空即可

產出結果:

{'chat_res': {'reasoning_content': ['好的,我現在需要處理用戶的問題。用戶提供的OCR文本是關于《勘察設計注冊工程師管理規定》的內容,問題是要找出該規定是何時公布的。首先,我要仔細閱讀OCR文本,尋找相關的日期信息。\n\n在OCR文本的開頭部分,我看到這樣的文字:“勘察設計注冊工程師管理規定 (2005年2月4日中華人民共和國建設部令第137號公布自2005年4月1日起施行)”。這里有兩個日期,一個是公布的日期,另一個是施行的日期。用戶的問題是詢問公布的日期,所以需要確認哪個對應公布。\n\n根據中文法律法規的常見格式,通常會在標題后的括號內注明公布日期和施行日期,格式為“(日期公布機關公布,自日期起施行)”。這里的結構是“2005年2月4日中華人民共和國建設部令第137號公布自2005年4月1日起施行”,所以前半部分“2005年2月4日”應該是公布的日期,后半部分“2005年4月1日”是施行日期。\n\n接下來,我需要確認用戶的問題是否確實指向公布日期。用戶的問題明確問的是“該規定是何時公布的?”,所以答案應該是2005年2月4日。需要將日期格式轉換為“YYYY-MM-DD”,即“2005-02-04”。\n\n然后,檢查是否有其他可能的日期信息。OCR文本的其他部分主要涉及注冊工程師的管理規定,沒有提到其他日期。因此,可以確定答案正確。\n\n最后,按照用戶的要求,用JSON格式返回結果,問題作為key,答案作為value,并引用對應的原文片段。確保日期格式正確,沒有其他多余內容。\n'], '該規定是何時公布的?': {'答案': '2005-02-04', '引用原文': '勘察設計注冊工程師管理規定 (2005年2月4日中華人民共和國建設部令第137號公布自2005年4月1日起施行)'}}}

精彩課程預告

為了幫助您全面掌握PP-ChatOCRv3的最新技術進展,百度研發團隊精心打造視頻精講課程,深入解讀PP-ChatOCRv3的最新技術方案,并分享其在實際產業中的應用技巧。同時,我們還特別設置了產業場景實戰營,配套詳細教程文檔,將手把手指導您針對具體問題靈活優化自定義提示詞工程能力。機會難得,立即點擊鏈接報名https://www.wjx.top/vm/wFZcC0n.aspx?udsid=749768

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/899719.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/899719.shtml
英文地址,請注明出處:http://en.pswp.cn/news/899719.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

算法刷題記錄——LeetCode篇(1.2) [第11~20題](持續更新)

更新時間:2025-03-29 LeetCode題解專欄:實戰算法解題 (專欄)技術博客總目錄:計算機技術系列目錄頁 優先整理熱門100及面試150,不定期持續更新,歡迎關注! 17. 電話號碼的字母組合 給定一個僅包含數字 2-9…

如何在 vue 渲染百萬行數據,vxe-table 渲染百萬行數據性能對比,超大量百萬級表格渲染

vxe-table 渲染百萬行數據性能對比,超大量百萬級表格渲染;如何在 vue 渲染百萬行數據;當在開發項目時,遇到需要流暢支持百萬級數據的表格時, vxe-table 就可以非常合適了,不僅支持強大的功能,虛…

阿里 FunASR 開源中文語音識別大模型應用示例(準確率比faster-whisper高)

文章目錄 Github官網簡介模型安裝非流式應用示例流式應用示例 Github https://github.com/modelscope/FunASR 官網 https://www.funasr.com/#/ 簡介 FunASR是一個基礎語音識別工具包,提供多種功能,包括語音識別(ASR)、語音端…

如何使用 LLaMA-Factory 微調 LLaMA3

【LLaMa3微調】使用 LLaMA-Factory 微調LLaMA3 實驗環境 1.1 機器 操作系統:Windows 10 或 UbuntuPyTorch 版本:2.1.0Python 版本:3.10(針對Ubuntu 22.04)Cuda 版本:12.1GPU 配置:p100 (16GB) …

使用Java ApI 實現Hadoop文件上傳

目錄 文件傳輸步驟 windows的本機文件傳輸 linux的虛擬機文件傳輸 文件傳輸步驟 建立連接 在connect2HDFS()方法中,通過設置Configuration對象來指定HDFS的URI(在這個例子中為hdfs://192.168.12.133:9000),并初始化一個FileSys…

喜訊 | 耘瞳科技視覺檢測與測量裝備榮膺“2024機器視覺創新產品TOP10”

3月28日,全球機器視覺行業盛會VisionChina2025(上海)機器視覺展完美收官。展會期間,由機器視覺產業聯盟(CMVU)舉辦的“2024機器視覺創新產品TOP10”企業名單正式揭曉,耘瞳科技“工業跨尺度場景實…

數據可視化(matplotlib)-------圖表樣式美化

目錄 一、圖表樣式概述 (一)、默認圖表樣式 (二)、圖表樣式修改 1、局部修改 2、全局修改 二、使用顏色 (一)、使用基礎顏色 1、單詞縮寫或單詞表示的顏色 2、十六進制/HTML模式表示的顏色 3、RGB…

202518 | Ngnix

Ngnix是什么 Nginx(發音為“engine-x”)是一個開源的高性能HTTP服務器、反向代理服務器、負載均衡器和郵件代理服務器。它由俄羅斯程序員Igor Sysoev開發,首次發布于2004年,旨在解決C10K問題(即如何高效地處理10,000個…

WP Mail 郵件發送:WordPress Mail SMTP設置

在我們WordPress搭建個人網站完成后,讀者或者客戶發送的電子郵件,包括你的WPForms電子郵件通知,如果無法到達預定收件人收件箱,這會對我們網站的運營造成很大的影響,問題在于WordPress Mail SMTP的發送方式。 SMTP&am…

小智機器人關鍵函數解析:MqttProtocol::SendAudio()對輸入的音頻數據進行加密處理,通過UDP發送加密后的音頻數據

MqttProtocol::SendAudio()對輸入的音頻數據進行加密處理&#xff0c;通過UDP發送加密后的音頻數據。 源碼&#xff1a; void MqttProtocol::SendAudio(const std::vector<uint8_t>& data) {// 使用互斥鎖保護臨界區&#xff0c;確保同一時間只有一個線程可以訪問該…

Hadoop 常用命令集總覽

Hadoop 常用命令集總覽 在大數據處理領域&#xff0c;Hadoop 作為一種廣泛應用的分布式系統基礎架構&#xff0c;其重要性不言而喻。熟練掌握 Hadoop 的常用命令對于高效的數據處理和分析工作至關重要。本文將對 Hadoop 的常用命令進行專業而詳盡的列舉&#xff0c;并結合實例進…

mac m4 Homebrew安裝MySQL 8.0

1.使用Homebrew安裝MySQL8 在終端中輸入以下命令來安裝MySQL8&#xff1a; brew install mysql8.0 安裝完成后&#xff0c;您可以通過以下命令來驗證MySQL是否已成功安裝&#xff1a; 2.配置mysql環境變量 find / -name mysql 2>/dev/null #找到mysql的安裝位置 cd /op…

GoLand 2024.3 中文 GO語言開發工具

GoLand 2024.3 中文 GO語言開發工具 文章目錄 GoLand 2024.3 中文 GO語言開發工具一、介紹二、效果三、下載 一、介紹 JetBrains GoLand 2024 &#xff0c;是一款GO語言開發工具&#xff0c;全行代碼補全&#xff1a;能使用本地運行的上下文感知深度學習模型&#xff0c;可以自…

Excel去掉單元格里面的換行的方法

方法一&#xff1a;使用“查找和替換”功能 ?選中單元格?&#xff1a;首先選中需要替換換行符的單元格或區域。 ?打開替換窗口?&#xff1a;按下“CtrlH”快捷鍵&#xff0c;打開“查找和替換”對話框。 ?輸入換行符?&#xff1a; 在“查找內容”框中&#xff0c;你可…

React 中的 Props

Props&#xff08;Properties 的縮寫&#xff09;是 React 中用于組件間通信的核心機制。它們允許數據從父組件單向傳遞到子組件。Props 是 React 組件不可變&#xff08;只讀&#xff09;的輸入參數&#xff0c;這種特性使得組件更加可預測且易于維護。 Props 的核心特性 單…

基于簡單神經網絡的線性回歸

一、概述 本代碼實現了一個簡單的神經網絡進行線性回歸任務。通過生成包含噪聲的線性數據集&#xff0c;定義一個簡單的神經網絡類&#xff0c;使用梯度下降算法訓練網絡以擬合數據&#xff0c;并最終通過可視化展示原始數據、真實線性關系以及模型的預測結果。 二、依賴庫 …

?19.思科路由器:OSPF協議引入直連路由的實驗研究

思科路由器:OSPF協議引入直連路由的實驗研究 一、實驗拓撲二、基本配置2.1、sw1的配置2.2、開啟交換機三層功能三、ospf的配置3.1、R1的配置3.2、R2的配置3.3、重啟ospf進程四、引入直連路由五、驗證結果隨著互聯網技術的不斷發展,路由器作為網絡互聯的關鍵設備,其性能與穩定…

USB——刪除注冊表信息

文章目錄 背景工具下載地址工具使用刪除注冊表信息背景 注測表中已記錄這個設備的信息,但現在設備描述符又指定為了 WinUSB 設備,所以當設備再次插入的時候,不會發送 0xEE 命令,造成了枚舉失敗。 兩種處理方式: 修改枚舉時候的 VID/PID刪除 USB 的注冊表信息工具下載地址…

如何快速解決django報錯:cx_Oracle.DatabaseError: ORA-00942: table or view does not exist

我們在使用django連接oracle進行編程時&#xff0c;使用model進行表映射對接oracle數據時&#xff0c;默認表名組成結構為&#xff1a;應用名_類名&#xff08;如&#xff1a;OracleModel_test&#xff09;&#xff0c;故即使我們庫中存在表test&#xff0c;運行查詢時候&#…

從 0 到跑通的 Qt + OpenGL + VS 項目的完整流程

&#x1f9e9; 全流程目標&#xff1a; 在 Visual Studio 中成功打開、編譯并運行一個 Qt OpenGL 項目&#xff08;.vcxproj 格式&#xff09; ? 第 1 步&#xff1a;安裝必要環境 工具說明Visual Studio 2017 / 2019 / 2022必須勾選 “使用 C 的桌面開發” 和 “MSVC 工具…