爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑 # _; n: ~7 H1 j" c& ]+ q/ F7 e

2 |- z& _6 s+ p6 M把PDF上传,然后让他抓取文字,并修改可能的错误。8 P' h' w; i. s. V. ~& J
然后deepseek完美的完成了任务。7 T# c* a7 u. o0 k  q9 z
段落清楚,列清楚,页眉页脚全部去掉。1 {! h; {; [& c+ l( c7 i
我要疯掉了!
# `, I$ X6 ]" ^. z赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!9 X$ [& p) d: L5 h* o
====
7 c1 V; K6 `% M8 Y+ a2 _: M4 t中文也很完美。
8 q5 e/ z- C' _+ w经验值,每次十页比较稳定。) K" q* r5 m* t: {% t4 V
现在我这里API还不能用,等恢复了,全自动了。
4 b5 }0 L( _$ Y  i====
. W4 N4 }  x& k! _, K+ a第二次疯掉了!6 X' C4 C/ c  D& m
我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
* \/ w" f  Y4 ]6 u4 h/ t9 `- A====
9 d5 l( k% z/ ^3 |4 C, H现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。
2 |( Z9 @: c/ I) i3 C5 F但是任务多了后,每次翻译的页面数是减少的。
% R5 k$ L. ^3 {! {" M' _* i$ r好吧,我五体投地,继续探索。
4 t7 B# k" v: H: a8 N5 b8 ^# T====' g9 _' ^8 v7 q9 U. s0 P% F& y
为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。
7 ~5 J9 Z7 A, j====* l1 ~% u# u4 x
好吧,有些东西是不给翻译的,哈哈。
  y# t# |8 I5 H& _% _6 S- f/ P( n8 E0 P9 V- N$ |
Sorry, that's beyond my current scope. Let’s talk about something else.
5 H1 U. i9 i7 M( _7 K8 O/ A====
& Y: p' W% P1 X然后我的英文命令也让deepseek 帮我修改,呵呵。, i: s3 ]$ l2 F
====7 g4 V# k, a! S9 I4 I, V. C2 U
日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。
, B  N1 ]9 t  K5 Y. m0 j! d- i====
! j% n- c% k  ~时间段的话,北京时间的下午和晚上用比较好。
* O( Z9 F% H; x* @$ Z8 G/ n后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。
+ r( M* o2 c( D( k# A4 b====, \1 O. p& b/ l- O9 g: {- k
用千问吧,非常稳定,非常强大。; t. D3 L( Y5 y8 l& D% ^  `1 F: E
https://chat.qwenlm.ai/! s2 r+ m: R3 c: m) X4 v7 e& ?
====" X) H9 {6 v8 n1 a) N
Deepseek,API 看上去可用了,但是不给充钱。
0 A( Y+ c1 K5 N. M% L
5 ]: J2 i6 C8 Y- f
6 y1 d$ h' J8 w8 M1 a% c  h  u! d" `1 p

作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53; g# K. \$ R& F2 d- _' {0 i
这功能很赞呀

* G- ^" h* A7 ?- z: V& P$ x简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13
0 }1 K6 P$ ?3 y' Z# d: K6 `7 g0 x有没有上传整本书试试

" _" G  C& e# O目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑
+ t  v( c, x3 B$ X. T; J
% X$ i& V8 e8 ?2 r! {9 o4 b+ n3 {以后让deepseek 读出土的竹简
$ I6 a" \& K2 u3 Y% I% a
! {. J$ y$ b2 ]( b还有把古文翻译成现代白话0 R- d' c+ G0 ]. Y

% h4 v) k5 n: a6 W以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?
8 e5 P  e% x8 X! z4 y9 W- R& F' Z% Q* Y( U
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23, d9 F2 e* L! i* I: ]& r3 z/ Y$ x
请教是如何实现的?
/ ^/ ]6 A0 b( ~- y
4 J( m9 O- c/ Q我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

# Y% T6 _8 c7 U, |" S+ [* h/ A
' B, H2 i/ _0 l; n4 F( R- t我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
) G% ^& \: N$ N. }" N. t/ _* g文字之类的没问题。估计deepseek现在暂时只保证主要功能。% q  I6 B9 M2 k* ?/ O! S9 ]
美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。
2 b# e  W; P5 H! y+ ?2 J1 I" f9 C" ^6 ~
作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23
+ R, v. `* l; W) X+ f请教是如何实现的?
7 y+ R3 O8 j' o3 |% O  u" I! K0 z5 j4 M/ Z
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

  h- T8 O4 H$ X! ?8 mhttps://chat.qwenlm.ai/# c7 |3 Z0 I5 g3 I; R2 S
试一下千问,估计美国人没有攻击他,所以资源敞开用。
* n$ |( A% `! `/ e5 C5 N( h很稳定,质量不错,好像最多一次处理15页。
: g/ W  G) i0 w$ B8 p' `* T' [7 C; s# n我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。1 y- s5 Y- L4 x& V
处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
7 z7 p  }2 X* j+ {! q这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。& B$ P: S! ?8 o4 W. p6 n$ N
+ m! `  N. H1 k( V' q8 @
https://github.com/oomol-lab/pdf-craft
- r, _; D- `: \6 c% ?1 O9 s) U8 D8 o2 ?; X; ]# e$ n
1. 这个工具要求装 python3.10
+ N- `2 Q6 |/ ]6 x! m2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.02 t; d0 t& f# s
3. pip install pdf-craft
5 H7 w% Y* d4 J! H' u- K3 k4. 把下面的内容写到一个文件里,例如 a.py# |' x& K6 j9 h0 w& x5 v
4 z0 b( b4 l: d1 J5 t
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter: |# u- B) D( B  Q7 J, ?# w
  2. $ L, i6 H/ {! b: Z+ R
  3. extractor = PDFPageExtractor(2 ~7 x( n2 E. a7 w4 w
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.' r) j! \# T& W/ [
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed
    / @5 h# P+ G/ o5 P& J9 U; X
  6. )
    1 n. y8 J. P) T9 c2 a
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    # B2 g/ d* ]1 S8 f4 F
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):
      P9 M/ ?# M7 e* C
  9.     md.write(block)
复制代码
4 u; h$ x, y1 V/ c) L9 H2 j, @6 b
* Z. p3 Y" K) l8 b
要修改的内容:: Y# g! ]& Z2 G4 K2 K/ k3 L8 H: `
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型) e& p+ Z: C& o/ S8 m4 m5 J
4.2 markdown_path:输出的 markdown 路径文件名
/ M  P7 z4 N9 j% S8 O! [4.3 /path/to/pdf/file: 输入的源PDF路径文件名+ E5 C( }3 |4 H3 J5 F7 P. S
" v3 _+ t5 l  T  G4 i$ n3 ]
5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑 + N, C5 ?4 J8 K
1 l& z8 I' Q! v4 |
目前为止PDF转纯文字的最佳办法。
# Z; Q  {2 ?$ I  M. K3 K) O先写个小程序,把PDF按章节切成小的PDF。! w5 {4 A/ B, x+ ^$ C8 K
然后,把PDF一个个传到deepseek,让她抓取,除错,输出。& _+ }' [8 t8 ^& o; B
效果非常好。
) B/ N3 {$ X8 g, l5 L# {' b5 D" M$ H3 p5 f
deepseek,qwen,chatgpt 三个,deepseek是最好的。8 E& @- T9 ^0 i& x+ d$ G* a6 r& t0 @6 w4 I/ R
; a5 z( f8 J0 Q5 C1 m1 T( X( R
deepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。
. [7 ]9 _& z( z  _- N而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
! a% h% g! n8 [5 A8 {  V我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。3 ?, q3 L( |9 ~! A6 l

1 O. F$ Y5 c  i% a5 y! HAPI到目前为止,差强人意,不如网页版本修得干净。4 \& d, ], c; }: I2 l1 R0 ]

+ w1 v( h, ^0 S* r( Q! Z( T2 h$ Odeepseek可以同时开四个。2 ]( n. w" Q- A. t/ V

作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
, {, D  r  O1 L4 w# U% Y5 T( |3 h9 `* }
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26. q8 ~) s; h8 T$ L% m. Q- i
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...

  a* z' J& U" I( Z" `" f1 m& U4 o) ]细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33* T4 d0 v" T& n( R. s
细说一下,听上去很不错,多谢。

. ]6 j" G5 y+ W6 `直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
5 T8 j7 F4 k7 n$ c+ N6 A0 M0 W7 w2 W' l* Z; ]* ~; I* `" m
已经搞定.
/ h2 [& O% D+ M
& ~. |3 f& Y8 m首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。
6 v' q5 n% C) K  m3 c, W8 y* F
5 c" I* P2 Q( j1 R7 A1, python + pypdf 按章节拆分小的PDF) n7 v* V% V4 x
- }- Y" L" V3 B9 y' E. f
2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile
! o7 M& G7 s* ~1 j
1 f' K- Z0 q; Q( R5 v得到text file. X6 s0 r( e/ b- v

& J# H# r6 E1 J4 a+ C  Z3, python 读取整个outputfile,丢给deepseek 矫正。9 q) Z. I6 \( @/ }% ?

. e% h6 Q" b( X7 V模型是 deepseek-chat  Z9 r5 ?+ b" W3 ~; j! X

7 }' Q  d; ?9 v7 }2 E' }# Omax_tokens 最大是 8192,别的不用改。3 g% B9 ?/ b$ K, N0 u1 }: G
( M' j6 S) G; E! j
参考:
- m9 @8 L" _: g) t" w+ Ghttps://api-docs.deepseek.com/api/create-chat-completion* o+ q4 k( H  k* Q

, U  v: y; Z( U4,费用:
# r4 U0 M6 X# Y4 Z0 l4 F0 Y( T6 Q) X' V/ b7 E5 ~0 R
实测:9 M" ?3 J/ |% N
) G3 f4 R9 w) L) }/ S1 n9 q5 v
296K 字母,用了 9 美分。2 ]. o( d4 f7 l# L/ P

! l) s2 f( P( d) \& }英文字母 到 token 用量大约 1/3
% O: ?( t- g/ z& z3 a3 P: h( I% ]* o
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899  ]2 R& V# q5 S) k
6 z+ {7 Y$ J& b1 J& ]2 d- W. x
32899 个字母花费 11782 tokens,包含输入输出的 tokens# J# k) M2 y- d: X& E& A0 U

+ x' W( r' k4 m3 ?6 ^& c& ?0 a价钱,非常非常便宜了。6 F" z0 P$ e+ e6 \! I  i; \

1 p% d& D! B, w& T) }9 k% c4 X参考如下可以计算,懒得算了。
- {0 C% X' V& z4 e3 P3 J% \
7 o# i- D  ~# V2 ]0 P  u0 Lhttps://api-docs.deepseek.com/quick_start/pricing; J- J/ J; }! q% i

3 R  U1 \/ M+ X( B' N; n1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14
. T6 r  s# o: I" X: D) l! K& M7 t1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55
% s& ?3 ^+ t6 x5 O1M TOKENS OUTPUT(5)                                              $1.10                $2.193 H% m* n0 r% B! v6 J
2 p# N1 F; n) G
5, Balance
! R; W1 L8 _  @6 N+ m- A8 p0 t2 ]7 x) D; `. J; c+ s' S, _
可以在程序里调用,知道每次运行结束后,balance还剩多少。' t( g, e3 U5 i# ]3 j
参考:
/ G- D9 M2 Z8 t4 ~https://api-docs.deepseek.com/api/get-user-balance
/ Y: e# T$ S# i1 @0 k
0 v# j, w+ N1 p$ I, ]; Y6, Models
8 v# }& a( {" \3 x
  z% n) d# \- u  b, Q2 N% {目前就两个
, E7 ]1 v* R1 |) D7 J9 [3 f7 ~# deepseek-chat
. i- |+ d1 j5 W0 j# deepseek-reasoner2 k3 V2 c% J3 j$ N$ X; d
- @- r* z) |  V& \7 U
参考:5 @6 g! j- Y- n1 s
https://api-docs.deepseek.com/api/list-models
: k, z* ~! E! h' L7 `% m
3 H8 P& P% i, O3 D, k. w: R+ m9 }% ?: ]! K
7, 问题' d! B# ]) y' I2 P1 o

; `, R3 O2 o2 J( w8 xdeepseek 会将前后两段合成一段。% j, N+ {# X- C1 G& m# H
特别是那种大量的对话的段落,deepseek会给你合成一大段。
! f8 F* @3 n: r- R" p3 D0 W$ E3 {& `7 A" _/ I' Z$ }8 P
8, 钱说了算。- s$ {) V, ~5 Y! n3 z" {

4 w1 e) |9 D: q  l, B% Ideepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。" G% B- E% K! }
但是API就不会出现这种情况,毕竟我们给钱了。+ B& i3 f8 I( \! l
chatgpt也是这样的。# N' W- `' p: ^' h4 C+ ?
; y4 d* j$ f, q

9 Z8 |+ p$ @3 g* {& L5 q$ q$ i




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