爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑
" w! V1 l% u" Z- {9 s" \: j1 P( g" r6 x) D5 V( z
把PDF上传,然后让他抓取文字,并修改可能的错误。
5 s: C9 v5 C, A/ R( Y7 A% ^. i然后deepseek完美的完成了任务。/ y# @- w6 P- e" Q! d: W1 W4 q. f
段落清楚,列清楚,页眉页脚全部去掉。. J! P9 [( y4 _: ]' {
我要疯掉了!
& }3 T( x& @' H6 k% `/ b$ W赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!; B) o/ E! Y. X$ P# t# c: J. \4 \; Y
====3 B7 z5 B+ u0 D3 p! }# q
中文也很完美。  u6 [4 o: n" Y% `! p, X
经验值,每次十页比较稳定。
3 A, w* O2 F1 c# S9 K/ X" `. r现在我这里API还不能用,等恢复了,全自动了。
2 R( G9 P& \  {) X& {4 Z/ g+ `====  P5 K7 O8 j+ e0 o' L' B
第二次疯掉了!6 L7 n7 I8 I1 O; S& w
我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
0 L4 }7 c) t7 R====7 S2 v' h# I' X9 x) T
现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。
' t1 v  d! E0 I. V# j但是任务多了后,每次翻译的页面数是减少的。! Q$ A8 ]# P8 t' Y7 q3 \; s- l
好吧,我五体投地,继续探索。1 u( J* c4 C4 O/ n$ q+ N3 p
====* ^: ^9 Y2 a/ u: ^; z
为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。
% p2 O  }0 _4 q. k# a+ g( |% O1 b! ?====
0 x" y% u0 G9 |1 }好吧,有些东西是不给翻译的,哈哈。
7 ?. ^' W, l+ Q7 D6 a* R
6 f; @  f# Q2 O6 w3 _; {9 g! ^Sorry, that's beyond my current scope. Let’s talk about something else.
# M7 l' ]0 n8 @+ R5 ~====8 j4 Y: Z+ ]2 Q: f
然后我的英文命令也让deepseek 帮我修改,呵呵。
6 w& ~# a2 n2 Y! ~  \====% I2 U. F" ~4 \# y
日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。" V3 M$ x, F: P$ V+ V5 B
====
5 t" X! _( H+ Q时间段的话,北京时间的下午和晚上用比较好。
, X' Z7 P; @4 s% e1 R$ t后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。# ~) [/ H- K" B' J. p, o9 [" y
====
! B7 D3 {/ q$ `用千问吧,非常稳定,非常强大。3 F" b9 Q( |3 n9 p- c, T% X0 Q
https://chat.qwenlm.ai/9 c, u; q8 V, v$ d. a1 I& _
====
. s+ X; v) g( n! q/ wDeepseek,API 看上去可用了,但是不给充钱。
+ O" v0 }: i! N) E0 k/ [/ S: ]. x% o1 q

7 N* l8 e$ P+ t- ^2 L% N2 s7 Q5 x. ]4 h- U1 V" F

作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53' E# R2 I& u& Y& o/ e( Y
这功能很赞呀

# m6 |: C7 C! }简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13$ b1 N: m1 ^- f5 p
有没有上传整本书试试
0 H! P/ G. I" p% B
目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑 $ t, X6 h) M5 Z' T/ S

- n; H8 |/ F+ U+ A1 t0 h5 s  d  P1 T以后让deepseek 读出土的竹简3 H. b0 V' n& h( n7 q% H
# [9 M( o; F' r6 t9 g. i0 X
还有把古文翻译成现代白话
) e3 w* J& ^/ y" t1 s6 f/ j0 _9 S# @7 l  m# V
以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?
- E) h& u' h* e: M* n, Q3 J/ y! }5 z2 M3 O3 u% Z/ F
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23
- d; t* E$ Q$ Q请教是如何实现的?& r! m2 H" j8 v1 b

2 R4 Z) f2 n# M( l我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

