爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑
6 N7 r8 u* @6 S$ b* O
2 B6 C% g& |+ |6 K( G, I+ t# J8 f% y. s把PDF上传,然后让他抓取文字,并修改可能的错误。
) e) G2 z! x: I0 b然后deepseek完美的完成了任务。6 r7 L$ d- _5 d" l
段落清楚,列清楚,页眉页脚全部去掉。' t; }- v* F. {% `5 Q1 ]
我要疯掉了!
$ ?  D' p4 I- x. N+ w赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!
7 ]5 W, @( [( P4 I0 ^====% x$ _! E! i* x0 \) L. A8 e" Y
中文也很完美。0 I; L+ H& b6 q) L
经验值,每次十页比较稳定。
  ?: i7 C5 @- q1 Y现在我这里API还不能用,等恢复了,全自动了。) K9 f8 W$ E7 Y! v
====! Q" K) u% F8 X  j
第二次疯掉了!
. M/ O# ^' r- D% ~我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
( u" V; P3 M0 i* U& P====
  q# @1 W+ X* y8 G( \现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。; c, j8 D' k4 @' O, u6 ^* O5 G
但是任务多了后,每次翻译的页面数是减少的。
) v* r# a& C! q* @. D3 @好吧,我五体投地,继续探索。2 C% C$ ~( H" Q( B2 w' ?. r
====
8 d3 o! V  h, r9 D为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。
: ], \8 {8 w& Z8 C4 g3 c/ U====! |9 R% Q+ a! [4 c- K  Y
好吧,有些东西是不给翻译的,哈哈。! D8 @/ t" c4 k' ^* S8 D2 ~
; M/ o$ t7 D% v8 n7 \0 W
Sorry, that's beyond my current scope. Let’s talk about something else.
3 L, J+ z% T& m, b) l====0 v  L% m0 J* i4 ^& r/ Z* F3 H
然后我的英文命令也让deepseek 帮我修改,呵呵。, r8 V5 Q! W6 R1 G1 Z! }
====0 j7 v) K, r  u3 d; W' n- Y
日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。
0 J8 S4 w6 o. v4 Q; M) W/ j====! Y  ^9 M8 z7 R6 u  |
时间段的话,北京时间的下午和晚上用比较好。
; i! i4 y, p# H! \+ F$ B+ n' C% o后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。9 j* i' @, w$ ]7 ]
====
# f& N2 u: y- E$ W用千问吧,非常稳定,非常强大。
* A) O% e9 N# y8 W  N4 p+ ehttps://chat.qwenlm.ai/8 @" W# c+ B8 |9 n& q7 p
====' z' O  a- g" R3 D9 c
Deepseek,API 看上去可用了,但是不给充钱。$ g+ d; L- ]# a0 p/ C6 z
7 D+ i3 J5 l2 L# N6 M+ i+ [( @
4 A7 v5 i/ O& K9 z: b" I

; ^( z, C; I) z, K* ^, L0 h
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53
. n+ r9 B0 e, i5 P这功能很赞呀

9 O/ @- E5 ?7 O简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13
8 f+ e% M) p6 d! r  e: i有没有上传整本书试试
: L7 B+ \2 x8 ?
目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑
) M7 Y9 g2 D/ R% \: c3 B
! m" E$ ^- b+ `" |以后让deepseek 读出土的竹简
0 u- M' I! N! p* s
; F$ l) k9 v9 t" `3 j还有把古文翻译成现代白话- u7 o' v+ _$ |( V0 M: o1 ~2 L
0 a; N  R8 `1 ^! I" O0 O/ t1 W
以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?
" F! n7 I$ g$ C7 C0 Z1 r5 M/ `# w3 B# }4 w' e
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:231 V5 K, i/ g5 n7 r
请教是如何实现的?
" D- U8 [; _) B! V! u5 x( S0 Z/ D1 I! O+ o; m
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

