爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑 1 m; x# o5 P6 O+ U& f" C$ p5 V5 q
4 L0 {5 \: Q& A& R' m, f  R+ y
把PDF上传,然后让他抓取文字,并修改可能的错误。
$ Z+ g9 b8 L% b/ d1 U然后deepseek完美的完成了任务。  @* [3 A' R4 M/ t
段落清楚,列清楚,页眉页脚全部去掉。
+ D0 R% w6 f) v' w& K0 w我要疯掉了!
( m' ^7 P# j5 S* ^: ]) D赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!8 a, y4 n8 W: N$ b
====
( B, g3 @3 O2 P% ^$ N# N2 m, ?中文也很完美。
4 ?$ q- h$ f( W' o- J3 ?+ f经验值,每次十页比较稳定。
' P" v: B0 z* f" T% _现在我这里API还不能用,等恢复了,全自动了。; {; Y  Q% H! S; d1 ?4 s
====
& C+ f. |, W4 i4 ]第二次疯掉了!
& c% G: m) _* D我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
7 [9 U* v$ C* i( v====/ D8 o; b# [$ U5 |: g! i
现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。# E) n6 [8 o+ `" c: _. x
但是任务多了后,每次翻译的页面数是减少的。
" P* y2 n, c& B好吧,我五体投地,继续探索。' A% ]( c: }4 b2 }
====& U- r  r( v0 A4 i$ U5 f
为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。( R5 h7 d+ T' c3 o9 B
====
. [* E* _" t9 ~) b/ H好吧,有些东西是不给翻译的,哈哈。
/ ]9 q1 s! m1 T( N- E9 b7 ]! t% r4 }
Sorry, that's beyond my current scope. Let’s talk about something else.. R! O/ C) v8 q6 m8 F$ [( E) ]
====: Q, G0 O& D8 g; @, g/ `7 X. @
然后我的英文命令也让deepseek 帮我修改,呵呵。3 |7 r. y. `# p7 \( e; d
====
# J" \) |- x) Q6 {) H" _* P" k- d日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。
1 ^" I) Y8 U/ P4 O====' J. B% V( d& ^3 E6 t
时间段的话,北京时间的下午和晚上用比较好。
, J& g0 Z  _# V2 Z, ~1 y后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。. ?- l$ Y" L$ D' s, a1 Y) s* ]7 e
====4 b; h4 _. v. [+ a* k. T
用千问吧,非常稳定,非常强大。; z4 f9 \2 e& [- s$ i. a/ q
https://chat.qwenlm.ai/
  S$ w1 \! e8 z  h5 k- Y# A====8 X3 N+ w) h$ F- E& m
Deepseek,API 看上去可用了,但是不给充钱。
! p1 w7 T* @& j! `; p' g8 Z4 u! I7 [
' M; D  t; @, P) i/ p+ O

( y: W/ z( t4 i- O$ r" X0 d  E; B
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53- l% U. N3 r0 {9 f* F
这功能很赞呀
0 n6 N& ]4 Q. W" m: a& {3 I2 H
简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13
# W0 m2 ~  Q* t1 k有没有上传整本书试试

6 i# z! y1 _& s目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑 4 z' k# K( ~% X) i) A
3 [2 g# U* r* [9 C4 m0 W
以后让deepseek 读出土的竹简% J% r5 a" O, F& n; ~- T8 T( S: {' \
- d) w1 L+ p  c% i
还有把古文翻译成现代白话" J, ?& J& l0 b; n
; Z5 ~; I' u1 P* F& d5 {* V
以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?6 j2 g! G8 O  _  J" |7 W

0 M# Q* n1 n3 D4 i0 O4 |' d我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23
. @2 ?3 h: M& ^! `8 ~  O. R请教是如何实现的?
/ P$ m* q/ G1 b; j6 t5 p+ ~4 C8 b' N* {7 C
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

$ \4 R8 e0 D6 {. g" ~6 o$ i( O' i; z7 G  g. A3 B; B
我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
+ u; f6 V6 Y  q  J4 [; I1 o! B4 \文字之类的没问题。估计deepseek现在暂时只保证主要功能。: D; _% V1 b* o7 S- h- g
美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。
* k5 S9 i+ t: }4 j
作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23
* Y5 x7 C+ q( e8 L% P" k, ~. f请教是如何实现的?
2 }( j& U  d  Q, S
# Y  d/ r3 I& ^# m  H2 H3 }我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
1 z! A: g3 N, X3 {
https://chat.qwenlm.ai/
+ }% x( K# p) V试一下千问,估计美国人没有攻击他,所以资源敞开用。0 t( K4 M# p1 R" i, Y. I! i
很稳定,质量不错,好像最多一次处理15页。% c3 M# Q3 X; H( O( ]' G
我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。/ w. A; f! l" F
处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
, c9 L: z/ ^6 }$ b0 ?$ G0 J$ G% L这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
+ J# p& S) {6 {& E& ?% _5 k
% X: Y6 M1 k9 X# D' T* j  O* Shttps://github.com/oomol-lab/pdf-craft" i: R' J7 v1 L* M; n! Y

* m" z& g! F! A8 V1. 这个工具要求装 python3.106 G0 G% v! l1 B* ^" `
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0+ |, S& L! P: J& g# }+ D
3. pip install pdf-craft
! p8 l+ d+ p8 E0 D4. 把下面的内容写到一个文件里,例如 a.py
3 T% _+ D/ P8 [9 d/ _, C( b5 L2 Y# i* s  G5 j& u
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    , ?9 Y- K% _! w; ?
  2. 9 t9 D: b- N$ d2 a/ d
  3. extractor = PDFPageExtractor(4 n/ k* {  V& e' D) y- K2 y& y
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.3 L; I% w  Q2 _- I0 k+ w8 o& P
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed& H0 L! C) q: C
  6. )3 f! h0 @0 I/ \7 l
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:& X0 @0 x6 N+ O
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):
    : S0 u9 c" m6 @
  9.     md.write(block)
复制代码

- |! t* V0 D$ Z# t8 f
3 M4 l' K5 ?3 `6 B8 P1 H要修改的内容:
: D8 H2 d7 T* j2 u1 P' Z6 b4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型
# g* u8 b5 C" A$ S4 k2 b0 I* M4.2 markdown_path:输出的 markdown 路径文件名; c, [& ?" d* h4 \, |
4.3 /path/to/pdf/file: 输入的源PDF路径文件名
! C. M0 ]; A; g( Y7 Z- {9 Z+ K& _3 N( c+ m% Q5 u- |* u
5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑
, c: u$ K4 X' Q2 g' S2 r4 c
" V0 x+ O* u$ j/ ^目前为止PDF转纯文字的最佳办法。/ |" T) {  U) n  w' I2 _
先写个小程序,把PDF按章节切成小的PDF。
  O3 b8 V& h: [2 O8 }; }然后,把PDF一个个传到deepseek,让她抓取,除错,输出。
9 }* n2 W  }6 {; A! `  H8 }效果非常好。
( E3 L$ F0 {- k+ E" F! U/ ]3 T. \. X: L- L/ r
deepseek,qwen,chatgpt 三个,deepseek是最好的。0 k' Q; g5 E- [9 P

' ^4 M1 g( v& e8 |  h9 {deepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。. h, H& C! \. o* p
而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。; w! V* J. \+ x/ Y5 g( `+ I
我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。
$ v2 \$ @, _" }  ]! ~3 w0 s
+ s  |0 \* [) d' Z  u, [% SAPI到目前为止,差强人意,不如网页版本修得干净。
; q! T( v/ T* S, _
' t9 A9 ?. g5 A9 C+ ?. C8 B9 F' M+ edeepseek可以同时开四个。
" p1 K& D! W) e6 L
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
' P- S! ?1 I: H1 r: ~1 A" y6 q3 q4 `. k4 ~5 o
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26' t; k; p8 ?0 c1 w$ C
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...

: h9 B8 W/ r% Y& U- R. R细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:331 n" A. H( j, s4 }
细说一下,听上去很不错,多谢。
- n1 o0 j. [( [: M# V9 M2 ?% b
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
1 y" O4 n" K2 l# O& t; J
+ b$ ~% H9 b3 z; i% b已经搞定./ A% K: Y6 t1 `2 W0 n
7 H+ S! X& G* Z0 q  M
首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。
4 z, q8 c" r5 Y- K1 A3 C
' M* u: U; k6 }; n1, python + pypdf 按章节拆分小的PDF
9 X' ~" n+ R- `' f  f: j( J7 Y3 n* K2 j5 x  M# t
2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile
5 I& u9 [* }( V5 u6 t* H
1 U8 s& ?& a$ q$ }得到text file
5 a" q7 A! T! ?. S( _4 V2 l
- `5 D9 `2 k0 }3, python 读取整个outputfile,丢给deepseek 矫正。0 Z8 }: A0 ]' A5 Q8 L& X# G
# v1 K6 ^* I) n: T) u, K
模型是 deepseek-chat
3 ]5 R; F3 E6 r, u* @8 i' d8 t+ m9 w  O! c5 x$ F, g  k$ ?5 h1 p! M+ Y
max_tokens 最大是 8192,别的不用改。6 g, Z* \/ T; P- L" Z
+ f4 l+ S9 Z+ \* I7 Y
参考:& `4 Z# Y; |5 T! x  N
https://api-docs.deepseek.com/api/create-chat-completion/ ?$ s% v) ?+ C+ D, G

+ {6 h) ?+ e& J4,费用:
5 K- o) A# U' n! e" U8 a. l0 h0 |7 w% y# ]$ O9 `$ p' t) w  M) W1 x
实测:8 Q6 O) z) `$ n/ T: m4 f8 ^9 L" _
+ x: ~4 [, e: _! Z: p
296K 字母,用了 9 美分。
8 l" Q: S* c% I3 C2 p$ K
- Z! o8 f9 E, u( W# [3 @7 T英文字母 到 token 用量大约 1/3
: \3 W4 S7 A8 y8 ~) w0 C+ n
7 c7 h$ p  P5 e  L$ N" qtokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899
$ G% x1 \" u* ~' F9 l8 X5 V
5 G% f# y$ @# m% Q0 I, c. C32899 个字母花费 11782 tokens,包含输入输出的 tokens
6 b/ S9 k6 g8 m5 f* \+ \. T# }! ?! s" p& \& F
价钱,非常非常便宜了。
8 z- S1 A& ~- `" \/ C" N4 I& E# I) m, X
参考如下可以计算,懒得算了。6 i1 i, q" d* I' I

8 a, A6 M3 R1 k: Qhttps://api-docs.deepseek.com/quick_start/pricing
; j6 Q: x/ a; c9 n- m/ R) i( c/ Z8 S# I
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14" ^, O( y: t, \9 G8 U' H, e
1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55  q* L- F+ e7 @
1M TOKENS OUTPUT(5)                                              $1.10                $2.19
9 G' |* O' m5 t6 t4 X( _; w2 E3 v: c8 A8 T* M* n' w
5, Balance6 R( j, U; e" L* I/ f+ z

. {+ d  R" \+ v' y; \& Q1 r' m可以在程序里调用,知道每次运行结束后,balance还剩多少。( U; P. c, j. J, o, r
参考:2 ~  A" @% i2 ^$ z3 o9 O* l  {. k
https://api-docs.deepseek.com/api/get-user-balance
! k- N; q/ W7 `7 J
4 i) m* A* g% i/ e$ E9 y6, Models
' z( V! N( ?0 ~3 G- Q4 s8 W2 j$ I1 A  N% n
目前就两个$ Q4 m7 ]+ ?8 j* |
# deepseek-chat
. `, r2 X' X5 ]5 o8 a$ {& U# deepseek-reasoner9 Q: ~- d  G1 L" Y0 E
6 q) |* _& G, ^
参考:- x: V0 ]8 n- k
https://api-docs.deepseek.com/api/list-models
4 y4 L0 d6 s' Q+ K, E! J" D5 O; ~* N6 Z' l/ C3 w. u4 v

3 R! m! ?+ Q& [* D2 X$ e# I0 R7, 问题
" _# G" ~  t0 R; B* m1 x
) o5 M% J0 A0 p5 v5 ddeepseek 会将前后两段合成一段。
! K3 S. K4 [4 q/ x) G9 e特别是那种大量的对话的段落,deepseek会给你合成一大段。
$ |6 |8 r" o- p7 Z6 n- ~9 N% N
; {4 t8 }3 l: o  \' u9 x8, 钱说了算。5 J* s+ u5 p% `) X

4 B4 o0 v( R. }3 K- z' ?! udeepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。
+ Y: Y! U1 |. h0 ]6 g1 z但是API就不会出现这种情况,毕竟我们给钱了。1 |4 h; A$ c; |. |6 A. y  q
chatgpt也是这样的。
7 O4 G: o+ P: r: y# U6 E: }$ e9 S3 H3 S; k, J% U8 e' y' ]6 m4 K

2 I' y' L0 b6 Q




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