( m- t1 Z; ~% k& a" ?7 k0 ^: u  ^$ v2 g" m; a% O' h: U
我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。! ]  m) q2 y0 n& o) |7 [' k
文字之类的没问题。估计deepseek现在暂时只保证主要功能。
  l$ O9 `. S4 R6 e美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。
) H. o% Y- O* r" m* i
作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23' ]& s1 i0 t+ G( c) z" `% l
请教是如何实现的?
7 C2 ~8 h% [0 a$ J0 a7 P" v# ?8 Z, |/ ~0 \9 h' B
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
3 y' e7 S8 l% d0 L$ ]
https://chat.qwenlm.ai/
1 c( ?7 ~: f# q; w2 ]7 M! o! a试一下千问,估计美国人没有攻击他,所以资源敞开用。; l) [$ `; K) G" T6 U! O
很稳定,质量不错,好像最多一次处理15页。
1 a* G; U# N* g  T! C我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。
) O- t$ N) ^( j+ v6 N( ]. C处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
/ M8 i8 l2 b: t0 j# R这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
5 q: H- j/ ~! J* S3 r4 A8 |
2 \. d0 @( c$ A7 [7 U2 M6 k9 _https://github.com/oomol-lab/pdf-craft
7 @. u* W- L6 w9 d+ R
4 K3 J) \* e: f2 j2 M+ x/ w/ j. f7 @1. 这个工具要求装 python3.10# G, ^6 w- E3 |% I, x% f, o
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0
5 c6 G, I5 J+ h  O0 u# Q) a$ ]! G) B3. pip install pdf-craft. x$ E5 D" [6 `( o! r* D* K
4. 把下面的内容写到一个文件里,例如 a.py
# y7 v5 l( V/ B
: h- X" P6 d1 d% w, s
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    % d$ d* s' u0 _

  2. / i* n  h7 V$ U2 ?% j1 z8 P# {
  3. extractor = PDFPageExtractor(+ W6 ?! b% x" R6 E4 ^
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
    3 \; w7 u: A: m) Y  P
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed5 k/ s, u# ]8 z. x' Z
  6. )
    . L2 h$ Y- ~: n  c
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    5 S9 Y' F  P7 g
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):( Q. _# `" U5 b: W
  9.     md.write(block)
复制代码
3 Y2 ^5 x1 h* x2 P: O, {

: {/ T2 \4 x' a' w要修改的内容:
' h/ j( u2 }1 s5 W4 l9 D4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型
& T+ u1 }- n  ~+ v. T! X3 z4.2 markdown_path:输出的 markdown 路径文件名
* A1 O7 ?* N8 l; h1 [4.3 /path/to/pdf/file: 输入的源PDF路径文件名
  A, v/ T1 @# j! |$ R8 h- i$ R8 {- h0 e6 V% O
5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑
" e1 q* A0 N7 i2 }! U) U4 V/ _$ f' ~/ T6 Z& ]9 L
目前为止PDF转纯文字的最佳办法。5 E' V3 Q, @2 V5 W4 c0 F- t8 A
先写个小程序,把PDF按章节切成小的PDF。
1 \. W5 y6 R7 T2 x% [5 ^; u然后,把PDF一个个传到deepseek,让她抓取,除错,输出。  Y8 J2 i3 }& w( W" ^% R
效果非常好。
* d% w* s3 b9 t! m3 |/ t$ z/ d- C  U2 _3 K/ i6 {* y- r0 z5 \
deepseek,qwen,chatgpt 三个,deepseek是最好的。) N6 L/ x; D( s

1 P! m% @' T! I3 K/ Xdeepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。
! M+ `. K* P/ \8 @4 h3 ^3 T而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
7 I  s' F5 o- e我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。8 P) w7 ~. k% k3 q, q6 ]

# l* d1 S! e$ ?  H* \8 iAPI到目前为止,差强人意,不如网页版本修得干净。
% S4 E/ S6 P+ n9 \  P7 k, O1 N; H3 F7 G2 B- T& Y* U
deepseek可以同时开四个。
# [  q( a: F3 V# a. M2 W
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
2 f8 ~1 k8 z+ j: t
4 @% \/ ]5 h0 T. l" Y让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:264 g1 f" V; d$ G" h% m
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...
+ T6 O3 U2 |. U# Y
细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33
& ?0 s% ?  W% ^! W$ f细说一下,听上去很不错,多谢。
, Y% g) w' d9 L% w  k/ k$ U
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑 $ l" P+ u; o- j% T7 E
# v9 Q2 b( f  |$ t! |3 p+ U
已经搞定.
8 ]; ~! t3 h: o$ t
( l: k  m6 w# S  [1 k" c首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。
7 }# s) J, i& s) z7 |
# g+ d( v; x9 K; q( ?2 ~1, python + pypdf 按章节拆分小的PDF
/ j; D4 T" b# x) o7 _2 c/ B3 y' |% a1 Z, R& I1 l
2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile
' E  ~% o  R* r& P! f5 v5 Q1 J/ m9 g
* W" _7 e0 W4 u; T2 T得到text file. {; H/ O! o3 Q1 }3 a  C7 @& [

1 c  M- x/ u' i1 L3, python 读取整个outputfile,丢给deepseek 矫正。5 D( K3 W! g9 Z4 F2 d

8 f3 Q: T7 K0 m# c模型是 deepseek-chat5 _2 J% k) N( r  B1 p

4 l7 H9 K' y/ a9 L) J, ^& ^8 U4 D( l+ emax_tokens 最大是 8192,别的不用改。
. D& k5 d5 {7 g, K
6 u) D( J  n3 o0 V3 L" X参考:0 S4 o: I! `% K0 S
https://api-docs.deepseek.com/api/create-chat-completion* W9 |0 j: G2 c) y7 z2 ^9 |

6 K4 A# x  d, A6 S, M. o4,费用:
+ O" J  y6 [$ w4 X" B5 s
& s5 @4 x  Y: I实测:# F6 o2 p1 N/ ~! }
3 F$ E6 G3 Z* Z9 |4 C
296K 字母,用了 9 美分。8 z% U! X( p0 ~5 e; D% U

- N4 R8 V+ C2 M8 L/ E- n0 k英文字母 到 token 用量大约 1/3' B+ W2 |* ]" P. Z' L
* k, Y2 ]# c2 L6 f& I  M
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  328990 n3 G; @: F; ^9 R6 G8 b2 f. v

2 T0 o+ n) U' g9 Z8 i' G32899 个字母花费 11782 tokens,包含输入输出的 tokens
; w! O; ?( k/ h& ?8 }
% u& H0 `- ~5 ~# l; R价钱,非常非常便宜了。
. Y5 V* m6 P; p) u% D. Q4 D
9 Y9 R  Q) H. ~  M4 {3 p参考如下可以计算,懒得算了。5 k2 d+ c5 O" V& X3 ?2 d
6 ]0 k& K! @/ s( }3 a/ r+ l: V  o2 Z
https://api-docs.deepseek.com/quick_start/pricing
1 F% b  w0 S; p& C  x  v+ I7 R
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14
0 f. O" y" A9 Z2 b- l6 ~% v1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55# k) i8 ^6 V9 e9 Y( }% j" a
1M TOKENS OUTPUT(5)                                              $1.10                $2.19
. P8 z; E7 _/ K* D& d: u- x4 ?7 _; @. H( S/ T6 a
5, Balance4 R1 I( K  @! W2 K/ R' q

7 J3 p: E4 q! I8 R可以在程序里调用,知道每次运行结束后,balance还剩多少。& c6 e  b! R- e7 E; R  h- p# m
参考:5 F5 r. t' y0 U; Q% a
https://api-docs.deepseek.com/api/get-user-balance
; q2 V8 a: i2 c( }0 ?; w" D
# T4 t1 ~4 a3 h& m6, Models. i) g/ W/ c6 r

0 X0 ^% D- C5 ^目前就两个
, F: g9 b* [1 ?- K! `# deepseek-chat: w. z5 G; r8 ]* q4 l( |
# deepseek-reasoner1 e" L% h7 r6 u% b
/ ^9 ]7 Y. \1 m6 A* x
参考:( Q0 K! f$ V6 R
https://api-docs.deepseek.com/api/list-models& D! {$ \* d0 v( h! n

7 k( P8 t8 Q2 M: `6 G
5 o. E. e! x2 l" g& T7, 问题
6 S' [+ T& t0 I1 y8 f: Y0 w5 [7 ]5 @7 x
deepseek 会将前后两段合成一段。' m' Z9 a3 f( S* r
特别是那种大量的对话的段落,deepseek会给你合成一大段。% M5 D% s$ Y  q4 {
& ]1 _6 X+ v) D. V2 L, e
8, 钱说了算。& E& N* }  L1 a, J

2 E, i1 S1 R, u0 j5 F( c4 v0 n+ [deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。
5 ^7 n; l8 a6 z4 Q3 |5 x但是API就不会出现这种情况,毕竟我们给钱了。: \* \3 n; z( |' U( e
chatgpt也是这样的。# K6 o7 \0 C& b4 v
/ c9 q/ l, C. W( r  Q% k) \

% i5 D7 _8 g% _) f% p& |




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