爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑
% J3 Q$ D+ g0 R) E- ~% p6 i6 \4 o( D
把PDF上传,然后让他抓取文字,并修改可能的错误。
+ N* V. j2 L% d3 i然后deepseek完美的完成了任务。
8 s7 y: I0 A( q$ ^1 z2 @: G: b段落清楚,列清楚,页眉页脚全部去掉。% ~$ ~! Y/ }4 e- f
我要疯掉了!8 `' a. l. |1 {& A& t- F
赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!% k1 l' g1 n$ K! @& Z' U
====
5 `; [# V" V; k% P6 G中文也很完美。0 R4 b' b- e" L7 s7 Z( v/ X0 ~. V% E
经验值,每次十页比较稳定。9 s; O  O# y  V$ j
现在我这里API还不能用,等恢复了,全自动了。
7 R  q" J; M2 T' h$ t- Y1 t====
6 Z( X7 s& @# [* K5 _第二次疯掉了!0 T9 m5 u$ @: e6 W4 K
我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
5 a. m: Z0 R2 f2 I: Q2 \3 s====# j6 `$ Z, A9 @& H$ G8 u
现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。5 T' P/ q6 X/ q  f
但是任务多了后,每次翻译的页面数是减少的。
+ [+ B( I' h: e3 F$ O# v好吧,我五体投地,继续探索。
& v+ H" w: u8 P3 `5 {====
) I, h; [9 Y: \1 r( F为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。/ R/ y* C& k' x# [" E9 i
====
- t" Z- P6 \) m1 K% Y好吧,有些东西是不给翻译的,哈哈。
' t; o# ^! g! t! j( @) j. N
, D( I1 S6 v2 ~& ]6 `, JSorry, that's beyond my current scope. Let’s talk about something else.9 T& f( m/ U) m& D% M
====+ w  y" `+ W7 {1 E
然后我的英文命令也让deepseek 帮我修改,呵呵。- V9 v  E0 O- R" [! a" T
====
! w4 d* [* ]' C9 L- T日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。3 J# i" @8 F- d' D" H3 y
====
0 b. y6 y/ Y: W: U% _* P" \% h时间段的话,北京时间的下午和晚上用比较好。1 ?, c# m# _) }3 ?% N2 d% Z
后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。
- I1 t7 P* N0 e5 ]====
" v/ j& H0 _) Y+ B! h* h+ `用千问吧,非常稳定,非常强大。/ \6 _1 X; }; F
https://chat.qwenlm.ai/0 |9 I. B  N7 u8 {3 Y+ p
====
$ D- o* J6 Y; PDeepseek,API 看上去可用了,但是不给充钱。
/ y, D& O/ q1 F
3 G, F& j" H# W5 i7 X' j
3 d. p5 Z0 O" S% j! Z0 [+ T, P4 [9 `5 O% ^

作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:531 W  n- o) L9 t* k: ^/ T5 o- F
这功能很赞呀

7 o0 R0 c; t, Z4 V' o7 }简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13
4 x5 t. Q/ y% r$ C4 q, Y1 U有没有上传整本书试试
  p+ x( J/ ~, |7 B8 M
目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑 6 F( q- S) a7 W" o3 z: {- E0 N
% O# v& M* V( N. z8 E; t
以后让deepseek 读出土的竹简
7 [1 l- `+ {+ q7 C5 f
- J7 C+ R. Q4 B9 D5 _2 m还有把古文翻译成现代白话
. z+ ?' |5 f+ H1 J% g1 N
. L% n% o( F  v以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?
. u2 X6 l1 L+ V! t
! F  n& B' F% ]0 b我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:233 @: ]* B. _% S" d' S* r. b2 i
请教是如何实现的?4 O4 D! J  h: r# a& j1 W
+ l+ ^; Z+ }' L$ b0 @
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
- \; S9 h7 s5 \1 f# e4 u; Y/ ?# M

* t. C0 X- c9 W& B我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
) y) ^4 I! Y2 i% r) [" H文字之类的没问题。估计deepseek现在暂时只保证主要功能。, g4 q) e  F: D; a- ]0 o5 R1 G
美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。- S- |' {% ?  K/ G

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:231 A# E% B+ l1 X+ M: T' p. P0 p
请教是如何实现的?
6 y" h* S5 s# Z, `+ @
/ d( |# g% Z& y3 n我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

$ g: M. P/ H' N9 Ghttps://chat.qwenlm.ai/8 @& e' S" w$ \9 }1 c" ?: J
试一下千问,估计美国人没有攻击他,所以资源敞开用。, R' u. S0 a. L9 T
很稳定,质量不错,好像最多一次处理15页。! D* M5 S- @3 r2 }
我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。
4 V5 w% [9 n5 g, V9 d( y* x' l* t处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。1 ?7 D) G6 P/ T2 }  n, J, Q( S6 \
这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。" B. K3 S  `* _% R9 Z3 ^, ~  T

/ M  W" W, `+ J- E4 ~3 Phttps://github.com/oomol-lab/pdf-craft6 d- k: n7 y7 Q# M- e" [
9 Y8 f( Y5 t/ i& Z7 ^8 ~. q
1. 这个工具要求装 python3.10( i' V: F0 r0 j% ~$ X0 `9 z
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.07 m2 Z; B0 c/ {7 m/ m% B( e
3. pip install pdf-craft4 A. H2 a, N" y* z
4. 把下面的内容写到一个文件里,例如 a.py
6 g+ {5 K% ?; @* e/ d8 \  u# k* V
) b) g/ e( D1 {# x8 z' o, r
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter! A5 X+ g: U& n+ x: @( m
  2. $ |' t, `2 \4 u) @/ ~
  3. extractor = PDFPageExtractor(* h2 i+ x3 C$ t2 v. q: P
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.1 g7 o$ a7 R# @, D6 T3 B
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed5 C% h+ e  X% F& W* l8 M! s6 n
  6. )* Q; O& g- J0 J6 P- `* {
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:0 f8 z) g7 \1 I1 |( Z' J
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):% {+ O  c! V) x8 v4 g
  9.     md.write(block)
复制代码
3 G0 w' D7 |* x/ Q7 F) X2 W

* L: A8 |. O9 G4 l, B* z3 l) `* k要修改的内容:: F; d6 E6 X4 r1 g( b& e
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型
7 G0 j; P% y8 Z- ?8 z5 Z+ D4.2 markdown_path:输出的 markdown 路径文件名
3 t: \$ m8 i( ~! @& h5 c4.3 /path/to/pdf/file: 输入的源PDF路径文件名" V, v/ R7 ^5 P
% I3 u6 _  z. F8 M
5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑 & h" b) e% [/ J0 Y$ \) p

: a' z; n& ~, z: s. a! `( I目前为止PDF转纯文字的最佳办法。5 O: h1 b( A% ?  l  \, n9 w2 s
先写个小程序,把PDF按章节切成小的PDF。  M+ w' b4 H+ {& H
然后,把PDF一个个传到deepseek,让她抓取,除错,输出。" h/ I3 r* {. Y' k: l- _& h
效果非常好。) b8 M0 A5 `! k
8 `7 D7 O9 `/ G9 J1 g2 G
deepseek,qwen,chatgpt 三个,deepseek是最好的。
7 _% n* T, i& `0 B$ K. N
7 q1 I0 G6 k! h+ q2 Ldeepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。8 F; v1 g1 D" o, {6 f3 z
而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
( i& H0 M. E+ \( a+ X  h我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。
9 X  A& U: N4 j( ^! c" S
# p/ g3 `, z* G, y4 ^API到目前为止,差强人意,不如网页版本修得干净。
" u6 K- O) h9 z: l4 ]
9 v2 R  i" |# {$ |. N& k7 fdeepseek可以同时开四个。2 H+ g, D( O' `4 S7 p1 H

作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
+ S9 s  V( E8 c& u0 N- C" ^! ~6 H+ i* h! k' }$ e
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26
2 _5 z0 N6 P, b' ^5 i" [% D让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...

2 W5 O$ }& C0 }- u- Y细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33: _$ ^1 ?5 ~" s6 ]! I+ B. _
细说一下,听上去很不错,多谢。

* z4 I- }/ S( w( l2 `. p% A直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑 1 h3 e' }2 I% p- u/ q/ t- e: T
+ L6 z, n" _: ]* a! _% {+ i
已经搞定.1 c* b" F% q. ~) e
) j: j7 Y5 B: Q0 ^% ]+ M! g
首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。
6 [0 ^% H8 \" W5 _( M1 I+ f# d! f( A/ L! q, @: N! B; c
1, python + pypdf 按章节拆分小的PDF( S1 \$ C: d* n, ^( t9 `! ^! |. i
" o( t& O2 }* n  s, z+ J
2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile1 t, e& O# X" v. q, r9 H
; \% o" w5 \" j/ U
得到text file4 \: j, |! A5 K* _

- s9 H; W/ |5 X. E7 V6 U3, python 读取整个outputfile,丢给deepseek 矫正。
7 E/ b, j" ~& v% A; J/ q
" E. |. s4 O. s* G* b( O$ [模型是 deepseek-chat
" k& R. M& J! p& l9 B- Z" b; _3 U0 s- S
max_tokens 最大是 8192,别的不用改。" S  h" b$ w& C
! L& w/ ~+ |  j. h7 V7 k
参考:
, m$ Z- G# |/ f: [1 Z' Zhttps://api-docs.deepseek.com/api/create-chat-completion$ W3 q# C* ^1 f5 Q8 h5 p9 D
( ]( f8 N. ?8 I! C
4,费用:
: y/ e/ Y# b. p/ W0 [2 X$ F) z% O! A+ P$ T1 v6 T
实测:5 _+ c8 [& B- J
" x" U% D& I  T' f9 |
296K 字母,用了 9 美分。6 i$ `9 t' A3 e

- c: U/ l' J1 A$ g0 y英文字母 到 token 用量大约 1/3: [/ H, b7 W4 R) s: [0 B
/ k: x' O3 P( L4 C& Y  ]' o
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899' d+ i0 p$ p* Y: A+ W% T

; A* o, L! C9 j. s32899 个字母花费 11782 tokens,包含输入输出的 tokens
0 P7 a' g6 `) f1 Y5 ^; c. R
' W' [1 P, q# `2 S. L价钱,非常非常便宜了。
$ _6 ]7 R0 o' \$ v. ^5 L  O* d  x) s3 e+ L
参考如下可以计算,懒得算了。4 u: g. x+ @' L8 d+ }, z7 w1 W6 V4 X

' a9 i, k, i  Y- V& @7 e, I0 nhttps://api-docs.deepseek.com/quick_start/pricing* U8 O7 u* M  R  w5 j8 J

2 ~( q3 y1 W7 ]( D  X1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14
8 c; F/ ~8 {- Z  s; W, t3 e1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.553 u9 b7 Z4 Y3 ?" G, c+ N' {
1M TOKENS OUTPUT(5)                                              $1.10                $2.196 T' v4 B0 N, L0 ], K3 o; u

9 M. B2 j0 N) X% [1 o& a. C% a( O5, Balance$ _# U  G7 b4 j, }) f# [8 M$ j$ `

+ h6 ?( Y% n) A. g  _可以在程序里调用,知道每次运行结束后,balance还剩多少。) c  W* `% E* b' F% ~& j3 ~
参考:4 U) z# Y  v" o6 Q8 ^3 A( N8 t
https://api-docs.deepseek.com/api/get-user-balance
0 L% G0 L9 d6 ]8 N0 o4 [9 e; Z" M* O; B6 p& o1 i
6, Models- B" ]& I- h# E" k  o1 x: u6 W

' _6 y2 ], x6 }8 b4 z* X目前就两个
$ c9 ~4 y/ R: x. @# deepseek-chat
) a' G9 F4 p0 M+ b* r  y' C/ y# deepseek-reasoner  L2 u% }+ m+ e/ I( @+ P+ s

5 q: j4 T0 D; U参考:
3 x4 S+ t7 e0 s7 g1 e# {) a, D0 Jhttps://api-docs.deepseek.com/api/list-models% M' [: B3 s5 h

, I# C/ b' K# e' y$ J8 e! T, L2 n; {9 E
7, 问题0 Q) n* x, t% |8 s. {0 y
1 ]' ^2 ], g, h  `9 I$ E: G/ X
deepseek 会将前后两段合成一段。
8 W" U- t6 v+ @) r9 I8 M特别是那种大量的对话的段落,deepseek会给你合成一大段。
( b6 U, v+ i' \+ Z6 u0 f: g" X9 E2 W% t" `
8, 钱说了算。1 v. `* E& S! h0 W1 O3 \; N

) B/ H  T1 t* f# Z! C! tdeepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。% a* `8 d( b) d" n. c4 o# w
但是API就不会出现这种情况,毕竟我们给钱了。2 t; w9 N# @$ f( [7 l, Q
chatgpt也是这样的。! U6 \: @: c4 p$ I+ G4 z
( Q. f+ P' I1 _3 x1 {# E+ n
/ L; v& ?+ T& ]; q6 ?, x7 G1 E" H7 D





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