爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑 / |" o0 g9 p# P8 n- [. c, E6 [% S

# R5 p/ R* q+ ?* H把PDF上传,然后让他抓取文字,并修改可能的错误。' U6 Z+ ]2 t% [! D8 f
然后deepseek完美的完成了任务。  r  z( \! @" B0 ?- s8 ^
段落清楚,列清楚,页眉页脚全部去掉。8 q1 Z% G1 Y) G2 e- N3 Y8 S. f
我要疯掉了!
" k( m7 R7 Q4 [0 l* u# I! d赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!
# g/ F  |0 X- U7 y====7 J: ?0 N) Y% v
中文也很完美。$ w4 A+ D: U8 }
经验值,每次十页比较稳定。% O& s6 a5 Z" \; i2 C$ E! h
现在我这里API还不能用,等恢复了,全自动了。$ P) C8 l% H( M6 X: x
====
" L- ^8 h! N+ S5 b5 T第二次疯掉了!
5 w! j. h2 W" d7 p. ~( T我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
4 K6 r, M6 Z7 C1 e3 W4 W====
9 @3 x0 ]) y3 e4 p现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。  j- O3 Y  C) l9 n* g+ C9 l
但是任务多了后,每次翻译的页面数是减少的。
) m8 E: r+ q9 N" E! C- Y) e1 ?好吧,我五体投地,继续探索。
6 U6 Y1 C3 V9 w# E+ q====
  \0 W  a/ a  [为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。
7 ^0 F7 n; _8 Y+ x====
& q7 q9 S" Z6 G好吧,有些东西是不给翻译的,哈哈。
7 y1 V7 d' ?* x
; N0 J5 v# N" J' XSorry, that's beyond my current scope. Let’s talk about something else.0 k4 G5 H) R! v' h% m
====
$ f* N" A& D; j$ A, n8 [# I然后我的英文命令也让deepseek 帮我修改,呵呵。# P# ~4 X& @' x* `0 I5 `- K
====
, ]* T" V! t' E' [6 L# o  M" D$ U, Z日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。5 u0 ~8 F8 Y6 f1 z
====) f3 @( V7 V: D) ?* `5 G4 U- p
时间段的话,北京时间的下午和晚上用比较好。
6 w1 Y( `) B- v: S后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。. w! r9 \/ K! h( {" @( K, i8 e. R* x# j
====
8 E7 W4 X6 g  a  S. E  V6 n3 n9 F9 |8 f用千问吧,非常稳定,非常强大。# t+ R+ d; H2 D
https://chat.qwenlm.ai/& Y1 z3 e8 u3 G! M: c+ ~
====  }4 \/ l- s8 b% u# R
Deepseek,API 看上去可用了,但是不给充钱。& z) V, z& ^. m7 V' S4 ~0 m0 m

