ChatGPT | Word文档如何更好地提取表格内容给ChatGPT

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!

Word文档如何更好地提取表格内容给ChatGPT做知识库,这属于文本预处理工作。

本文只讲思路、测试结果,技术实现用Python和Java都能完成,下一篇文章再贴源码。

预处理的思路:

  1. 源文件建议采用DOCX文档而非PDF文档,因为PDF文档会多出冗余的"\n\n"
  2. 把DOCX文件转为Markdown格式,因为Markdown格式可以包含表格数据,而且Markdown格式本质是文本便于修改
  3. 把Markdown格式表格转为CSV表格,对于格式复杂表格,ChatGPT对CSV表格理解能力最强
  4. 用CSV表格替换掉Markdown格式的表格作为预处理后的新文件,因为两者都是文本格式

总结一下,DOCX转Markdown文件 -> Markdown表格转CSV表格->CSV表格替换掉Markdown表格->embedding->ChatGPT

原表格如下,signMsg部分格式复杂:

参数名称

参数含义

长度

可否为空

参数说明

mchntid

商户编号

15

不可空

统一分配给商户的商户编号,用以区分不同商户。

orderId

订单编号

16

不可空

商户提交给系统的交易订单编号。

每个商户提交的订单号,必须在自身账户交易中唯一。

reserved

商户保留域

60

可空

商户通过此字段向支付系统发送信息,其将依原样填充返回给商户。

signMsg

数字签名

32

不可空

以上所有参数及其值与密钥组合,经MD5 加密生成并转化为大写的32 位字符串。

对于所有值的参数及对应值,按照如上顺序和如下规则组成字符串,其中key为密钥:

参数1={参数1}&参数2={参数2}&……&参数n={参数n}&key={key}

然后进行32位算法的MD5 加密后,将结果转化为大写。

signMsg=MD5(参数1={参数1}&参数2={参数2}&……&参数n={参数n}&key={key})

childMchntid

子商户号

15

可空

支付系统统一分配给商户的子商户编号,不参与验签

对比Markdown表格与CSV表格的文本体积:

Markdown表格的文本体积超过4K,冗余浪费Token

商户向支付系统的支付接入地址(http)提交订单信息,提交页面中应该包括如下信息(注意各字段的大小写):

