爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑
8 v( F  H) x) [: B' l9 `+ Q
0 ^# _1 [  z- k/ k# R! n把PDF上传,然后让他抓取文字,并修改可能的错误。
- s' A7 f9 B% M: k' T; w, D然后deepseek完美的完成了任务。
- C3 P& Q! e, w* g段落清楚,列清楚,页眉页脚全部去掉。# {: Y* ?, w" C3 k; y: O
我要疯掉了!
' d; k) L  [% Q7 G' }赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!
8 ?* ^* x5 H* ~. s' K/ u6 E====
% A( V4 u( t2 N' B中文也很完美。& C" N6 `' I. P& I. w
经验值,每次十页比较稳定。
1 v# A# U7 W: b3 ~- X3 ~, B0 F现在我这里API还不能用,等恢复了,全自动了。
1 N) K6 f7 y# v' I  G, @) x. ~- N& Z====
. y% e+ A2 L2 p' {5 r1 }; Y第二次疯掉了!6 h6 ]# {6 i* s( W8 z: r; y
我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。1 Z% f% C* I; l6 ?- s( x7 n
====
, y+ r4 O0 c2 j( w8 [现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。. V: V2 I' z/ s. ~: J1 g1 Y7 d
但是任务多了后,每次翻译的页面数是减少的。
/ @! j5 R! ^* a( i; c0 W/ S好吧,我五体投地,继续探索。
8 k5 p. v7 }$ ~6 G( {====+ w# S  @9 ?8 H: j3 y2 M+ n: ~
为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。% h) w, M6 h. A0 M2 H1 T
====* k9 d5 B# |, I6 N1 w$ ?$ u; m  `
好吧,有些东西是不给翻译的,哈哈。( I; X& t! F- |8 m& E0 r
" g& U7 P" t7 u& J8 s) q
Sorry, that's beyond my current scope. Let’s talk about something else.% P7 n& U- P  F& v& t2 W
====; h) u4 r+ V3 }
然后我的英文命令也让deepseek 帮我修改,呵呵。, A( G8 m8 M( e; j/ `( a
====
# W1 Y! @# E8 J. w: B! d日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。) J2 H/ O& N) ]( C
====
. {# Y6 |5 m& @% m时间段的话,北京时间的下午和晚上用比较好。
" b3 A  N+ O% x  f9 c- E3 Y后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。
$ \; |1 C: D9 v9 M- K====4 w. ?2 }# Q  O; {4 y( J. P$ _
用千问吧,非常稳定,非常强大。
% z6 k* ]. x1 Lhttps://chat.qwenlm.ai/
- D% F8 j- X. b2 J$ x' M' E====6 L9 _9 l9 w$ U0 M% n2 w: ^
Deepseek,API 看上去可用了,但是不给充钱。
0 r+ G( T9 ^  m3 {* I. E" [+ K
4 z7 f7 x4 L7 p% a$ m7 w% G. \. p4 X3 i8 e- Y* g
+ S- r) X: v9 T. n; [

作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53( P/ x' O- y  Y" V( W; a
这功能很赞呀
5 o7 x! [* S( ]* g
简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13
6 M9 m6 m8 h# ?" {/ R有没有上传整本书试试

: K2 x, e4 H0 M( v& `. B) X) h# \目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑 ( ^+ m# F5 e6 L8 {
: H' W/ j) i. @4 N
以后让deepseek 读出土的竹简
) d7 F. ^$ [5 C1 W
( F( F0 l( Y$ D/ V5 F! [还有把古文翻译成现代白话
* `0 s" @( F  S
. ~" k# t9 v9 n! W. _% r! T! c以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?
, `9 D! D3 r* j6 ~" d" ?$ u/ u+ G4 m
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23
+ D1 n: i& a0 ^) a) U0 B5 [请教是如何实现的?
. C7 W: s* e  ]5 \" u- d7 |3 j+ X
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

1 q$ ~6 C* {4 N- b1 P! X% r# t. s$ e5 j
我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
& a* g5 I+ k0 ?文字之类的没问题。估计deepseek现在暂时只保证主要功能。; ^' X7 X- n: N$ X0 P
美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。
' P% v, ~% g, z/ T9 g
作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23
+ _, r  N1 [3 Y1 J请教是如何实现的?
6 @! ~' T) E/ T2 L' ?1 H# m# Z, ]' F+ }
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

$ k/ V( W% l/ s& y* Y# ghttps://chat.qwenlm.ai/
% J: f) A/ `! f. J$ x& v; `1 A试一下千问,估计美国人没有攻击他,所以资源敞开用。
' v% Y  D/ C6 T( t- D" e5 A3 z很稳定,质量不错,好像最多一次处理15页。4 j% A& e! r2 d7 D' W
我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。
3 Z( N7 i. z! J处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
& W* s) q1 |5 D, D5 D4 C0 W/ q+ g这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。) x. Q6 O0 u1 F& S' l* ^( v/ m
' M+ |6 ]0 p3 x$ {  A0 y2 L0 I" s
https://github.com/oomol-lab/pdf-craft8 ]( i' b$ K) v: @, Q6 c

9 h; n0 ^5 T3 q) J1. 这个工具要求装 python3.101 E: r/ W6 T9 ~* F- N+ t
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0
- w8 v; w$ u% \4 L+ }7 I- n& M8 t0 p3. pip install pdf-craft
- ], I4 E; j; ^! W1 U# |4. 把下面的内容写到一个文件里,例如 a.py: x5 L& P7 A/ t% D; z0 n

9 O* G) @) W0 z9 J+ `2 E# X' g
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    6 k! g3 ]0 z6 E8 d0 e7 c

  2. 2 E# `. a7 B8 k- F0 _
  3. extractor = PDFPageExtractor(
    8 U: ?# p! c8 h$ I' o2 D# U
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
    * e) e" H- G! G7 A6 [
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed) g% G- e2 j# P. p: A& G% I
  6. )
    1 {: H. }% }1 O4 ]
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
      [$ u! k$ m+ m, w) k3 e  y" M" v% k+ J
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):# A# Z% T  i% I6 `
  9.     md.write(block)
