爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑 ! }7 x2 \" I- u) }3 R  p2 N

# J/ O- ^5 H9 u- n" N把PDF上传,然后让他抓取文字,并修改可能的错误。. B* O: V/ [$ _0 ?& J  C6 A& |0 A
然后deepseek完美的完成了任务。
; I. A: @3 B: J* ?( r段落清楚,列清楚,页眉页脚全部去掉。
9 q9 w. Q3 T- V" N. R9 B我要疯掉了!& j% v8 L! Y. e
赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!8 ^: X0 X5 ]- `# `" ?4 v4 @! I9 T
====
& U+ e4 F7 s0 A1 i$ G中文也很完美。
3 e& ~) R4 [7 y  @4 _9 H* u# |' ^经验值,每次十页比较稳定。; ]7 u; q- \8 r! C6 ?" k7 R
现在我这里API还不能用,等恢复了,全自动了。1 F4 n+ y3 J: v. }% r  {0 N
====) Q2 K. W$ }. L$ q8 ~2 I
第二次疯掉了!$ w& U6 w5 L9 l; E# q' ^! T: N
我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
2 K4 q) N% |  T2 D8 j====
1 U+ G1 z; N+ o8 J# Y8 W5 I, ^现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。
' ~% X( _, {! I0 o0 y+ }, e6 `但是任务多了后,每次翻译的页面数是减少的。
# x) ^1 F: {1 S; F4 c) s. ~好吧,我五体投地,继续探索。
+ `9 [, s' @& j+ V+ s====$ `2 x3 s3 O2 b8 K3 D
为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。# a$ u# Q2 d, N$ m4 D) O7 z3 [) r
====4 \) i/ {/ P' x
好吧,有些东西是不给翻译的,哈哈。; X! g2 P6 a% H0 X" C

6 ~* a- E9 U7 b. gSorry, that's beyond my current scope. Let’s talk about something else.; L) B: J! D9 N, X$ w4 `7 T# ]1 Q/ a
====7 V* a( C5 u) N3 ~
然后我的英文命令也让deepseek 帮我修改,呵呵。7 m/ }3 q& G/ \7 e
====5 h1 f" g& d' F4 m) m" @8 I+ l
日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。% \0 V5 @0 U; ]" Y/ B
====
7 U* ^; x2 k$ w$ r! X时间段的话,北京时间的下午和晚上用比较好。) a. f) Q6 B; U; Z4 N$ G. c
后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。9 R; B( c) @) A( l; V6 D
====
0 @; I" |# F" N用千问吧,非常稳定,非常强大。( C3 @7 Q6 L3 ]% k& X! N+ |2 g
https://chat.qwenlm.ai/
- ~1 {/ t; Y# n; u- y====4 J# t" x; c5 Z' J1 N# p. }* p
Deepseek,API 看上去可用了,但是不给充钱。
% ~8 T( A  O' ^- v) ]2 B$ z- Y( m- X. d
' J" \5 A6 x1 C
. S6 g% L, @8 h( V0 e6 e6 l1 S5 z
" u& e7 m0 b2 G$ f8 O0 d; |
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53- h4 Q  R; F6 W+ K* J$ i
这功能很赞呀
) c6 n6 G$ ?6 v
简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13
7 U) }- C+ j& ?+ j/ a( l有没有上传整本书试试

' i/ U$ X' n4 @* a9 ^+ a目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑
, A- V9 j) S3 T; {2 |1 ]9 A% Y/ ~& F
以后让deepseek 读出土的竹简
2 J2 e" B$ z( h; v7 K, l9 p8 O8 |  W4 }+ Q% l/ }" s
还有把古文翻译成现代白话
4 b  ]. }% ?+ f+ p$ P  _5 v2 r6 @0 o, U, G8 l. \! o
以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?1 S' Q0 @, }! Z0 ~# H- j( {