+-------------+-------------+-----+--------+-------------------------+
| *           | *           | *   | **可否 | **参数说明**            |
| *参数名称** | *参数含义** | *长 | 为空** |                         |
|             |             | 度  |        |                         |
|             |             | **  |        |                         |
+=============+=============+=====+========+=========================+
| mchntid     | 商户编号    | 15  | 不可空 | 统一分配给商户的商户编  |
|             |             |     |        | 号,用以区分不同商户。  |
+-------------+-------------+-----+--------+-------------------------+
| orderId     | 订单编号    | 16  | 不可空 | 商户提交                |
|             |             |     |        | 给系统的交易订单编号。  |
|             |             |     |        |                         |
|             |             |     |        | 每个                    |
|             |             |     |        | 商户提交的订单号,必须  |
|             |             |     |        | 在自身账户交易中唯一。  |
+-------------+-------------+-----+--------+-------------------------+
| bgUrl       | 后台        | 80  | 不可空 | 后台接收应答地          |
|             | 交易接收Url |     |        | 址,用于商户记录交易信  |
|             |             |     |        | 息和处理,对于使用者是  |
|             |             |     |        | 不可见的。需URLEncoder  |
|             |             |     |        | \"UTF-8\"处理           |
+-------------+-------------+-----+--------+-------------------------+
| productName | 商品名称    | 60  | 可空   | 需URLEncoder            |
|             |             |     |        | \"UTF-8\"处理           |
+-------------+-------------+-----+--------+-------------------------+
| productNum  | 商品数量    | 8   | 可空   |                         |
+-------------+-------------+-----+--------+-------------------------+
| productDesc | 商品描述    | 100 | 可空   | 需URLEncoder            |
|             |             |     |        | \"UTF-8\"处理           |
+-------------+-------------+-----+--------+-------------------------+
| reserved    | 商户保留域  | 60  | 可空   | 商户通过此字段向        |
|             |             |     |        | 支付系统发送信息,其将  |
|             |             |     |        | 依原样填充返回给商户。  |
+-------------+-------------+-----+--------+-------------------------+
| signMsg     | 数字签名    | 32  | 不可空 | 以上所有参数            |
|             |             |     |        | 及其值与密钥组合,经MD5 |
|             |             |     |        | 加                      |
|             |             |     |        | 密生成并转化为大写的32  |
|             |             |     |        | 位字符串。              |
+-------------+-------------+-----+--------+-------------------------+
|             | 对于        |     |        |                         |
|             | 所有值的参  |     |        |                         |
|             | 数及对应值  |     |        |                         |
|             | ,按照如上  |     |        |                         |
|             | 顺序和如下  |     |        |                         |
|             | 规则组成字  |     |        |                         |
|             | 符串,其中  |     |        |                         |
|             | key为密钥: |     |        |                         |
|             |             |     |        |                         |
|             | 参数1       |     |        |                         |
|             | ={参数1}&参 |     |        |                         |
|             | 数2={参数2  |     |        |                         |
|             | }&......&参 |     |        |                         |
|             | 数n={参数n  |     |        |                         |
|             | }&key={key} |     |        |                         |
|             |             |     |        |                         |
|             | 然后进行32  |     |        |                         |
|             | 位算法的MD5 |     |        |                         |
|             | 加密后      |     |        |                         |
|             | ,将结果转  |     |        |                         |
|             | 化为大写。  |     |        |                         |
|             |             |     |        |                         |
|             | signMs      |     |        |                         |
|             | g=MD5(参数1 |     |        |                         |
|             | ={参数1}&参 |     |        |                         |
|             | 数2={参数2  |     |        |                         |
|             | }&......&参 |     |        |                         |
|             | 数n={参数n} |     |        |                         |
|             | &key={key}) |     |        |                         |
+-------------+-------------+-----+--------+-------------------------+
| c           | 子商户号    | 15  | 可空   | 支付                    |
| hildMchntid |             |     |        | 系统统一分配给商户的子  |
|             |             |     |        | 商户编号,不参与验签。  |
+-------------+-------------+-----+--------+-------------------------+

CSV表格的文本体积精简

商户向支付系统的支付接入地址(http)提交订单信息,提交页面中应该包括如下信息(注意各字段的大小写):

参数名称,参数含义,长度,可否为空,参数说明
mchntid,商户编号,15,不可空,统一分配给商户的商户编号,用以区分不同商户。
orderId,订单编号,16,不可空,商户提交给系统的交易订单编号。
,,,,每个商户提交的订单号,必须在自身账户交易中唯一。
reserved,商户保留域,60,可空,商户通过此字段向支付系统发送信息,其将依原样填充返回给商户。
signMsg,数字签名,32,不可空,以上所有参数及其值与密钥组合,经MD5 加密生成并转化为大写的32 位字符串。
,对于所有值的参数及对应值,按照如上顺序和如下规则组成字符串,其中key为密钥:,,,
,参数1={参数1}&参数2={参数2}&……&参数n={参数n}&key={key},,,
,然后进行32位算法的MD5 加密后,将结果转化为大写。,,,
,signMsg=MD5(参数1={参数1}&参数2={参数2}&……&参数n={参数n}&key={key}),,,
childMchntid,子商户号,15,可空,支付系统统一分配给商户的子商户编号,不参与验签。
 

ChatGPT答复的结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/9042.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学会 IDEA 远程 Debug ,直接线上秀操作

有时候我们需要进行远程的debug,本文研究如何进行远程debug,以及使用 IDEA 远程debug的过程中的细节。看完可以解决你的一些疑惑。 配置 远程debug的服务,以springboot微服务为例。 首先,启动springboot需要加上特定的参数。 …

