爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑
+ ^1 B' J& ]4 @) R; C- m/ M+ W# K; u$ f5 U
把PDF上传,然后让他抓取文字,并修改可能的错误。! N5 Z* H6 Q0 A  A7 G0 N2 ?) B) E
然后deepseek完美的完成了任务。
) b& f! O& m' W! F% _; `" |段落清楚,列清楚,页眉页脚全部去掉。
- y# L  [, \. w/ F! ?$ b我要疯掉了!* f; q& O+ H& y7 L0 V$ k
赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!5 ^  K) v3 ]3 S1 t' W* j5 |  R( O
====: o0 y# W( S# N8 }- m9 \
中文也很完美。6 S. M3 z/ F2 c9 F3 T+ ?* z. @
经验值,每次十页比较稳定。
6 |7 l5 p5 N- I# S8 i& M3 H现在我这里API还不能用,等恢复了,全自动了。. h/ h# x0 z2 f* G1 T
====
7 z; q1 {7 m5 ?. z8 x- z9 x! R第二次疯掉了!2 @; a) l6 Q2 n8 C4 M' x$ z
我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
6 @* U' b+ g! V( `) ~! |% G====
2 k  c6 }' I# j. _# i现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。
, ~; X7 t1 @. @. e" P( {& J0 V& J但是任务多了后,每次翻译的页面数是减少的。
' C" z( a! i6 g0 D0 e- r好吧,我五体投地,继续探索。
% @& ]1 H6 ~) Q! K8 T( \& m( W1 A! s8 P====
" h0 _  d4 }' ~- \4 o/ Q, @为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。- }6 h* v5 s" v/ H1 j
====& j8 [  g- E" N* [+ U
好吧,有些东西是不给翻译的,哈哈。8 ?# a, s& ?- B$ K! E

* K. }4 ]/ x% q# a3 MSorry, that's beyond my current scope. Let’s talk about something else.# ]- i( ~/ v7 G2 v+ K
====' g- y& ?, O" v
然后我的英文命令也让deepseek 帮我修改,呵呵。
0 |, e7 s* G; a  m# {" v$ G====* [5 \! I$ g4 G  N% n5 [# T
日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。
0 g7 h( |* F1 Y" f1 s+ l, ]1 E3 d====
# t7 S! R0 j" K5 o# g/ D8 X* q时间段的话,北京时间的下午和晚上用比较好。
6 r2 i, d* v9 C5 W+ T1 w后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。
; Z% h% t9 b' u- u2 \====; K1 I$ N. I1 l
用千问吧,非常稳定,非常强大。0 A5 V; {2 ?2 i+ ~
https://chat.qwenlm.ai/% i7 e) n4 I% Q. `
====
) u1 }/ F/ {6 {# i2 O4 @Deepseek,API 看上去可用了,但是不给充钱。
0 P3 H8 h- M- @, P# f" D, `; C  f* s" U

2 |' r- J7 H. E' ?
+ A* O  K5 z4 s6 \6 q
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53. d4 s7 \& z4 x- d$ z! W, @  z
这功能很赞呀

+ @! j& t" l+ F. F4 p( W简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13' Z. I4 k4 e7 `( `9 M6 Y
有没有上传整本书试试
3 B7 C0 X! _9 J. b* c" `2 R9 ]
目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑 3 T. V& k9 ?. z

  p/ @# }8 Z  N以后让deepseek 读出土的竹简
0 [7 m! C: N* d, m/ J' o* w
/ H& F8 L; P* }. e还有把古文翻译成现代白话
* C9 t! V( L! X* d
& s8 {% b5 {; _8 o以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?% w) d+ B) D: q5 y$ F

5 h# s% W5 i& H我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23: s0 v, E9 Z/ ~' e/ A' y% f
请教是如何实现的?
: e5 _% k6 |1 }& S0 d) Y* x
2 L1 r6 }, p$ V! `我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

) X/ W% f% h( f* q  x1 Q) R' X4 S. [5 |3 _+ u( X% }% D* N  W  D
我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
+ c% w# @- G0 m" k/ B) f8 g$ v文字之类的没问题。估计deepseek现在暂时只保证主要功能。( {; @' n; p& e: a
美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。
4 U4 s  d" |% c; \
作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23$ x1 Q& G3 J0 ]) l1 V
请教是如何实现的?4 l  q- |0 e3 D
! b/ U$ `; A# `) D( A
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
7 @! Z+ o, _- o9 N: C4 C
https://chat.qwenlm.ai/  F) I; |/ o( l, S" g
试一下千问,估计美国人没有攻击他,所以资源敞开用。8 r/ Q/ o0 n. s6 I# c$ G" B
很稳定,质量不错,好像最多一次处理15页。
6 b0 F7 M1 @/ i9 F6 C" |我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。
4 W2 j0 Q0 J5 W( l! t0 r0 l2 g处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
" u4 s3 g: H4 k2 ], y这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。; m0 `2 q2 R- ]1 ?) n1 i9 E" p7 F+ N
% j1 ?( u' v: m) T
https://github.com/oomol-lab/pdf-craft+ a, k4 g- }% q9 U" o$ S  ~6 S  d
  w; c& Z: J9 @7 @  s6 c- d
1. 这个工具要求装 python3.10; P# C9 Z  b2 H5 p) X
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0
0 W1 ]& s+ S# C7 j, M3. pip install pdf-craft! S: y& b+ Z. S" q* \
4. 把下面的内容写到一个文件里,例如 a.py
" w4 W( \7 u" v* i6 D5 A& F- U. j) v# W# y
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    " w4 o) ?5 V3 O4 ~2 B
  2. * v1 z: h5 n' H" P4 h1 o! T. ^5 q
  3. extractor = PDFPageExtractor(5 V8 ]& G& I% m- P2 z
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.7 d; ~) ?* m7 Q$ g3 M
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed
    * J4 N. m7 T) [! U& I# E
  6. )# u* i+ P. L0 _
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:1 y1 C0 e' ~. m( c3 A0 u
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):5 D& Q  c9 q# Z/ k9 g2 X
  9.     md.write(block)