% U$ `# C5 g7 h; P$ e7 ]$ A( j我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23
+ j& Q) p' C* j/ F请教是如何实现的?
5 q7 I% U7 T/ {+ b7 M
2 Y5 W+ g9 Y# s: f' m. P; z& T我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
0 L# Z$ C: c- ?2 \

( e+ W0 B' v8 c4 ^我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。& Q9 v' ]7 ?2 ]
文字之类的没问题。估计deepseek现在暂时只保证主要功能。! n5 d5 Q7 E+ _# N& F% u, a5 K
美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。7 {5 p! r+ ~' t

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23
# w# H7 i2 z% B5 u2 N请教是如何实现的?$ J5 \+ h" s3 s9 \- v9 W, [+ j" c
- n9 x' h. D8 {: X5 s
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
8 y/ F/ P( l; Z3 T+ a
https://chat.qwenlm.ai/( {2 L+ k) Q. O- Y- i- ?5 s3 K& v
试一下千问,估计美国人没有攻击他,所以资源敞开用。
& [$ P$ b0 h5 S" P2 L4 X很稳定,质量不错,好像最多一次处理15页。: w9 c0 b9 I1 X$ ^) k; g( h
我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。
5 E$ `& P* u0 S& R7 C+ k$ l* g处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。$ p5 X/ x/ {0 c! |" b2 r
这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。5 [/ [9 ^! g4 d' i
& n0 M1 C& J& R; T, q" f% b$ X
https://github.com/oomol-lab/pdf-craft" B4 [# f* ~' X. z3 k

8 A% C9 l# d  x1 b" I! |1. 这个工具要求装 python3.10
8 B6 Z$ I- t# O' {  }8 B* `2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0
, ^1 C( p! }6 _4 {, n, }, O8 I  z9 {3. pip install pdf-craft* q& I& ?  c' N! ^3 g
4. 把下面的内容写到一个文件里,例如 a.py  z  g6 y. s- a' a" W$ G
* {" _* |; ]# ]+ k7 a
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    - U6 V# [' m' |9 M5 T0 d

  2. $ D& W0 @" h" a  H! G) S! B! \
  3. extractor = PDFPageExtractor(* E$ e7 X3 _: M$ P; o; Z7 S/ k( k; F
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
      p  j1 d! {( X$ p
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed
    7 C( }, U8 _- A3 j0 ^' p( ^
  6. )% a& z: ~. k, e6 M! k
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    ( t) n! k8 b+ K
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):/ |- h) S6 J& F8 f$ C4 N
  9.     md.write(block)
复制代码
( x* L# S2 R1 M  o
- |: J' J3 i$ `
要修改的内容:
: t3 y& T& h! i( v4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型/ k7 I5 I. K! I7 ]! b# }  M7 P
4.2 markdown_path:输出的 markdown 路径文件名' @& N+ B0 Y' V! a) Q
4.3 /path/to/pdf/file: 输入的源PDF路径文件名
7 X8 [$ p; L; H8 C# \- L( b
: H+ x5 l4 [0 N5 x( ?: [6 R, ^5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑
/ v& K8 Q4 A, j. F- I; [9 Y& o% u( z" O' k
目前为止PDF转纯文字的最佳办法。$ R1 ^; s. d. o" l$ x* u8 T& \
先写个小程序,把PDF按章节切成小的PDF。* J. O+ r8 p8 E9 j# l+ c( N! M
然后,把PDF一个个传到deepseek,让她抓取,除错,输出。8 b! W' K: e. U+ Y& n: h8 H
效果非常好。
4 E# Z* Q$ \# t; A' ~& Q' ^& U" X- b  _/ m! b
deepseek,qwen,chatgpt 三个,deepseek是最好的。/ e8 m) C. e/ y

+ @. e% Z: ?9 i( Udeepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。
+ l' u& c& I' Y" j) _, j而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。' d2 q/ ?9 ^7 K
我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。9 }( R  X9 O9 o- Q- y/ D
5 T5 d# \" v- U4 [$ K, Z. h1 S4 E* F
API到目前为止,差强人意,不如网页版本修得干净。: I/ H! t4 L3 L6 J

1 `7 ^/ T8 ?0 l) A, I5 B% O' vdeepseek可以同时开四个。
1 e. k' V0 A/ b* _2 q# a
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑 8 j7 f& A& g/ \2 \: I8 `

$ c  I) }  B# j( y让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26
" Z3 n3 y0 t& s( \- b) o# J让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...

- N9 W5 P) N9 X, s7 ]8 \细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:338 n% R8 ?6 U" B  B
细说一下,听上去很不错,多谢。
6 t$ i: w. u" s
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
( R6 A0 [% I9 P- x) z' _, U4 O% l) e' M: k' p, Q- k% C( {9 H2 K
已经搞定.
6 n2 @4 ]+ Y/ Z/ {2 [: ^# W9 d1 |1 g) F: S4 n
首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。
6 _& D! @/ k1 _# X8 _$ e$ N3 X" a( ~. o( a; f
1, python + pypdf 按章节拆分小的PDF
3 J3 d/ |/ W" k& Y7 y( F2 Y* i% p! y
2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile5 r( s) p/ R) ^$ ^

( S) I! D# z9 M. u5 P7 ^8 k# W' u得到text file5 a4 o$ Q4 g. m* F) u5 Y

0 k! @; Q3 v  v) p/ f4 O3, python 读取整个outputfile,丢给deepseek 矫正。
+ c+ n% F  Z, L" [4 c0 t
' v, h1 S/ S% q模型是 deepseek-chat6 @  y- I$ i# H, r  ~$ ~9 P; c! r4 @

& K0 K  ?- ^$ W- |0 Lmax_tokens 最大是 8192,别的不用改。2 s, ]8 o" B" U

4 F! e9 z0 D& ^! U# {) Q1 D4 J参考:
4 m7 r1 J, a- `* F6 h9 y" Phttps://api-docs.deepseek.com/api/create-chat-completion7 \2 {9 w& }7 `" |# t, |0 A
5 C3 ~2 a9 @7 H* W- d6 @  z9 z
4,费用:
6 C  g: _# Z9 r8 h: p
0 u9 d1 J* m" M3 w6 m% y) `实测:
+ x! x: Q9 ~- E) N1 N/ ?
: e7 O/ \; s6 |, o( U$ I7 c8 y296K 字母,用了 9 美分。
" r' R5 W; {, ~) d2 u
$ }, B" ^9 V7 v$ Q7 q: _英文字母 到 token 用量大约 1/36 h+ l8 }0 S. f2 H) V- f4 m

' T6 V: X0 B, p' e0 u& vtokens: total, 11782 completion,  3729 prompt,  8053 | s:  328990 z6 F1 @* J7 R) Z

) p3 G$ k9 e) @- t' @4 M32899 个字母花费 11782 tokens,包含输入输出的 tokens
3 Q' A* f! L5 c
, g; `6 |6 _1 {价钱,非常非常便宜了。0 G/ V" _# R' P, a! t5 O0 `
& P" L' \, p  A
参考如下可以计算,懒得算了。; |7 r: {  a' |" ~+ G$ r( U

9 z9 E' G0 k# J/ M* [https://api-docs.deepseek.com/quick_start/pricing, r( {7 V. c4 I6 a$ m

. K! m) n( n! q: _7 V4 ]1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14
, t* n  C, p. E7 g  n6 v1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55+ h# Y5 @# e  |, q$ ^' _4 u
1M TOKENS OUTPUT(5)                                              $1.10                $2.193 _4 g5 @7 B% v5 v: X4 r- Y; _% u' T
. S" r# q* J4 d/ ~$ \
5, Balance
8 t! G8 W# c6 h! A
5 D; P; Z. K2 Y# N8 ~$ c$ ^% S可以在程序里调用,知道每次运行结束后,balance还剩多少。
1 I. v7 G& D$ N参考:
6 u$ X6 Y7 l& G# Q+ N# J4 x7 Jhttps://api-docs.deepseek.com/api/get-user-balance
& |" g- Q% _3 B' o; @% k2 g$ R, D; C$ ^( b9 V; b1 f
6, Models
: Y9 D# L# i" x) U5 u+ \3 v
6 ]$ R; S! ?# S. }: D/ c% R目前就两个8 T6 j8 v9 m( t; K; x  ^
# deepseek-chat
9 E& }! W$ ]0 \# deepseek-reasoner) c, D  D/ j, x! _$ r( i3 f! a
2 p) r; |" [: W2 J6 @
参考:/ Z7 c" _" K, F0 O' t& d3 s
https://api-docs.deepseek.com/api/list-models
0 n. R" ]" b. B- j5 l/ e# \& L6 k2 U0 Y: o

+ \/ C; E+ Y. G0 H% r* ~7, 问题
4 ]% d4 Y# k6 G. f3 }# \! `0 T* S! z1 ^
deepseek 会将前后两段合成一段。$ \& L" |# H/ B& q
特别是那种大量的对话的段落,deepseek会给你合成一大段。5 K3 U& V& m& z/ x- f( @- A
, q0 j* {, n- ?( ~% {
8, 钱说了算。
9 h4 y+ Z* y* {, e6 b$ R
  [" J- ~6 W; U2 vdeepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。& F0 H2 Z7 e  ^; F) Y3 \+ G% L
但是API就不会出现这种情况,毕竟我们给钱了。
( E0 V8 k. Z5 l( k+ _$ u8 Gchatgpt也是这样的。3 v+ V2 H2 e0 O* p9 l

! Y9 X+ A0 ?2 |# U* d1 v
8 m# N; ~. D+ P  k2 Z




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