爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑 $ t, B: U0 \) Q+ ^- e5 G  G+ V

+ `# Y( k. ?  x" }) w" B0 w& y把PDF上传,然后让他抓取文字,并修改可能的错误。! h' d+ }% o1 m# f/ T3 d5 j  B
然后deepseek完美的完成了任务。
( v( S1 [; z2 w0 l' H; x段落清楚,列清楚,页眉页脚全部去掉。# P+ n: F7 s8 T+ q- y' t
我要疯掉了!
/ i* Y' f' p! M6 o+ P2 z- F( p赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!: s7 b/ Q: k; S; G1 f
====
/ C6 O4 P! m/ ~" p中文也很完美。
, T* A. ^: s0 C经验值,每次十页比较稳定。- D3 H: h" {! y- g0 T* f( L
现在我这里API还不能用,等恢复了,全自动了。$ b* d' r" F! X6 ~' q+ x3 m* L2 y
====# r, O9 l/ @0 i) h. ~! m+ K" ~
第二次疯掉了!! N, u$ }* G. j. V+ q
我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
" }2 V9 Z& T. d====
& G) K7 A, K$ _0 W& M: e现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。
) E! o8 ?, F8 J$ u但是任务多了后,每次翻译的页面数是减少的。- T0 e6 e9 j- {. M6 Q
好吧,我五体投地,继续探索。
7 C' N) Z" z+ k4 j====
  a8 ]7 m3 O* m3 |9 D& \为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。. x$ F3 J5 o6 C: X+ w( {' d9 `7 m
====
0 V7 U' r; \1 ]9 ^, q7 C好吧,有些东西是不给翻译的,哈哈。
8 E* E7 Z* U0 J$ K
9 ]. o7 g9 Y) w% xSorry, that's beyond my current scope. Let’s talk about something else.3 V7 b* k' X) c( i: r0 A2 l
====
! X" N3 ?3 `( e) {" }5 [6 m: J* B然后我的英文命令也让deepseek 帮我修改,呵呵。
, u9 E. o0 N) c0 A: w====
& P* K8 L3 z+ m" y' ]: k日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。5 |# Q2 n0 n+ p
====
/ ]; T' s' P# E3 f6 Z% P) i3 K时间段的话,北京时间的下午和晚上用比较好。
0 \2 J( Z5 V$ v/ c/ V. l后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。
9 R# O% ?1 f! f2 z====" {! P" z# v! S. |* c3 I
用千问吧,非常稳定,非常强大。
3 a+ X  _4 f& _/ P" {https://chat.qwenlm.ai/
. |" M; M+ ?4 v  o- h" Z  e0 P. }====
$ `0 s' C  z) ^' {7 r8 x9 L* KDeepseek,API 看上去可用了,但是不给充钱。
6 b1 x" ^) M6 B6 `4 Q9 t
% _# T: D) R4 X& L) H1 L/ g9 }, x) K

# c5 Z# j1 f7 \" S
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53
$ D7 p+ R7 ^% j9 h这功能很赞呀

