爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑 7 q6 p, q$ l0 X$ P  a, z

9 g0 q, [9 i) S7 I" L8 [' P: H把PDF上传,然后让他抓取文字,并修改可能的错误。
, H6 X: f+ x, ?* i5 A" {5 ?6 N然后deepseek完美的完成了任务。8 p6 l. m6 H, D
段落清楚,列清楚,页眉页脚全部去掉。( m& \: A- w9 T# V
我要疯掉了!
' T+ `( i: K/ M2 X/ }" R  N" e$ b赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!$ T6 d$ g# a9 H) _* A5 T
====$ P: [2 c6 U; F$ Y( K. }4 h. i. ]
中文也很完美。8 F/ p/ x& O( U8 R( ]2 n  {
经验值,每次十页比较稳定。6 R/ g" C1 Y8 q2 A. f: n
现在我这里API还不能用,等恢复了,全自动了。; m7 d' ^4 t% B3 u
====
# G$ x/ K! M- H! A# b第二次疯掉了!& k2 H# a. {5 \& ^
我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
1 ]& Q3 T1 g: y' A8 B. c) z====
5 @* H+ ]4 \  d" Y0 d7 f现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。0 X8 ~$ V( a8 Z: V+ `! r$ h
但是任务多了后,每次翻译的页面数是减少的。
7 L! K/ T+ j1 R) d7 f* L好吧,我五体投地,继续探索。
  i6 N8 e8 B0 U====
9 n0 f1 _6 j& R4 N$ n为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。. @" `  v5 Q. `: ?3 n
====8 Z, ?0 P4 W5 _# W! P
好吧,有些东西是不给翻译的,哈哈。
. _* K3 s5 S* M& B  }: ~
7 y4 v0 ~' I7 I+ B5 X* ESorry, that's beyond my current scope. Let’s talk about something else.& ?& V! F- ]4 I5 w9 K8 M# O; p! ^! E
====& L; `4 x. N2 K/ Q) O% y. j" Z/ \
然后我的英文命令也让deepseek 帮我修改,呵呵。
4 ]& L( \5 J6 P0 B7 |. d% I====7 K* H) V+ g8 I, E" o" D5 S6 I
日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。/ o( C4 ?* A4 X
====
5 _4 {& e. Y0 t+ J% ]7 i6 y9 [: ~时间段的话,北京时间的下午和晚上用比较好。
8 ?1 A  o, Z9 ?0 p6 C) j后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。
6 D2 A" L6 Z. W( m====
; v$ U: q/ O2 `; s用千问吧,非常稳定,非常强大。# \. z) T3 o. t. ?8 R! k0 o/ \- x5 a
https://chat.qwenlm.ai/
& u. ~3 H" {+ E3 w; M6 k& F====4 k* _4 a" L4 ]0 b1 A* n1 |5 t% s
Deepseek,API 看上去可用了,但是不给充钱。
" ~6 ?4 K) u6 g/ G- H' j
3 S$ H; y- ]+ K. A* y
- G& H: |% P; K7 O5 z, `1 o; a! F% t/ y1 [

作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53% @7 R( ?& R, Q/ D1 ~
这功能很赞呀

' E4 X$ K! y& g/ H0 q简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13/ K- b# f3 l/ T' X1 g9 H9 W" M9 d
有没有上传整本书试试

5 S+ A! D$ w0 D% `目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑 , F9 R: b% \8 v) L: D$ a3 u
5 J3 V7 K9 P. S! T% n; a( f
以后让deepseek 读出土的竹简4 C* h( `8 D, C& L

1 @3 x9 M' Z: h( I还有把古文翻译成现代白话. t$ P( H' H- _! i

2 a2 {+ ?5 |* N5 |以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?  `; p" N4 Q3 Z3 R! X

5 M# @, M2 F9 s3 l我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23
9 @& B& K5 J" b* p/ t/ b: |请教是如何实现的?
; Z5 R. v7 o' T3 K
& \& k9 K1 [# C( V1 E% s- n& p0 ^我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
% A& M% w3 U! a

: L$ _2 X5 q4 F+ l5 t" [2 s我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
+ z5 C; p! X" t文字之类的没问题。估计deepseek现在暂时只保证主要功能。
: k! b/ L" q% U+ ^美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。
8 q/ m! w/ |3 I& r# T
作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:238 ]% Q3 I- N; e
请教是如何实现的?" w( @; {8 N3 h: f5 L

5 s" E( Q: a- a+ D! q: D! x1 F0 F我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
% ~; `. D" l5 W" P+ I. D
https://chat.qwenlm.ai/
' Q* ~0 I. g7 [1 [$ H试一下千问,估计美国人没有攻击他,所以资源敞开用。& X9 h5 n3 ?/ a5 G
很稳定,质量不错,好像最多一次处理15页。
/ w% v" _. t% S1 Q( d我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。
( R& _4 z7 D" u( |1 Y7 N处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
! V4 J; K9 ?2 R; _这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。0 U* \6 r# Q# f6 s5 i) n

% r( I, I8 Z+ t7 q8 bhttps://github.com/oomol-lab/pdf-craft4 Z" A. h" X  N* g# ]  f& N

2 p; i$ j1 `5 y& b1. 这个工具要求装 python3.10* C' A) z) C7 O9 c" e+ B
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0
% O  R9 ~! A" h  Y3 l6 F2 F7 }3. pip install pdf-craft( A$ L9 p1 m6 _) T: n4 `# G/ d' T
4. 把下面的内容写到一个文件里,例如 a.py
/ m, {2 w0 y& Z$ l% H7 V+ \) H/ u
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter, Z7 c4 ~, D  @6 w* m6 D0 ^6 y* P
  2. - h2 k6 Y5 R4 X+ p! D9 l
  3. extractor = PDFPageExtractor() X1 b+ c9 ?. ?- w
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
    9 L% P/ d3 z" [) t3 l
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed) ^, h5 |) r3 }( Q- t$ W7 F: q5 B
  6. )
    ' v7 z2 z" B5 J$ x  }
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:: H( Z5 L- C$ n) j9 \$ M& m
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):8 b9 Z, _: F5 a7 J
  9.     md.write(block)