: p6 T& k5 l$ {- C" L5 S: X1 r4 o$ d% s+ Y5 i1 z. R
我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。9 e: K' S- N- d: q9 @, v4 G
文字之类的没问题。估计deepseek现在暂时只保证主要功能。( T" |2 g% j3 p% v
美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。* u) J8 _! P- k1 ?1 y4 ~

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:238 Y6 j2 k+ B/ A* b% Y4 @
请教是如何实现的?
) c2 x" t; U* T# X, B' h
1 U6 k- u! }( C5 F1 O我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
& A0 _  c1 R, O  O. Y" e& k
https://chat.qwenlm.ai/+ {/ J2 R7 ?5 J, k$ ?( j5 I* R
试一下千问,估计美国人没有攻击他,所以资源敞开用。/ c3 C9 c+ Y3 c5 k  y
很稳定,质量不错,好像最多一次处理15页。
' h2 F3 X' O9 ?0 u. {5 R) ~8 Z$ v我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。5 o# {2 c; r! |3 t: Z, v
处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。5 N! J6 Y0 q# e* v6 [$ b
这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
/ k; g5 u( C0 [- j1 G5 O4 H: T3 B
5 ~  X: i: `8 {, f1 R; ^5 t  vhttps://github.com/oomol-lab/pdf-craft2 F9 ^8 m5 ?9 ^

5 K5 @4 D( s+ {7 ~/ a. h1. 这个工具要求装 python3.10
! u8 b4 [& R% \- f( Y2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0, Z; A# q5 A0 @; i$ h( y
3. pip install pdf-craft
: S* i" W2 e: w  s$ T8 Y4. 把下面的内容写到一个文件里,例如 a.py, c7 }) }3 _6 a. q$ V" P

0 Y8 ]' F5 Q( `+ U
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
      r7 F/ Q  ?6 P: n9 N8 i; G. p* Z

  2. . S, I) R/ O* c. j0 R
  3. extractor = PDFPageExtractor(% G9 ?% g) L- F% f. z; e
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
    0 e; x( f- W" P  c" J& ~5 ?
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed
    8 [: s. Z) w+ ]+ t
  6. )
      K, s$ D! C% b& {! U' h) p
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:: W9 E, o( w+ K) b: `3 Y
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):  Z* y" m$ u9 o4 C" Q! ^( S' l' m
  9.     md.write(block)
复制代码

" v3 n  k4 [- D- H. I: x2 E* d; i0 y
要修改的内容:7 t  F8 ^( \7 K  W
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型
9 _4 R+ l- a2 i3 M# S4.2 markdown_path:输出的 markdown 路径文件名
0 P/ |2 N* A* v+ G0 c9 |4 s4.3 /path/to/pdf/file: 输入的源PDF路径文件名
3 t: X6 m  m% w# v: \
' Q! O- x' Y! m6 ]- W5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑 # ^. d( f4 }0 T7 A& [
$ Q. l1 K$ w  R7 \7 j) r  B1 E: ]
目前为止PDF转纯文字的最佳办法。
) y. ~  F* m" |) _2 b! ^先写个小程序,把PDF按章节切成小的PDF。
. f  v3 O  s- @; X" n* `  G然后,把PDF一个个传到deepseek,让她抓取,除错,输出。
7 [  j) \# A" ^: \6 s效果非常好。
: F. h2 L/ X2 @) j8 K1 \( f# o  U1 \
deepseek,qwen,chatgpt 三个,deepseek是最好的。6 A  R! L' i6 H6 P$ L& r
6 V/ t: }$ `8 g
deepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。/ I7 ^+ V, V$ Y) v; y; f% x( ~, v
而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
" W9 h$ g- B% q! p& V0 G  m- g% `* e我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。6 h# g2 o; d. K
! i+ A* ]1 X# r' j6 `
API到目前为止,差强人意,不如网页版本修得干净。
, V' f5 I* \* R/ [1 r& p% y+ ^, x6 f5 B
deepseek可以同时开四个。# y1 _+ R2 e3 Y! H