C语言王国探险记之函数的简单概念

王国探险记系列 文章目录(5) 目录 王国探险记系列 文章目录(5) 前言 一,函数的基本概念 二,调用外部函数和main()函数区别 2.1如果我们将函数的定义放到后面,可不可以呢? 总结…

liunx安装git

liunx安装git : 提示:记录自己装git 过程 执行下边命令安装 yum -y install git 安装完查看是否安装成功 git --version安装路径默认在/usr/libexe 愉快开始使用git

12 MFC常用控件(一)

文章目录 button 按钮设置默认按钮按下回车后会响应禁用开启禁用设置隐藏设置显示设置图片设置Icon设置光标 Cbutton 类创建按钮创建消息单选按钮多选按钮 编辑框组合框下拉框操作 CListBox插入数据获取当前选中 CListCtrl插入数据设置表头修改删除 button 按钮 设置默认按钮按…

(02)ATF环境搭建

环境搭建 工具链 安装gcc工具链、gdb调试器和qemu模拟器。 sudo apt-get install gcc-aarch64-linux-gnu gdb-multiarch qemu-system-arm库 由于安全启动需要OpenSSL和MbedTLS这两个库。 openssl wget https://www.openssl.org/source/openssl-3.0.8.tar.gz tar -xvf opens…

2023.07.05 ARM day6

实验1 1.在键盘输入一个字符,串口工具进行显示 2.例如:在在键盘输入一个字符a,串口工具进行显示b 实验2 1.在键盘输入一个字符串,串口工具进行显示 2.例如:在在键盘输入一个字符串“huyue”,串口工具进行显示“huyue” inclu…

基于matlab使用自动要素匹配查找图像旋转和缩放(附源码)

一、前言 此示例演示如何自动确定一对图像之间的几何变换。当一个图像因旋转和缩放而相对于另一个图像失真时,请使用 和 查找旋转角度和比例因子。然后,您可以转换扭曲的图像以恢复原始图像。 二、步骤 1:读取图像 将映像引入工作区。 三、…

Electron详解(二):基本使用与项目打包

文章目录 一、electron的基本使用创建一个 electron 项目创建应用窗口和页面 二、打包应用程序(window平台)使用 Electron Forge 打包打包报错解决方法 三、打包应用程序(Linux平台)electron builder打包 一、electron的基本使用 …

Baltamatica 北太天元 —— 基于模拟退火算法的旅行商问题

文章目录 北太天元(Baltamatica)简介Baltamatica 复现基于Matlab的旅行商问题问题描述模拟退火算法Metropolis准则算法流程图: Demo1:只考虑累计距离,通过模拟退火算法求解最短路径matlab代码:Baltam代码&a…

win如何使用OpenSSL生成自签名证书,使 http 升级为 https

win如何使用OpenSSL生成自签名证书,使 http 升级为 https 前言 HTTPS其实就是HTTP over SSL,也就是让HTTP连接建立在SSL安全连接之上。 创建自签名证书需要安装openssl。参考本文安装OpenSSL部分。 使用OpenSSL生成自签名证书的步骤:参考…

给LLM装上知识:从LangChain+LLM的本地知识库问答到LLM与知识图谱的结合

第一部分 基于LangChain ChatGLM-6B的本地知识库问答的应用实现 1.1 什么是LangChain:连接本地知识库与LLM的桥梁 作为一个 LLM 应用框架,LangChain 支持调用多种不同模型,提供相对统一、便捷的操作接口,让模型即插即用&#x…

从零实现深度学习框架——Seq2Seq机器翻译实战

引言 本着“凡我不能创造的,我就不能理解”的思想,本系列文章会基于纯Python以及NumPy从零创建自己的深度学习框架,该框架类似PyTorch能实现自动求导。 💡系列文章完整目录: 👉点此👈 要深入理解…