爱吱声

标题: 利用 Deepseek 抓取PDF的文字并矫正。 [打印本页]

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑
1 q9 @: n+ l. X: h# g& E0 a8 J! A( @& l; D% @3 q8 O  m& j
把PDF上传,然后让他抓取文字,并修改可能的错误。( x* l5 W* V' M$ U" c" r) W( a: G
然后deepseek完美的完成了任务。, V9 @  n, t8 U7 U' v2 V
段落清楚,列清楚,页眉页脚全部去掉。6 @8 J& O5 n6 B6 ^. s$ B
我要疯掉了!7 t7 A3 \: S' U1 D! ~# K1 J
赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!
' }. r: x4 [7 h9 r* e0 M9 B4 q====+ J4 u9 ?& a& v5 H# m
中文也很完美。
2 y1 u; X0 Y0 ]+ V, }) p经验值,每次十页比较稳定。
8 {8 E7 ~( @6 I5 @( e现在我这里API还不能用,等恢复了,全自动了。! f0 C8 h0 w! c# ]
====) w, ^8 R/ T) I# q9 V. q
第二次疯掉了!  K% s/ c3 J; s2 c, T; w! F
我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。5 d7 I( W3 |( G) |- t  c3 O- J
====0 j, T) ]1 X* e8 K  c
现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。
% {7 i; b2 ^4 e3 h但是任务多了后,每次翻译的页面数是减少的。* a$ R' z  v2 m0 `+ Z
好吧,我五体投地,继续探索。
  i4 |3 @' B% z# I7 I/ T7 P" R# i====
8 ?9 |  `* N+ D! q$ q为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。$ s0 q7 h  V+ |% H! X
====9 x- @$ p4 S. ^. w( c
好吧,有些东西是不给翻译的,哈哈。( ~/ n9 V0 ]% p5 H$ O( |
) ]; e& W" `  f8 Z# P% u/ m
Sorry, that's beyond my current scope. Let’s talk about something else./ n0 j. f8 x; l" v) j
====- M4 [$ Y% Y0 ?. \8 P9 Q! E
然后我的英文命令也让deepseek 帮我修改,呵呵。7 N# x) u. P, [+ ]5 e& b  M- H
====
1 q: n7 w2 Z  A; |日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。
0 Q1 m7 Y8 L" i2 p' v====! X) D6 y  x8 l5 t: i" h7 o
时间段的话,北京时间的下午和晚上用比较好。  E6 d, v) z! @, {4 |9 R' N
后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。5 v) C( Z, S+ l$ \
====
8 q/ Y4 I- I- [) s用千问吧,非常稳定,非常强大。  p7 B: k" F; O1 r) L" V
https://chat.qwenlm.ai/
+ P0 g7 s) [7 S! }' }9 \  a7 Z====
' y4 h2 G1 }7 k+ q9 Z: jDeepseek,API 看上去可用了,但是不给充钱。6 b2 N1 g0 @& {' O3 V5 Q( A3 f2 B5 n% Z
1 _1 y/ ?. g6 c( o# a( a" `* e

5 C: t) w8 m: q, z, }+ m2 q, J. S8 H* q: @+ D0 e7 b

作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53+ ~6 l: g! d& X2 \- q% ~- B
这功能很赞呀
2 U) F- L& Y$ Z! N4 B; i: ^
简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13
: a( }/ g$ v: N9 I: p有没有上传整本书试试
9 m! p  ?6 |3 B! G# S3 Z
目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑 1 u+ |$ p$ R: ^$ C6 P# B3 Q6 |
/ d; D2 Z7 H3 g/ `0 }) n. m' k
以后让deepseek 读出土的竹简, A3 M7 I3 i; e+ z$ w  [7 _
/ I. y+ C; i! k; d
还有把古文翻译成现代白话
0 n: ^* U2 N! @& G5 S- T
4 h; C9 _" G# _$ S$ U( J" X以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?& i( o* ]5 X& f& Q3 k! Z* |
6 q0 e* A( L$ ~% A4 I7 U2 S3 A
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23& \  g& w: c$ l- j" P5 _+ @" i: U
请教是如何实现的?
4 Z% a9 Y% U+ H( f5 q9 L1 }( ^7 i
( m4 W4 Q- N# |! {/ r我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

9 e! k; K9 D. e
% h6 W! E# _( O; e* Q  u/ E# e* Q我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。+ Z4 l& x9 o6 L* {; K
文字之类的没问题。估计deepseek现在暂时只保证主要功能。
; I1 ^/ o& ?% Y. v& c4 @  q美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。9 r4 V# f& g! [8 N" \3 |

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23
' R1 E  a1 M7 }请教是如何实现的?
4 [# w& ]4 z5 a& b: i0 N
$ J7 l5 \, n3 z! b8 u% a7 X" S我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

  \5 V' e5 ^/ P" E9 rhttps://chat.qwenlm.ai/4 p% t, v, A' H- v
试一下千问,估计美国人没有攻击他,所以资源敞开用。& ^( P+ d- b, t. P" {% w
很稳定,质量不错,好像最多一次处理15页。( w6 Z# f; Z* h" q6 L
我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。0 Q+ P& {6 T$ W: R) _0 n1 m% Q5 p
处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
5 `0 X6 I2 B* e/ W$ p这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
/ S1 g7 G" Z& U- h  g$ e" Z2 T6 i) z3 V3 h! Y' b% O
https://github.com/oomol-lab/pdf-craft9 f  |: k9 j3 e" v