作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑 2 \: w. z& f% X& D, |1 O6 [6 H

3 C) y/ E: J, l4 S- Z4 ~让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26
* F6 V, T7 Z1 R' a5 `3 L4 R1 y让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...
9 z& l0 m( R( J2 M( E3 y
细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33/ f, q* S1 R& D8 c' j8 i
细说一下,听上去很不错,多谢。
% r$ X1 C* V. I. C0 l# e" f
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
7 X/ [8 ]7 A3 V7 Y% I" E3 S. t2 q9 @( x. S- t% r1 d4 |
已经搞定.
9 v8 {& u& C0 F7 K: F+ L8 L: o5 J4 T! x3 Y6 z/ A7 N
首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。' M1 v- D% I! I; k

/ _2 |/ ?6 y$ P0 U! g' w: g* \1, python + pypdf 按章节拆分小的PDF/ N- ?2 n+ l- A$ G0 m) _0 H) ?

; N! Y% |% e9 Y" |$ X' c2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile
* _$ r1 ?7 Z" J" l
5 @7 C) o" D+ M" s得到text file
9 D( C. x3 z4 K( d! \  F, c5 u3 Z( C( ]. `
3, python 读取整个outputfile,丢给deepseek 矫正。
2 Y; i) C7 f* V# t+ G
) @5 V! Y2 C3 f! \9 l模型是 deepseek-chat
! k0 b  L8 R4 |2 S+ M" j8 k
! K$ S) ]' Q! F& W& U% K6 S2 Bmax_tokens 最大是 8192,别的不用改。) S' M* P, f8 J6 ]1 A  s8 p' T9 T

; L3 |! k% j+ B) ^  t参考:# k$ {5 o& i* g# {, |) b
https://api-docs.deepseek.com/api/create-chat-completion$ X) B# ^/ X! e% E- R

$ i7 g# I5 n, d% h4,费用:% a: ~: A) E% R5 b6 X8 A( H

5 d. a9 h# |4 r0 A实测:( z" k; {; {6 \. u# W
) G! M  V/ b8 K
296K 字母,用了 9 美分。
, K, B4 {: Z  Z$ s2 v
- h9 ^! r2 m8 g+ ]英文字母 到 token 用量大约 1/3
) S& T9 m: r) \  {3 v" i( U& X/ Z" B! e4 N: U$ a* n6 V/ p  X
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899
: G4 ~9 |& x7 o
' L6 q" o% ?  K# J7 t- m6 T32899 个字母花费 11782 tokens,包含输入输出的 tokens
0 x7 ~% \- {3 ~* G; }' @6 x* \/ ?! C" r& K3 \
价钱,非常非常便宜了。- x1 T- D& `1 L& [1 @
7 k& a% M+ k1 B/ E# F
参考如下可以计算,懒得算了。
$ E2 n5 X# H1 C& l% H3 ^4 @- ?) J
9 B* F$ u4 D2 F% `, |: U0 p/ dhttps://api-docs.deepseek.com/quick_start/pricing# Q( _0 M, N5 _! i% z  v
0 a/ B+ t2 @  W' k5 x
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14
! @- O4 }' z. ]* n/ ?1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55
  f( p, m! c; x1M TOKENS OUTPUT(5)                                              $1.10                $2.192 Q& y6 a0 K& R: B$ {6 f, Q3 R
) d  O  ]' K8 I% o5 r; N6 |+ n5 [
5, Balance1 R2 s% i" c; V, ?( {7 }& Q

$ @0 v4 Q1 L- K& u& K0 I8 Z可以在程序里调用,知道每次运行结束后,balance还剩多少。$ A% `$ t4 _7 |& f. u7 M/ o9 H
参考:
. }% ~- R+ f/ F$ bhttps://api-docs.deepseek.com/api/get-user-balance
, x3 w( B& ]2 y# ]) r  D+ H" S* K2 f. A
6, Models
- K% c9 g0 V2 p6 {# j1 n' O2 _9 i, s$ Z" [
目前就两个9 [( n8 S% r% R8 R
# deepseek-chat! ~0 C8 m/ \4 ]) \9 a: ^2 R1 e; b
# deepseek-reasoner
4 {* Z) l% L. i( I2 _4 A8 v1 {4 y. s. W4 d+ P, D! o+ g, d  \# P6 H$ ~
参考:* O/ e8 z7 v; f6 D2 t
https://api-docs.deepseek.com/api/list-models8 @4 [7 }+ B: d* u2 e" d
8 \1 a% U" b+ F2 d' K2 g5 w" f0 x
$ c6 T' u/ b% |! s( V* G
7, 问题& ?$ u( g# D, T  I" ?5 b$ h

. S+ H7 |" i' adeepseek 会将前后两段合成一段。( t7 B. Q: S, r/ E3 d' c) w% f; _6 Y
特别是那种大量的对话的段落,deepseek会给你合成一大段。$ t8 B) i% G2 X2 D  q: f; s
' L% T) E4 l. g7 H) g
8, 钱说了算。# l2 w) v& E% N8 o
% `% v( c1 j( v% |7 j, V# \
deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。
+ _( V% m0 R3 O; t$ L6 {4 V  b6 a, k但是API就不会出现这种情况,毕竟我们给钱了。7 w% K: o2 r2 \
chatgpt也是这样的。' |& G: R* K8 U2 o; f* N
+ W' V: W: q( g$ P# O. M

; {" `% c0 |* v1 d' Z: e2 q




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