, q9 W9 y6 O# ]. K9 n/ A8 |简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:134 r; `* F& T+ g  C0 m
有没有上传整本书试试
4 O$ e$ d, c. R+ M1 t
目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑
$ |, r4 [8 n# S6 O; _
; Z1 p. q4 |$ l2 i# Q9 v以后让deepseek 读出土的竹简
( Q; `/ o; S3 y& P% m7 G* ]. I
/ @9 w0 p9 @) J3 c" _9 [" l- D还有把古文翻译成现代白话
1 b) n# s9 n$ A8 p3 X4 j9 {- z* z* t! F  j/ d
以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?$ [! u; g/ l% z7 l

3 M  h. ^0 |/ l+ H( o8 X0 k% Q我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23
+ Z* _7 g+ ?* W; \" l+ P7 M请教是如何实现的?
- Y( ]8 o: [4 v" j8 }3 ^4 ^1 T; A0 b3 h' m
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

" u% m% w# }9 {, n' K( \
: ]# ^8 g- H3 }6 t3 g0 G. d我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
' G0 `! w* R% w# G/ r6 y6 k* E文字之类的没问题。估计deepseek现在暂时只保证主要功能。
0 U* \5 ?! m8 i/ J+ t% c; E美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。/ A4 ^9 K, V+ k( M# I5 r' G

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23: D* n. X& I. D
请教是如何实现的?+ t- e; H9 ]! i1 t
5 {2 B% m- ]! b! O- K" m
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

; E1 x+ G5 G" n$ ~. thttps://chat.qwenlm.ai/
1 F" Q' w  b7 c) Q/ t) G试一下千问,估计美国人没有攻击他,所以资源敞开用。7 a) e" I: J1 }* a+ a7 \
很稳定,质量不错,好像最多一次处理15页。
& u0 N& t' `# S& m我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。6 W0 j% b, H3 ]: }
处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
* C$ H2 h; s" C4 x这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
- X3 W4 F9 u( f3 d+ E$ W* A8 q0 o4 @2 t3 K- Q. _4 r6 M
https://github.com/oomol-lab/pdf-craft+ I, L1 j' J1 l  T- L

" I4 z- q/ B* G" F1. 这个工具要求装 python3.10
- m) F, r; m% ^8 @* h+ c  Q2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0
$ I# U8 x- V3 o# \0 S% z3. pip install pdf-craft$ z, V/ ~; O9 ^
4. 把下面的内容写到一个文件里,例如 a.py
$ A& b# x8 u* @8 S: W% I. X6 H% `- U8 u" \: i9 z
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    ; j- g: \) G! A7 m

  2. 3 F1 O5 v+ d1 O+ T% Z2 D' n+ F
  3. extractor = PDFPageExtractor(- w; V0 g2 \0 o( A
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.+ |1 _+ c+ K/ j
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed; r' A9 m* J" S/ ]
  6. )
    # G7 X1 Q: ]$ M- V, u, R
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    $ M7 [0 p* H& Z, }) k/ f. P; L
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):
    7 W2 l" M& p- @2 {
  9.     md.write(block)