复制代码

9 q2 x/ r" Z# W* Q7 g4 S
# T; D5 C' K6 d% Z* q* y2 d. H4 p2 t要修改的内容:
/ J( C8 w: k: e# S6 \- e4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型
: H) L8 r3 D9 ~( ]2 c1 x) b+ j( ^4.2 markdown_path:输出的 markdown 路径文件名! K: d# y, N. f3 Q
4.3 /path/to/pdf/file: 输入的源PDF路径文件名
6 G& e1 n. h2 g) B$ P: L9 }  G
9 e# K" r. a9 X/ k+ w; N5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑
( p! B+ _# P; e- h3 i
8 D) S8 R% w) ^目前为止PDF转纯文字的最佳办法。
& ^4 s+ `7 Z" k+ B4 c3 P. [2 p先写个小程序,把PDF按章节切成小的PDF。+ F0 ~3 k2 \8 W
然后,把PDF一个个传到deepseek,让她抓取,除错,输出。" O2 v# S6 l- t- A4 m6 G
效果非常好。( k2 B4 G3 b7 ]3 r& H: ~& E
7 ?& `+ D. y5 n( v) G1 I2 }
deepseek,qwen,chatgpt 三个,deepseek是最好的。
( z3 B+ p3 {3 [. k+ r& P6 O- Q! B, F- \
deepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。
4 e1 @) l& _+ j而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
# O# T" B. r6 M9 J我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。
8 P1 F  V' V" V( s2 U& H
9 C  {# |: v( E, T9 E3 R/ ~" \API到目前为止,差强人意,不如网页版本修得干净。3 c/ F0 y4 w0 D* ]1 j2 X

) i3 M1 y. k6 q4 R$ q, xdeepseek可以同时开四个。; D4 j3 {& W  E1 ?, a# H

作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑 - I, n1 `5 _4 J. ]

5 N% ?: N: i0 X3 J2 m& M0 V* H让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:265 h+ H8 `! `% W; I7 Y! e
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...

8 @4 s/ W  M9 N1 V# G& b  A. R2 F细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33! d" k8 H' ]- S- Y: d2 t: r5 R
细说一下,听上去很不错,多谢。
$ |$ Y) H1 V5 [) H5 q% @% {8 `
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑 $ x7 w6 Y* |& e7 o" p6 a' V
$ c' f6 p; B5 J2 M7 R$ {% l, O
已经搞定.; N! }1 [: I9 `
- f; s2 W( @  _0 A% A  S* _! k* ]: K* q
首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。0 z0 O- n" e3 }) I+ t4 K

1 E& X4 H( f4 O* G) R1 g0 v1, python + pypdf 按章节拆分小的PDF
- S: l# ~% `: @" |( o0 r% y
5 E8 k9 l* K5 j2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile( S% N: H+ d# n

: v7 D$ J5 T8 u得到text file  R8 w& y; V7 }- o$ U8 b

/ E8 u. f" Y$ ?3, python 读取整个outputfile,丢给deepseek 矫正。; _2 }4 {" [5 a# T9 r% e
/ p3 x0 O' g) I, O# h/ @" n
模型是 deepseek-chat
4 Z: s/ [9 Q% x* J5 A7 p) V
: P4 Q( p$ Z. X3 z* mmax_tokens 最大是 8192,别的不用改。( [1 c& W$ ^7 q9 ?# j
2 _6 c. D' `3 O: x3 W
参考:
' U& b3 V6 f$ B$ W; I' E5 L, p3 Z3 Fhttps://api-docs.deepseek.com/api/create-chat-completion9 V% I8 C9 S3 J9 O, V  R/ [

# g9 q' s/ v! s2 g$ j4,费用:
! @+ W$ i. f$ B. U1 D' \( K$ }" b* I: N4 u) F8 n: W
实测:
' R' O! x4 j" k2 w. L7 \
6 h' k8 U- y) k$ ?; X( O# ?296K 字母,用了 9 美分。
& x  @3 Z" {' B# y* v; A$ e  V- @; D
英文字母 到 token 用量大约 1/3! K! B$ r3 j+ B7 H$ e. _9 V
$ V# M0 ~9 Y$ e- f4 F
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899
% m- P) {* u7 G  E6 _" ^/ T
# @) @* z6 t9 C( H32899 个字母花费 11782 tokens,包含输入输出的 tokens
8 [# q! M' j2 f" v' U* o: o0 R' F9 G% H
价钱,非常非常便宜了。
' M+ x  n6 r* y9 [" J7 g: }6 m$ {1 v3 L/ u" H4 j8 q8 b3 P
参考如下可以计算,懒得算了。$ F  P) W* A% O, o; x/ L$ E' Q+ v
/ g8 n7 O6 T1 k' V9 j# W
https://api-docs.deepseek.com/quick_start/pricing
' u+ s' V; [2 a. b0 v; W
* ?* G/ U$ S) h: b4 U3 u" U1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14
$ T2 ~0 C% v0 q. `1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55, f! q% G/ K/ {5 V& c( ^
1M TOKENS OUTPUT(5)                                              $1.10                $2.199 K, f# E, z- S6 l( E# J
+ Y6 {9 C3 r' I6 y
5, Balance! I9 k+ B# z) i" d  D: c7 Z: y( `. I
4 @: Z7 U* q: h2 i9 U+ z
可以在程序里调用,知道每次运行结束后,balance还剩多少。* }# X, K% U% z1 p7 H2 n
参考:# S3 w% G( A+ D2 `
https://api-docs.deepseek.com/api/get-user-balance5 ?' @* D/ L9 e/ I5 d
0 l/ V6 `+ x) j# h$ c0 B+ j4 D# J
6, Models
# W3 G+ l  I( B) s- y* H5 b
2 K+ p6 ~; U% R目前就两个
  r! ~. t: J, ~" t% N, W' F# deepseek-chat
8 x6 G& r5 k! P$ A1 d# deepseek-reasoner
) L5 p7 D* C0 F" \, ~) x" x0 K$ {& [
4 e6 N7 ~. |- O* T' h3 c参考:1 b! O* F5 \' R
https://api-docs.deepseek.com/api/list-models' a8 L# B5 c) n# y$ ^

! t( ?2 A, ^# ?5 Q: D1 T. y( F. X; e/ z0 H. ?
7, 问题
( U9 B- k( K, h8 s8 n
' K9 M* x$ ^: b) I/ {& R' [3 T! |$ adeepseek 会将前后两段合成一段。( k+ K; `4 Z1 V/ I) o" b& V
特别是那种大量的对话的段落,deepseek会给你合成一大段。
6 M0 ]9 i3 X8 i  f' S$ W" K- E  K5 r% i* g. \* E2 A
8, 钱说了算。
$ j& h' }4 Z3 D: z, t+ I4 ^% y, e) t3 I9 p0 Q; `
deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。
8 ^4 ]4 @4 h6 C& L' u  i但是API就不会出现这种情况,毕竟我们给钱了。5 \; n, t1 F) U. f' |" u
chatgpt也是这样的。# R+ ~! M3 D5 B$ j/ f& V

4 y7 H- m( C. |# [$ Y. `* S& o$ {





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