! _! ^* f; e% K+ @; Z% z- ]/ A: [1. 这个工具要求装 python3.10
4 h: }3 }4 h6 x/ ]4 V- C) D2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0
6 n4 B4 e: g6 K) m. g$ Z  {3. pip install pdf-craft' M8 j/ ]% K5 v  A5 ?$ e% Z
4. 把下面的内容写到一个文件里,例如 a.py
' U/ @% K% Y, C+ ?. m, L( E, v7 S2 V
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    + U& l; w: e! f. Z6 A

  2. # ?5 I0 }6 S5 x8 z# ~
  3. extractor = PDFPageExtractor(
    : P& x7 K5 V' [; o# ]+ g
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
    0 \8 N& @8 i9 ^# f
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed" x/ d# p; v; q6 |8 y8 X2 [2 M9 ]
  6. )
    3 Q9 y. {: d3 f8 b
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:, N5 n4 c0 O; ^" H
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):
    6 \& T/ e% {7 U7 S+ V6 E
  9.     md.write(block)
复制代码
8 u! z0 g6 w3 O: _
0 E" B3 x1 I+ j- T1 q- x
要修改的内容:
: x$ p3 ^; Z+ Q+ c, a! {4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型$ k% p2 S- n4 i, q: E4 f
4.2 markdown_path:输出的 markdown 路径文件名
7 p0 {/ ?4 {2 C6 }+ i" o: o2 P4.3 /path/to/pdf/file: 输入的源PDF路径文件名
6 |" e" r6 _- r# w; @7 B5 T5 |# e. o; M5 _  r0 w% O
5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑 , c  v8 i- j$ M$ P. b- u
5 R& n* @1 J0 W- w, f
目前为止PDF转纯文字的最佳办法。
/ T( N' I% K( c( f) w先写个小程序,把PDF按章节切成小的PDF。
7 h8 Y; ~; d  o# c* D' \- ?然后,把PDF一个个传到deepseek,让她抓取,除错,输出。
8 g& j) @. [6 _9 g1 T8 O效果非常好。- L8 G( b( S9 }+ U+ [

* f* z7 V" f: D/ [6 }deepseek,qwen,chatgpt 三个,deepseek是最好的。2 `% z) A  J6 o: r' g, D

. s! W4 W4 C3 @- w* Vdeepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。# ^* H5 r9 |/ w1 ~- j7 |, a
而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
( r) T* I1 g' n1 J" C我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。
9 p- `' s9 G8 m6 ^1 x* D' j5 x  i- G  Z
API到目前为止,差强人意,不如网页版本修得干净。9 L/ N5 R) H0 K( k' _' U; Y! m
* X2 }9 X/ l/ e+ y
deepseek可以同时开四个。
. _9 T0 Y# [& M  v
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑 ' q) ]) f4 J1 q! W5 J
8 q9 i0 V4 a; {6 b/ P
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26: v, Q2 e: W$ u* c
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...
6 G8 K& |# R9 P& P1 @( D" N
细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33
3 J8 ^& x- t6 X% N* l细说一下,听上去很不错,多谢。

% h  ]- H4 F4 f直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
, N8 U& r( [3 c. \+ B" s- Y% g* ~
已经搞定.' p6 [* P8 V2 q1 c/ X
/ Q3 G9 e7 Z* w- |
首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。
+ j/ o0 y, M" R/ b0 x2 Y5 W$ A5 W3 J2 Q/ H6 F& w1 b
1, python + pypdf 按章节拆分小的PDF
2 a+ t1 @6 Q7 l3 ^2 u0 ?7 ]
; j% w2 T; K) r( w* h% ~& @& X4 e2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile9 K7 F3 ?. M+ K  Q1 G% B+ ?+ T

5 y0 Z. O, m. E* C2 }得到text file
# ?) D  @8 K4 J' ?+ K1 x& F. I" n1 X- X1 p+ V
3, python 读取整个outputfile,丢给deepseek 矫正。
' ?$ e% K8 H" q! a1 i0 c
/ N1 ^) o6 a  ~' u# T# F; h5 m模型是 deepseek-chat
8 n0 w! L" d4 W2 u, j" G. [) V7 O9 a( f0 e9 V
max_tokens 最大是 8192,别的不用改。
# g7 k: w$ W  K2 n( u7 O
/ U- Q0 i% r; d9 ]0 X参考:
1 n1 e! I3 O/ f9 W  dhttps://api-docs.deepseek.com/api/create-chat-completion
5 @$ k7 d0 B& ^; E/ S2 U
5 ]: K7 g+ \* d$ ^: f6 k9 f4,费用:5 r7 {! l# Q, |) C2 U5 B, q& d
' J$ h) A0 N% N8 n+ w8 Z
实测:7 z, x: K0 v6 \4 M- H
7 o  q9 t4 `7 a( N
296K 字母,用了 9 美分。
& ?  c' Q1 y2 f/ m
$ ?, c" ]" s& d6 l6 L" W* g, B英文字母 到 token 用量大约 1/3+ Q5 I- p; X  N5 K7 N( w

0 V( I$ n; s2 g2 d2 _( Vtokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899
4 O1 @  L; }2 e) O7 c- p, j
' t9 Y! L$ w0 i& M! z32899 个字母花费 11782 tokens,包含输入输出的 tokens) ]* O$ T9 d" d! c  W
8 N1 s. q9 D( s
价钱,非常非常便宜了。! F* }4 ^3 [) L5 h$ r8 K

# l# Z$ V0 j% R0 P3 c$ O  H6 C参考如下可以计算,懒得算了。
7 ~9 `1 m) T) s5 z
. I0 R1 g5 c2 N; P1 Q* n. h0 nhttps://api-docs.deepseek.com/quick_start/pricing
  ?/ V7 E. j& x5 j6 S7 F) }( z* a( |' E; x# e( H& H( E
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14
  q+ Z* G; _- U, y1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55
. G3 S' X  x; v' p1M TOKENS OUTPUT(5)                                              $1.10                $2.19: ~6 O$ {/ H+ n& S
, ]; j: ~% o9 R, j' F: Z: C
5, Balance
$ P. D- \/ F" \0 E( F5 U* \
5 R- m+ R3 y9 I$ A' s5 u可以在程序里调用,知道每次运行结束后,balance还剩多少。
: D. y7 Q- ^" z% w* D! z9 B参考:
. a, {3 e6 e7 U" M9 xhttps://api-docs.deepseek.com/api/get-user-balance
9 y" z6 B. p1 Q' {& f4 g; B' a" E7 c: _1 X' z! U. C
6, Models
7 S! @- F% S' q$ h( n# Z2 C% i, R1 E  ~9 ^, u% y
目前就两个, M, r6 W. C* u. [& @, d& C
# deepseek-chat
8 e" G1 L. Y8 Y: ?7 m! Z# deepseek-reasoner
1 a3 P; x( a: V3 M
2 D6 }6 o2 D6 |+ i# a  y参考:
- a/ x% }) c3 V. b; w) j! `3 _0 Ihttps://api-docs.deepseek.com/api/list-models! G( r* D" V6 M  p8 J+ T: m
3 G8 e6 A& d6 T. @/ Y

% j% H1 C2 ?1 P( C7, 问题! o* F; x( [. N( v$ ]3 n

$ g2 B8 v5 ^# N1 `  t0 R0 Q- Mdeepseek 会将前后两段合成一段。) E% o- G# Y5 ~1 x8 t! `; r
特别是那种大量的对话的段落,deepseek会给你合成一大段。
. H% d6 @9 G5 E* M3 e7 A9 Q: G' Z: }7 I' N" I" n
8, 钱说了算。
  G: ~# p% Z. h& K9 ]% g' U& V8 t7 G/ B, A+ }9 K/ [$ L7 G2 U& [4 T
deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。
# \) U) |: y: {; i, i但是API就不会出现这种情况,毕竟我们给钱了。
  I2 B3 R0 s8 a2 M0 {$ q# Ichatgpt也是这样的。' D2 e; K- f. q( w# I( C6 ~
! L* G6 F: C1 b3 |: t) P. N

* \0 o: p( m+ o. c




欢迎光临 爱吱声 (http://www.aswetalk.net/bbs/) Powered by Discuz! X3.2