复制代码
/ ^2 s! U3 C- t  l" T3 ]
7 o5 l; }/ w9 b% |9 j( h) W& g+ Y
要修改的内容:5 L5 \5 d+ r6 ]: r9 k' g4 {) D' L
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型; A( N2 w. x8 ?' v% T; k; O
4.2 markdown_path:输出的 markdown 路径文件名( v- U6 Q/ o5 n# @0 C" d
4.3 /path/to/pdf/file: 输入的源PDF路径文件名
* G: t( C# ]) U/ W6 f. Y6 i( J% y2 h. q0 N% w3 l
5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑 ( E, E5 @$ i7 S2 _1 j' b/ B6 C
* z( x/ Y2 [# p- `/ ^  I' Q3 h
目前为止PDF转纯文字的最佳办法。
' G5 Q6 n- G2 _0 y& S先写个小程序,把PDF按章节切成小的PDF。
; l- o$ o/ N* O  ^+ o4 K然后,把PDF一个个传到deepseek,让她抓取,除错,输出。7 _" ^: W, ?* |& j( p1 k' m0 P
效果非常好。& z4 t5 O: a* Q

- _; u: N5 t  w, }0 |1 P, E# ideepseek,qwen,chatgpt 三个,deepseek是最好的。# ?, q- j8 Z" `

" @, z* B! ~2 k7 B8 P4 a+ X4 Odeepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。4 A3 [5 h0 E( M
而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。4 X( r/ O6 S% J/ O( ?) O( N
我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。
6 W, ]7 R8 J2 a8 x! p4 ^3 T+ a
. {0 G% Q" O, j) {7 sAPI到目前为止,差强人意,不如网页版本修得干净。
5 w7 \: l' M4 G' E: [5 X7 F1 Y
1 N# n8 a' |1 b. w4 Tdeepseek可以同时开四个。
. ^6 p! F$ \8 A6 c9 N
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
+ ?* S4 ~6 J, `* a) r
  x) e1 L6 g; t+ \9 A7 l" n. m让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:266 i) R6 A( B$ Z' I! B
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...

; k' V2 l0 A: ^, [细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:339 W$ b5 x$ @# K& |& |  }2 v# s
细说一下,听上去很不错,多谢。

4 s  L/ v( U9 Y2 x) N2 ]4 D直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑 - {* Y( @7 R' a  ?
0 s; ~5 W2 T/ {+ x6 H3 s
已经搞定.
* O! k  W  \, e& h. h
3 Y6 x' O3 d8 R& X6 h7 E首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。
7 A9 n% o5 n+ U5 B& o, b: }6 \  h+ |7 _. F& g
1, python + pypdf 按章节拆分小的PDF8 s& U6 y6 L9 H8 r$ {
/ c  D. B8 X2 P: R$ g( D1 I# V
2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile
7 F$ i" z/ E# k& g6 L9 q* h- b  t
得到text file6 H9 }7 _. f: t6 i7 F( N" ~

/ e- ]( ?; q# N3, python 读取整个outputfile,丢给deepseek 矫正。% r. o' v. d" K
, h; O6 X2 [+ _! y  M0 m8 @
模型是 deepseek-chat6 u7 M/ {$ B, t% {8 Y- u

5 G* b% f- _* Gmax_tokens 最大是 8192,别的不用改。6 {5 n7 o5 }+ L6 x6 ~

3 D( ?4 }1 b  w参考:  }+ P: o' V& I3 F
https://api-docs.deepseek.com/api/create-chat-completion
# r% i4 K0 p0 M( p& a8 A" E+ j6 P
+ Q! M5 M% x4 ^" E4,费用:* y& ?: Z$ b* W7 o) n- T: F. w$ d
- H' M4 a  e  q' P0 a: [4 e
实测:: Y' l% U* W" A

9 }; ~3 E$ o" n: {% |" v8 [296K 字母,用了 9 美分。
. d! k) |& |0 E( ^9 x! i4 p
3 F0 x) `  x: [  U' i: ?% s  E6 `英文字母 到 token 用量大约 1/3- F( @, L: m$ ?5 k* d% Q

" F7 n1 n/ z2 Utokens: total, 11782 completion,  3729 prompt,  8053 | s:  328996 G$ }7 C7 T! N! C
6 ]8 v5 z" H1 e" h5 w; _
32899 个字母花费 11782 tokens,包含输入输出的 tokens
  t0 H4 {9 [6 M5 k
, i; [5 ]& ~& _& y& J价钱,非常非常便宜了。8 _0 N$ @  T; x8 b. h2 {/ x2 t

& v& }3 N; {  [8 o: ~% b参考如下可以计算,懒得算了。0 T( }0 b8 X. [- f1 X0 \1 C

1 Y$ C' h- x# c4 ]https://api-docs.deepseek.com/quick_start/pricing+ N/ b+ {( x3 L8 A; i% C
" ~6 u- e1 h6 h3 m. q" U
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.145 o4 [/ a! g+ t" V; F5 C
1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55
* z% q8 N; Z5 L" O/ S1M TOKENS OUTPUT(5)                                              $1.10                $2.19
" C6 J5 ~" ]) B- a6 a9 w1 O) c% ?. ~
5, Balance
' K7 T& R" a- [% R5 i! l& K2 q( t2 Z/ O9 @# E
可以在程序里调用,知道每次运行结束后,balance还剩多少。9 F1 O6 }$ ^' \/ m# q5 r0 o
参考:+ m, f' L; U: f5 @5 {6 I
https://api-docs.deepseek.com/api/get-user-balance
. \* d3 J! |5 z- L! ]8 e+ {- l# q. v2 U- J" X/ x9 \
6, Models$ c5 {1 @# h9 f7 k

% |& m* K0 l. i  x目前就两个
, t" u# p6 E! t) l! Z# deepseek-chat3 E/ Q. v2 ~- U- p
# deepseek-reasoner
# c5 C  w7 X/ C, N( B: }' I8 f
* ^9 ?5 B* ^+ G1 u参考:3 D# M* _$ z& h  U
https://api-docs.deepseek.com/api/list-models( R  P, n4 ?# S  B- b! w6 ?. Z) K8 H
# d" T0 y- }+ I3 H' Z7 n& A. t
& t( A2 }& I$ O. V: h2 Q
7, 问题, T$ R1 `# P2 T$ b  k: e6 ?2 i

2 g2 _' d! {! G' i" wdeepseek 会将前后两段合成一段。
: J9 S, N: r4 C8 F4 E; v0 k特别是那种大量的对话的段落,deepseek会给你合成一大段。
  V; c( b, b* v0 v- T9 B( J
$ X  ~% a% W* t% _4 y+ D* K& M8, 钱说了算。
; H: S' r/ y# U. G3 `  u6 Z- y2 _- D# g0 q
deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。
: ~, t- ]$ G1 G4 s# C. R但是API就不会出现这种情况,毕竟我们给钱了。
' s  F# t9 s/ \( m% D7 dchatgpt也是这样的。
! ?" x5 ~! A1 H/ X1 O4 @+ ]
& C# _& {. N$ T: f
# L, K3 U/ |6 ^0 @- T! L




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