复制代码

( p- A" [* o# F
3 U% z! x" n# `& \2 U0 A  y9 C要修改的内容:8 h$ ~" |) R5 o2 Y: D! g' K5 |
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型
, ?  T9 K; c/ E; K$ y4.2 markdown_path:输出的 markdown 路径文件名# \8 ~5 V5 w9 A! Y6 E/ o4 L
4.3 /path/to/pdf/file: 输入的源PDF路径文件名$ F. {: Y- z4 _( G- \5 q& y) x0 |) W4 @
9 N2 W# @, I$ ?( _, ~9 @/ R
5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑
+ o0 f6 `: |3 F, A( L( g' p/ O6 n$ \& c( D
目前为止PDF转纯文字的最佳办法。
" q. R& J* h) ^- d( P' P, I先写个小程序,把PDF按章节切成小的PDF。
8 t; T  `2 \. x然后,把PDF一个个传到deepseek,让她抓取,除错,输出。0 f1 p6 u! h$ `7 V
效果非常好。* l$ F% A! U  [) _+ z
8 J2 ?. B$ m3 M& h3 S
deepseek,qwen,chatgpt 三个,deepseek是最好的。( L; z! f7 `/ f' K( A
5 \! @8 n! K/ l& n. G* v+ _8 P
deepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。
+ G. z% X$ l' C% j; l" S而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
' x) b) T6 H9 F7 a3 C5 m2 Z我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。4 [7 R& c4 h1 x$ Z: |- Z/ \! y  u
9 o; I$ b3 h. |8 o9 c$ q) f
API到目前为止,差强人意,不如网页版本修得干净。
, `7 e/ Y% `! X; i0 S, U* `' j% W: d' L6 P" M3 q
deepseek可以同时开四个。
$ D( }8 z% K' `1 |% C* k& d
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
. f, s5 ~! ]4 w: P, a& b: j$ R4 C* s* t; |
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26. \. B' Z4 @! Q# V0 U- L
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...

