爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑 3 `% c, U' v, q
2 [3 f$ |0 d6 i3 o
把PDF上传,然后让他抓取文字,并修改可能的错误。
. l1 ?! b' d! e% V% S' i然后deepseek完美的完成了任务。0 \! H* x/ i$ J/ a% v) d, j' [) u
段落清楚,列清楚,页眉页脚全部去掉。, S- |. g9 {1 m3 e
我要疯掉了!
; Y* }: x  v7 j, [赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!
* s$ A+ q9 h0 J- l% `; ]- w' }====5 w4 [3 s( I5 `% [
中文也很完美。0 ~5 J9 y9 z7 T9 V2 R5 A- a* {
经验值,每次十页比较稳定。3 ~. J# R' V5 }
现在我这里API还不能用,等恢复了,全自动了。
4 h% m4 x, v, \4 {. w====
  a" _( b2 n/ c第二次疯掉了!6 ]3 f* g; l. m6 ^5 Z4 V
我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
  C" c, C( t7 |5 @5 u: v====  j6 I( b& f; p
现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。8 [. s) ]: w0 U& L- q! {
但是任务多了后,每次翻译的页面数是减少的。
6 @. D* G8 P5 R: _好吧,我五体投地,继续探索。
3 x5 c- q7 V$ z1 C4 h* m: B* o====
# ~/ B5 b7 L6 Z. m6 J; C为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。( V! Y5 `6 [; v; j: ]" J' B9 \! w
====0 V# C2 U8 d: m) G, L: B9 o) B* P
好吧,有些东西是不给翻译的,哈哈。; ?4 _0 I* W" u3 V/ W6 S

1 x6 U: @. g  t* Q7 ?; @" h. oSorry, that's beyond my current scope. Let’s talk about something else.- Y$ O7 w( M! T, Y/ q, y) F- d, A7 D8 l
====
) \4 ]3 W$ v' A; ]3 b, W0 a; P然后我的英文命令也让deepseek 帮我修改,呵呵。
3 M' `1 b$ O8 p1 o" @% y8 q====6 W3 X8 ^$ N4 K# A/ ]
日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。$ }8 k! z/ Z  S1 M, e$ m. m
====
, G3 t7 S! R( S3 }8 P1 Z4 I时间段的话,北京时间的下午和晚上用比较好。( G: |; J' J* ^) ~3 C
后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。
1 I7 z/ w3 |7 F====3 {$ ~$ ^% c  x% s- D7 R" P2 n- J
用千问吧,非常稳定,非常强大。
/ [* D2 Q7 S2 t' Vhttps://chat.qwenlm.ai/' f- `' {* a3 G* c
====
4 B, a9 P# G  KDeepseek,API 看上去可用了,但是不给充钱。# `. d$ b% E, W* [
8 ~  M7 n. w; @- D) {& \; {" f* ^
) J4 [6 G* s$ J

: n: `: _+ w' `3 c" N; O  E
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53+ I3 f0 |. s& i$ R, x" d5 l
这功能很赞呀

& i. b0 I: f- q- Y- J( Z7 n- }简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13( ^  h, t$ `5 J, n" q. P/ D
有没有上传整本书试试

# Y0 p% d+ T& o. T: W9 D' s+ y目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑
4 t! y# O8 D1 Z' M; V( Q- m( k0 @9 s, G' i5 x1 }" h
以后让deepseek 读出土的竹简5 P: \) Q! _$ I# d1 ^
/ t/ `4 }7 |/ |8 L& D
还有把古文翻译成现代白话. H* e2 g# a7 C

, H; p" u, U* [) t) {9 c- W以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?7 G8 u! D  `. |6 N" |% u1 E& ~8 E
/ ?  @4 _; ^3 x/ |) S) E1 n
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23
; D% T/ |% g* g1 C) L* H请教是如何实现的?+ F' K+ i# i0 p. p" N6 t- G: ~2 F

& z  K( |( L" u( ]6 ~, U! Q! ~我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
) t) _' D" }; x5 |& g, k$ ~
7 O. M+ d8 p' h& f
我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
3 @+ ]6 {( X7 j/ f0 y文字之类的没问题。估计deepseek现在暂时只保证主要功能。) D2 x% A, Z6 K- l
美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。6 {9 f! K8 ?0 z2 R" n9 B

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23
3 s& L: {7 i" L8 O2 e  \请教是如何实现的?  ^5 C# }# g! W/ }+ `
/ l) r8 u6 {' Q2 p+ h3 c
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
/ ]" X# f$ P& l; W, k2 h
https://chat.qwenlm.ai/3 D, H& _- v! h5 z- _7 N7 l
试一下千问,估计美国人没有攻击他,所以资源敞开用。* ~9 _" W- y- l) t
很稳定,质量不错,好像最多一次处理15页。4 h' N: \6 x( {) Q: |
我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。2 o! b2 m8 K/ \; k/ x
处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
% ]" @3 C; x6 l这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
; R3 ]3 ?0 m! A( F0 H3 [9 R9 g3 n1 C1 S$ |
https://github.com/oomol-lab/pdf-craft, f6 u( i) P: j6 C8 B% F

" k3 e" {% [6 F) {, G' A1. 这个工具要求装 python3.100 F/ H( C! s* |* C
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0+ W1 A/ |3 {' G% a& z
3. pip install pdf-craft
/ A0 `$ w' v6 v; K/ g4. 把下面的内容写到一个文件里,例如 a.py
- m1 [6 y6 [5 [' H) f
8 V) x0 d. B) L* Q7 U5 S
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter6 Q* p3 B; M; s' [  d5 v, D/ `$ W

  2. , W4 d# q% C, [- W! h  k
  3. extractor = PDFPageExtractor(
    # M( u$ [. G& K: `* V
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
    ( }3 [+ N4 v8 Q9 @( Q* q& w
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed
    $ I9 V, I9 M. [" x& f! U. K: J
  6. )& W- A8 Z: V( g, R: }
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    # s: U$ [; Z; j% I% o8 `
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):
    & C: J! {6 R; U) l# Z6 B( ?$ g; C) N
  9.     md.write(block)
复制代码
7 z$ {4 q! k5 t8 r$ ?8 H
3 Q1 N5 F6 X( n* X5 t0 m
要修改的内容:( P" R9 a0 G9 p0 Q" W, w0 T2 S- Y$ @
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型
! ]) k7 Z, K+ u, p  \4.2 markdown_path:输出的 markdown 路径文件名2 V: U. g6 k9 j$ i
4.3 /path/to/pdf/file: 输入的源PDF路径文件名1 W7 o+ i* M2 v9 j1 ~( d5 Y6 G

/ a( D$ r1 f) g- f; s' Z! N5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑 + M5 ]% {; h/ g- m

+ P& r& U/ o6 f4 J* V目前为止PDF转纯文字的最佳办法。
; @' `/ o, S5 o先写个小程序,把PDF按章节切成小的PDF。% D* o+ h; v8 e$ J! V) r
然后,把PDF一个个传到deepseek,让她抓取,除错,输出。) B+ E8 b. A2 U
效果非常好。8 M( N% N( x- e. I9 q5 w
+ ?& u6 `! u1 k: r: Z- w
deepseek,qwen,chatgpt 三个,deepseek是最好的。; d$ j/ @/ P7 K
  D& f, S" e2 r$ v& M1 l! B; E0 |# _
deepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。
$ U7 m! J8 D$ Z2 D7 ?: k' T而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
' D/ ?2 {* a' r  d! c- N我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。# {( T; O6 m3 Y+ D; [& v. M8 W  `

& ]+ H: |4 t; g6 Z0 U& h5 e# g0 _API到目前为止,差强人意,不如网页版本修得干净。$ N3 M$ `3 O' i( d

, G4 \" `$ `/ t% N: G. y! W& Adeepseek可以同时开四个。: {% o% V3 }/ r

作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑 8 p' A5 i* _7 m1 b+ ?; q% ~4 W! t
9 E7 d: Q5 l# y
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26( J. e* i3 z: B- S5 I4 t; m! T; }
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...
" b; l# S6 A3 p
细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33
; I8 N" S( k$ D; o/ s细说一下,听上去很不错,多谢。

/ c( W$ R8 y6 q1 h, b% k/ z直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
# t5 p) t& C, _& C9 u: c9 A- d. i" ]: |( t
已经搞定.. C  B4 `! O  Z% s8 u% [# c* I

0 ]0 Z( x& K$ L! E4 {3 V& ]首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。# b$ x& j' P3 S0 ^

; y! A/ [7 q& r) p1 z1, python + pypdf 按章节拆分小的PDF2 h! E7 i* R4 `( j" X/ ?

9 B$ B% T" W+ f4 \3 ?' Y2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile, j5 V! i" y/ Q+ d

4 {9 R/ W+ ?8 ]3 q2 P得到text file; Q7 A6 Z* Y# {2 \

  i4 B/ Q# C# `) S4 m# e' P3 p  a3, python 读取整个outputfile,丢给deepseek 矫正。* c" }4 w/ \2 o4 E9 ^
5 {. m( `( C, v' u& F( z$ U7 o; d5 d5 B
模型是 deepseek-chat9 E9 F$ P3 S4 w1 l2 [
3 n  B* b% A( k6 F' h1 Z! Y& m
max_tokens 最大是 8192,别的不用改。& r# F8 B$ B4 O9 W/ p; e

) X  r  v. X9 R4 ?参考:. T7 @: v2 ?$ G/ A8 ^4 w
https://api-docs.deepseek.com/api/create-chat-completion$ c8 g) k/ |" ?4 {1 s9 u/ b+ g

6 ^; V* q% {! \- R, g% b6 Q* C2 Q4,费用:
' m. P* ]2 d7 M( l/ {; I5 ^6 r- }/ j% v8 ~5 o  F
实测:
$ Z$ c! m* K. B2 {- k% F- G
4 }* t+ e% N* D$ b; d) g, S8 g296K 字母,用了 9 美分。* _! ]7 J- B, W$ d5 S- x
! c. a; F! z8 b
英文字母 到 token 用量大约 1/3
' L2 ~: q: T  _0 j; O3 L
$ P$ E0 n' S! [; D$ w; \tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899
/ _$ p) v( x& }) w! x; r1 ]% M& b2 k  ^# n7 W6 I
32899 个字母花费 11782 tokens,包含输入输出的 tokens
$ g$ y5 \/ d$ b1 Z$ z; D! x& M( D
* i7 u4 M9 F; k# S0 l9 t4 v: N价钱,非常非常便宜了。
1 @( E, y! Y! a5 @
- B5 j' q0 W4 o" V- O9 m2 e4 h$ t& ~! U参考如下可以计算,懒得算了。' V2 A) f. O/ Z$ F
* u' Y1 k# W6 T' V# J
https://api-docs.deepseek.com/quick_start/pricing2 {5 k9 m# ]/ i" a) ^, @
4 G7 w% z. h: P  f$ C- f
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14
: G+ i+ t: x6 ~1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55& P8 c9 ]. j, N% i* F
1M TOKENS OUTPUT(5)                                              $1.10                $2.197 n9 \2 K! e. j

1 u  H! i" i5 b- f5 ?1 K  q7 n( j! R5, Balance
) p7 }3 G# C' d' }0 z* w2 R% v4 }% ^# l0 B7 H0 O
可以在程序里调用,知道每次运行结束后,balance还剩多少。. K4 _5 d# K% E/ }$ A' n8 F1 n  W* u6 _
参考:+ Q9 u0 s7 ~3 f0 d9 P5 s
https://api-docs.deepseek.com/api/get-user-balance
/ y: M/ U2 N0 f/ `% z5 U7 F# _+ Y7 S& ^0 ^+ U, \9 E
6, Models
6 ?0 J, o  d- o- N: U" M
6 I* q! {; g3 ?$ }2 e$ H7 A目前就两个
3 \( I" L5 ^2 @4 |0 ]/ }4 j; L# deepseek-chat
3 z* z3 b$ ]: e- J8 h7 f8 A# deepseek-reasoner
; X  c, {+ }! Q& y9 U
: |$ x0 |/ s, k# M9 p参考:4 b6 l! h. F' f( H. K: o) i
https://api-docs.deepseek.com/api/list-models/ y, f% T2 c+ T5 i7 k$ q' r& X. y

% _" ]# S' a0 n
; z+ a/ d. m2 {, v# ]7, 问题
! d6 ^3 \4 V2 |; j7 N5 W! @5 p4 e6 R; t# ]
deepseek 会将前后两段合成一段。
  u' a  }8 s' q/ H$ ?: u特别是那种大量的对话的段落,deepseek会给你合成一大段。/ V# @3 m* [) p/ C# S0 G0 N: y2 [+ Q
. C/ e6 y, {2 @2 C" }: O$ K$ k
8, 钱说了算。
' H3 g1 E. r. T9 A
  [) r" N$ l. R4 G9 n% N+ fdeepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。& w+ _$ A+ v4 Z) |/ k+ Z
但是API就不会出现这种情况,毕竟我们给钱了。
; x$ w) ?8 w# M, D1 e" ]chatgpt也是这样的。7 I, Z  s- N# L" H4 S5 r
( W4 d$ K$ u6 Q6 v9 N
' L9 v9 X" c' I5 H+ @0 b2 |9 J





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