7 b4 a1 C2 b2 I& S3 `" f6 e! y+ X- e
. A4 \$ G/ Q0 K. F& l
, N' d3 f4 j2 S3 g
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:539 A  g  `7 d" a+ I3 o2 H
这功能很赞呀
/ f7 @( e% J0 t" e0 l2 U
简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13
+ c+ Y% g! e% O2 e- l& _1 j3 H: C有没有上传整本书试试
0 U; }2 y9 R: n+ e0 j8 k5 ]
目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑
6 e5 e4 Y5 {! Y6 R6 I+ i3 V$ ~. o
7 h$ h+ [' [6 f3 s+ L, Q/ }以后让deepseek 读出土的竹简% O; q: K! r7 p, O4 S

( H5 d: ]" C* A* v1 R还有把古文翻译成现代白话2 m  j( p0 m2 V/ m1 q0 i

) c$ \8 w+ [. g$ E* K以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?: s5 W$ M0 V9 p0 w! ~' b' O0 ~
% N8 K$ c* o. n
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23  c$ T, R+ t. C/ d& n
请教是如何实现的?( }% x1 c  r4 l
! P# |6 `/ k" B) X8 T7 }, k# r
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
! p8 G* _  H7 y3 X
$ f% \0 a, S, G# K
我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。/ x! p4 f4 Z5 R; A& t  A
文字之类的没问题。估计deepseek现在暂时只保证主要功能。
! q" D5 R' C! z2 P美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。
! C( u% e: z4 t1 h$ O
作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:235 I. e3 L- F: c* u0 V3 C; h7 ]: V
请教是如何实现的?& h, s. h7 b; t1 N, y7 u
# f- N" D, C- Q! o+ B
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
: P2 p. w" c7 }6 I3 B! b
https://chat.qwenlm.ai/
, K+ w8 O! T5 r! G. g  I试一下千问,估计美国人没有攻击他,所以资源敞开用。
7 n" r) u2 a# y- m! z& ~2 G很稳定,质量不错,好像最多一次处理15页。4 o1 \7 _# b- x. C0 w4 r
我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。" f: ]7 R- w( m; A. b
处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。: s, u# b% B. Z+ f  A
这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。' G" G$ j) X1 G8 ^  {. m

* p: K, b' L6 K" c% B- Bhttps://github.com/oomol-lab/pdf-craft
" l. ^. T0 w, N: J2 \" ~2 S. {6 n" P# z( f* e
1. 这个工具要求装 python3.10+ t- V, |0 C6 H: P; v
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0
+ P* M! F9 S. b0 n$ z& r2 C/ O+ E3. pip install pdf-craft, n& J& G5 G( f* ?
4. 把下面的内容写到一个文件里,例如 a.py  Y8 ?" _, m! J$ V, m0 b* `6 l2 X

3 C7 ?# J/ C- W2 ^
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    : y$ D1 t2 ?* R: a
  2. $ ]+ L; j& j: }% [/ o
  3. extractor = PDFPageExtractor(
    3 t5 s$ b) B0 S; O; C* m
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format., y- V3 B, H# I4 |8 v
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed
    7 v& Q, N2 v0 A) Y# a* ^, U
  6. )/ _$ i5 l8 w& Z+ O! {
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:9 N" I+ N! c" S; |
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):
    2 C( y! [+ d1 D! u8 e3 Y0 ]
  9.     md.write(block)
复制代码
3 R* O* X, T& W' L3 t

) ]% z! v3 {8 |" L2 @5 h0 y要修改的内容:% s4 b( v7 R; @6 H2 j% w: c( s& T9 j3 W
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型+ w  m- x( e' V" x
4.2 markdown_path:输出的 markdown 路径文件名4 P. G. ~; J2 ~+ F: E& E( K$ p
4.3 /path/to/pdf/file: 输入的源PDF路径文件名/ w) f7 G0 M$ \- Z

) q0 F; P8 y5 J* }6 b( a$ K5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑
- ~& H; x/ c& B) f" P' m5 N  f
. D& k3 K6 w+ M1 F目前为止PDF转纯文字的最佳办法。$ l' N, U  p1 i
先写个小程序,把PDF按章节切成小的PDF。
. o3 b# m) w/ T8 T1 t$ Z/ y然后,把PDF一个个传到deepseek,让她抓取,除错,输出。
( \7 `( r# _/ X, v效果非常好。
) w4 u7 C3 {4 W- R: _1 Z1 ?: E; P0 ^7 y  [3 M$ O
deepseek,qwen,chatgpt 三个,deepseek是最好的。
  D$ U& L' y# q$ L
( _$ ]. _7 E( }9 F' c5 w: Ndeepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。
3 s; M! h& b. h" r5 A! ]而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。- T. {" e9 @5 S9 m
我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。9 P: }$ r0 Z5 ?/ P: D

, o- X+ a1 H) y- [) ?API到目前为止,差强人意,不如网页版本修得干净。
+ x% G( T: s' @! U* }* @$ b, K1 }& n% b1 V! A  I
deepseek可以同时开四个。2 E0 u; s% h3 x

作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
# @# C! X6 i7 ?, }2 I- [2 _' W& d6 y& o8 B* A& R$ j, G; F
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26
/ M) m2 _: q  s, G, ]- H+ B( w让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...
! ~4 v( V3 X7 Q/ v
细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33* O! t: T$ T7 J4 }  {
细说一下,听上去很不错,多谢。

# x1 P9 S* ^5 F" P$ O/ B! m5 T  J- Z, J直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
" Q. u4 b% D4 I% [9 C% ]6 ]# H$ Z9 y. d8 g0 @' b
已经搞定.
) i+ R) u7 Q  \5 V# B4 Y8 ^2 o: \
7 E# i- A2 Y& C# j首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。
1 \* V% v# P) @  G1 L' \- V
% O6 `5 ~  I0 E) ?) C  g1, python + pypdf 按章节拆分小的PDF8 B/ y, b5 {& r8 K1 n. O( f

  P' L) h5 f$ w  G% M* F2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile  N1 ^+ [* w- Q% x
/ T: V! }" _5 G: z0 L2 j0 t
得到text file  N8 O* ?5 S6 K4 {. @, X: x
+ z1 N4 z; F5 {' `" q0 r& ~
3, python 读取整个outputfile,丢给deepseek 矫正。7 y# {% w0 M/ v

  |; d6 f& s  b9 S7 o, B& P# T模型是 deepseek-chat5 f" z0 [" g! R$ T1 |

" @! P! h5 g  w5 O+ s) [) |max_tokens 最大是 8192,别的不用改。/ }" N/ S- T& R) i( X- @
- u9 R+ {. ~# L
参考:
2 Z* a+ ]( L' ^3 A' Vhttps://api-docs.deepseek.com/api/create-chat-completion
+ T$ k# X. n/ z' d
  A  z3 t3 c7 K, g" ?% G, A4,费用:" `8 A) F. z7 g$ e/ q

; S8 v4 c9 H7 T  [) T! |实测:7 f' }; q( V; b

# k$ \2 Y7 ^. p- \3 l9 H, H296K 字母,用了 9 美分。& p: P7 {' _! w  D

1 L( V3 M; b' {& w& i# f英文字母 到 token 用量大约 1/3+ Q, D* u. t3 g/ P# i9 A% q4 S
' r4 ?; P+ e( }4 [9 G
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899" [$ L, I% P" C: N3 ~6 P
5 p4 ]# F1 `( V0 I3 ]# p3 R, T6 x$ I
32899 个字母花费 11782 tokens,包含输入输出的 tokens$ T: l  [1 m* q. D( c
% y5 \: \9 k2 Z' x$ o  N6 N% ^: L: H
价钱,非常非常便宜了。! M; V- ?; c4 N$ u1 k& J

1 j9 A9 @1 P" K' o3 y2 C$ }. S参考如下可以计算,懒得算了。: H- v* E2 v; P9 p
. F4 x' O5 I& @. ]1 |+ C* F
https://api-docs.deepseek.com/quick_start/pricing4 ?( D* L, q- b/ d
0 q  z9 v/ B1 d$ j
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14
8 c; y% ~  F! a: P. g1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.551 J' j8 R/ ]- o6 f  s% G3 G; e, P
1M TOKENS OUTPUT(5)                                              $1.10                $2.198 K- v* l/ m. _  y
. x; P( z1 m- c
5, Balance' i) Y; h( T, Q. x- O8 A+ a; U  _

! J$ r/ s( z1 \  ~; x可以在程序里调用,知道每次运行结束后,balance还剩多少。9 r: j3 g2 b' l& ^7 d2 L8 y+ Q
参考:
4 w2 [1 S1 F/ ?. }https://api-docs.deepseek.com/api/get-user-balance" B7 D% o. z$ \# N3 M: D

' L& b9 f1 m% z1 E5 L- ^6 h# B5 O6, Models) [- s- A$ j; r
# @  W) }8 e, W1 ]
目前就两个
; Z  \+ {; Q% p3 I0 [' N# deepseek-chat
7 L) |& \9 f4 ~- ^7 F8 j% |1 Q4 F# deepseek-reasoner
8 ^0 b- E' y- u& X2 E7 V1 J: L& k; L( z' I( Q2 i
参考:
! K0 e9 i$ G6 [) N- p. S2 Nhttps://api-docs.deepseek.com/api/list-models
2 I( \+ e3 x- f1 \. P3 q# R5 U# X7 q6 C+ P  ]

. b! _1 _, j4 j( U" A& n$ Y7, 问题
# v7 A; O6 J( R! c# ]
$ ^" w" ]7 q+ s: o! @) M& Zdeepseek 会将前后两段合成一段。5 x0 d, }* Y. n- A' }: E' A
特别是那种大量的对话的段落,deepseek会给你合成一大段。+ p2 S! w6 e7 x9 @; I) p$ ]. @

2 n$ T$ W* Y' D0 L8, 钱说了算。1 z- H9 M0 k9 b
. U: M! J* e/ g1 Y
deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。
# w* R: C+ j' q  h0 o3 K但是API就不会出现这种情况,毕竟我们给钱了。( [0 x6 \) D7 s- C5 _* x# `
chatgpt也是这样的。3 z9 A+ U/ i% e& a0 K& U% o) I

: s$ ^* j) ~6 p, a
- L; C# _1 J, {3 E3 E5 ]$ q; m




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