: X; |0 B. b- N, `9 O. @" v细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33
  C: }5 R; K* K2 z5 x  P8 x细说一下,听上去很不错,多谢。

4 z: k2 e6 y( P, {直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
: v& _/ H$ M0 `, Q3 S
& q; \& N9 u7 v+ i8 B已经搞定.
0 g( @! c; v# B$ {% i; A8 F  o+ V$ _5 s4 ]; M2 ~5 }; q
首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。6 t( \. h& j- Z, Q* c6 ~5 \

, D2 U4 Q+ B: K( u/ m$ ?  s1, python + pypdf 按章节拆分小的PDF4 w; r+ ~0 ]+ Z  p. M4 N

+ C* e) ^, D9 w! B. g& X$ {2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile
4 o3 M6 ~1 e1 @9 H' W( Z. U
( v. X5 e+ G! Q: N/ |7 a得到text file
9 {: H4 a. X8 _& {, O# `4 e  m$ D6 l8 B+ Q8 R, s% ]3 J3 q% X
3, python 读取整个outputfile,丢给deepseek 矫正。6 O! t3 ~. ^( H3 Z6 @

+ ~7 T0 a4 d  W7 R0 }3 p3 H) q模型是 deepseek-chat, I2 c& B6 v! z' c) n: b' s6 x! \
6 S1 |& j3 z( g$ A. c4 D
max_tokens 最大是 8192,别的不用改。$ a* a5 E; G) L) n& _: F% ?" a: e' }
( Q, V: \' k( }" f5 z9 q
参考:
* {2 U# m" k  @https://api-docs.deepseek.com/api/create-chat-completion# q* j2 b! C  x1 V' e3 v! C- k1 w) P
3 t/ }$ P0 Y3 Z/ y5 [1 q
4,费用:& w$ b0 r( Q7 ]1 {

9 ]* M0 ~% X" X. ^实测:1 m- j, z# e. k/ i' H

! f# c1 ?+ v5 W5 B: G( o( t296K 字母,用了 9 美分。
, G. }- V2 n: Q' M2 W3 \4 x2 x( l9 J0 @: N
英文字母 到 token 用量大约 1/3  a* j3 H* p  I+ G9 K5 }, n% m* ^
- X+ ^- M! d3 X  ?' x- p# {
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899
2 U$ a: y$ J/ a, }4 B  e, B2 N3 W. `5 P8 \$ P, g' `
32899 个字母花费 11782 tokens,包含输入输出的 tokens
$ _/ _3 @4 ^& N+ e6 {! R6 ~9 U! S8 I+ [  m6 O- n% p
价钱,非常非常便宜了。* d% q5 q3 s& V5 }8 q5 K3 N
0 p; i0 [: d4 m* ~
参考如下可以计算,懒得算了。0 Z) l1 G" K  k4 m
5 k! X1 E' y' X/ p5 y* d6 _
https://api-docs.deepseek.com/quick_start/pricing. C- o# x0 e1 x# y6 J/ L
1 ?' i& T. Y0 Q& W- A- g
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14' [. v. M0 x% N" q' B9 z# Y+ M. n6 p6 @
1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.558 A; p$ K+ {- A  M, u" q9 @, T5 h
1M TOKENS OUTPUT(5)                                              $1.10                $2.19
6 @, P2 F( U4 T0 r( C0 L7 M0 b
& Z* c3 P2 c* S- M5, Balance
% ?8 q5 f- O, M, f" s4 o# P. P
: D$ e5 A* D0 A# j3 O3 k. F/ L' P. P可以在程序里调用,知道每次运行结束后,balance还剩多少。. U# d: ~* ?  L3 X3 K( _' s
参考:" V! h! N2 t" x9 T3 |
https://api-docs.deepseek.com/api/get-user-balance
9 _3 K( A# r9 G- [4 u6 g  p6 p  B, Q. B6 _4 ^2 ~/ D
6, Models
' _- b0 H6 y3 G
' z' V  A. U! G3 q! A, g1 [! J目前就两个
, F* w' F% Z9 ]; n5 y0 `( Z# deepseek-chat+ g3 C  O' E8 f7 M% N
# deepseek-reasoner; r  [" k* F0 l1 ~/ ^
$ }. f. G) F. B
参考:( b$ d3 h' S9 H) A$ G9 T
https://api-docs.deepseek.com/api/list-models
: `; l5 I6 M& G. U+ h  j
( B8 u5 ?, `6 I* c; g
! V1 [" m9 F4 Y1 k7 w7, 问题
4 |- g* ?& |2 d& h. q2 u
% R' U+ [( E( v- O% m9 |2 T1 Adeepseek 会将前后两段合成一段。
+ D4 e) o/ d* {5 ?" ?+ [, g2 T  K特别是那种大量的对话的段落,deepseek会给你合成一大段。
& ^2 [( |& `7 b- X
, k6 l0 O6 k) A4 I6 m+ ~) @8, 钱说了算。- ]6 c! ]  p% J: h: U# G$ c
+ o& d5 s( r7 z
deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。7 S3 p' i3 O5 h. B4 d7 l
但是API就不会出现这种情况,毕竟我们给钱了。
5 ]' i' O1 r1 S6 h3 w7 s! Ochatgpt也是这样的。; d7 M4 F! E6 v2 g
! m1 a0 Q( p* g

4 ?" o- S, L5 x2 K, o  S- O




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