复制代码
0 A- g* J1 Z7 Y- z$ U
. E* m5 S0 Z/ G. f7 f
要修改的内容:9 C  P: i* q& C
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型
) E: Y  X" s& A) Y4 t4.2 markdown_path:输出的 markdown 路径文件名
  \/ t" E' q' P1 z' A, {8 u4.3 /path/to/pdf/file: 输入的源PDF路径文件名
0 U' f9 r* e/ Q9 c2 `; \
% }3 M+ t  k, I. {3 V/ m5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑 8 j9 C) E( k& h8 f9 C
! Y6 M6 ]+ ]3 p& x) n, G
目前为止PDF转纯文字的最佳办法。+ l, X+ ]3 m! e% c8 L
先写个小程序,把PDF按章节切成小的PDF。
2 u# W( c# ~  i2 [然后,把PDF一个个传到deepseek,让她抓取,除错,输出。
; e0 n- o8 Z$ v( v" U, z! \( @效果非常好。9 {1 p" }  p, f" `

# \: m9 Z! x. J* vdeepseek,qwen,chatgpt 三个,deepseek是最好的。
. \! l7 P( r1 f  P, {5 c6 P- L/ Z, @6 R# b6 G0 m2 m
deepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。$ s" A4 L5 \# t' K2 D1 }
而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。" Z; T* F0 l8 j8 j- U1 c! a+ e- p
我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。
3 N3 V! A! f- F3 o$ r
- C+ S" o6 r( e) \: ~/ [; z' g/ XAPI到目前为止,差强人意,不如网页版本修得干净。
& @) I9 R, E; H, ?2 z
+ r# s% i& g( P" a: L, a2 Ldeepseek可以同时开四个。, S. M: y  P8 y5 h

作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑 9 K5 f9 `; Z' T! V
; R6 ?9 \/ `4 q$ n1 l) b6 s4 W
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26
5 I( }* K" _$ O6 {7 x5 M让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...
6 E; Z; C. p3 j& P4 J
细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33
( n  R, N( ~0 a+ |. x. m8 s  T; Z, c细说一下,听上去很不错,多谢。
% M: ^# |  S% A, z
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
8 r, Y& _( u" F5 v" z$ r
2 y  j* o( d, Y' _% W: y8 T  {已经搞定.; Q8 }6 t: g- Y* Y
: B/ j- [* c; z! y' x
首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。
" J( v3 {' p9 R" A+ ^$ l8 U# X' s% c7 M0 \
1, python + pypdf 按章节拆分小的PDF/ E8 C5 Q$ o3 k' W

5 b' Q- {1 V5 L+ A2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile4 f( {) S/ V$ i5 c$ Q

2 l- l- [1 j1 q& j1 k" N  e9 C) J得到text file
9 N4 D( q8 u; s6 y5 D3 g9 {3 b5 [& H% w+ f4 A
3, python 读取整个outputfile,丢给deepseek 矫正。
( ]$ ^: ^' r6 m6 p! B3 R6 Z6 d9 C7 }$ ]$ |1 V
模型是 deepseek-chat; c9 y4 ]) E/ A  a
# ^# B) }" i, X. B
max_tokens 最大是 8192,别的不用改。
9 w" Y# X2 s  P4 S
* [+ v5 @- F2 r6 ]& @- L( ~) \参考:
5 L% Y4 s( q3 Y6 X$ s$ \https://api-docs.deepseek.com/api/create-chat-completion
8 D) f: L4 x# K( H4 |, T: I0 ^  A& c& n
4,费用:
6 x* O+ m. o$ a4 m  B
4 O7 o! A8 G( m- P2 S7 K6 }8 a实测:
. ^# Y6 {. Q% l0 Z
6 i" H& F0 W/ \" U7 u: g6 W; N- b296K 字母,用了 9 美分。9 H/ H8 ^4 A2 I$ S# i
! }; O8 m1 v, s9 {& b* h
英文字母 到 token 用量大约 1/3+ M$ x8 B- C' w
* D, ^) f) |3 i8 y9 P% K
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  328997 h  i5 ?7 D- }; A6 [9 V

" p2 ~/ z1 b$ t# d! S32899 个字母花费 11782 tokens,包含输入输出的 tokens" p" J8 D, L* a. l6 w/ J$ m

* S7 d$ U' N5 A0 I价钱,非常非常便宜了。
3 `( A# e+ k/ t# H$ E* |0 h" b4 {* p% U
参考如下可以计算,懒得算了。2 W+ `0 }# v1 q1 f* x% i2 `
  T/ g# K, Z# t" \+ R) M
https://api-docs.deepseek.com/quick_start/pricing
2 U& }0 Z* w) {, i/ c; T, f0 H
6 D& J6 {) y5 `$ ^+ N! R1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14, ]" J$ X0 _- G' I; @
1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55
6 m' y7 {% r1 v% e8 a1M TOKENS OUTPUT(5)                                              $1.10                $2.19+ B' e0 K2 J0 o' U! E9 W

4 V- b7 t8 Y% k5, Balance
% X7 ^/ E6 J5 E' x+ v
! T2 E2 W4 C, o6 B可以在程序里调用,知道每次运行结束后,balance还剩多少。& M, @, s" T/ W' i
参考:, s; \! ~3 O# o
https://api-docs.deepseek.com/api/get-user-balance3 p" |1 k6 k+ l  ^5 a
2 V! L* {. Y( ^: A0 l* O
6, Models0 @+ |+ X& v+ y7 v$ D1 e# U
; p; ]) [: l% ~& x
目前就两个
# l; z8 w" A- q# c8 I0 r* P1 F# deepseek-chat, H, B4 k6 B. N) G
# deepseek-reasoner6 @6 ~) U1 Y4 H- C6 K! V/ A$ l2 O8 b
5 S. f- `% U8 E  Q. w
参考:
+ w/ z* Y& S5 Nhttps://api-docs.deepseek.com/api/list-models
+ C4 G2 c3 r1 h- I" X* O; `8 o0 s' M" c' I  q6 p
% _5 \2 f8 O" o/ u6 ~
7, 问题, F# v, D) ?% k4 s2 A

6 k# ?& q7 u+ B5 B& ?deepseek 会将前后两段合成一段。1 i- a. P/ y+ N7 F) f1 K7 C
特别是那种大量的对话的段落,deepseek会给你合成一大段。
+ t3 M- U* ]8 @, @6 ]4 ]0 Z2 ^8 L
8, 钱说了算。
* v; X* @1 p0 M& Z4 a: u% i0 q1 U9 ?
deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。
  M! \2 R5 F: G# V* y但是API就不会出现这种情况,毕竟我们给钱了。
/ R7 {. A( |7 @2 f  [: Kchatgpt也是这样的。" ?+ |! _) R5 `* y5 m

8 G; p( V$ s% I" I6 n# e' ]& T6 h9 e# B' s) ~& X- i% G' v" v6 Z





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