爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑 ; o5 g, _$ E+ T8 L1 E. B

& T2 g5 Z  g. `/ z0 N% s' R3 ~把PDF上传,然后让他抓取文字,并修改可能的错误。
. r; k3 q7 t& T8 G4 a4 w然后deepseek完美的完成了任务。! f: O& Y- R' s& n, r- G2 o
段落清楚,列清楚,页眉页脚全部去掉。
& `# n6 V& J/ k4 v5 r& j我要疯掉了!  s; U' O* r+ d+ V* B: Q: F8 a* r
赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!
; Y+ A: s' a0 K+ h====" r5 N8 y2 ]4 N$ k% F& B/ b/ F7 X
中文也很完美。7 }4 H; u0 z' D7 e2 m
经验值,每次十页比较稳定。
% u& x  g3 @) ?# j+ f现在我这里API还不能用,等恢复了,全自动了。3 u" [2 E1 ?! c! R+ b
====
7 Y. G/ l: Y& }& E6 q& U& O' C6 @第二次疯掉了!
8 a, P+ X& z# V- g. }我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
# m3 X$ V8 Y+ o- _0 k* D5 O# s! \====
6 m9 |  y# d% ]* h) u现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。
2 Q0 i, {/ J- l; n3 N( \! i' @但是任务多了后,每次翻译的页面数是减少的。
3 ~) k9 e3 `& j- t6 M好吧,我五体投地,继续探索。
) t/ ^. m! ~" }5 w/ y====
% y3 i% Q6 O9 o% d/ Y为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。
7 Z9 [' H3 x& _" ^5 m====" a: b" I# h9 g8 k6 N, o/ x
好吧,有些东西是不给翻译的,哈哈。- @  }! E# h4 f# y6 k
) K- n# b- k6 M8 y  ^: t) O) }7 |
Sorry, that's beyond my current scope. Let’s talk about something else.
7 M8 u; u# h2 K" ]====# F1 p/ T6 G% n' ?' v$ S
然后我的英文命令也让deepseek 帮我修改,呵呵。! X) [4 J! P" k
====
9 ^( P- i; k9 @; S" o) C! Q日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。$ L! \! p6 q% n. \
====
& b2 Z% W# @. j% L" O( d8 X时间段的话,北京时间的下午和晚上用比较好。+ A$ D4 U- Y5 A( w5 h. m
后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。
. _0 O8 \6 k6 b. c  Y* r% g1 D====8 F9 d! z, W* M) O
用千问吧,非常稳定,非常强大。
" W- d" J) w$ D1 Ohttps://chat.qwenlm.ai/
5 \9 F' @: @: g# j' P  h0 \% i====) i# P' @- R, J) S9 f. R- w3 F; _
Deepseek,API 看上去可用了,但是不给充钱。
, D- \3 V( U( d0 P8 N5 t; p2 z. r  F" r
( G4 N3 l" c# S' s7 H) n9 @

; V9 x# @+ u8 \4 X  D) o) U
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53
, c( `. Q5 G( E) H2 Z这功能很赞呀
! R$ W/ v+ f6 e3 g7 |9 l
简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:135 ~* k9 Y8 c" R2 o9 s0 o0 r1 u0 {
有没有上传整本书试试

$ C6 J* q& Z  D. u目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑
0 H- M& h5 q, J1 t# {8 h& N! h$ Z( T+ Y) Z! N
以后让deepseek 读出土的竹简
& D# V3 d% `1 [0 J( A* t
2 f; Q% C7 s% L+ D, q% c6 {还有把古文翻译成现代白话& ^! |5 H( o0 k+ \/ {2 t$ S2 y

% [  F+ c" }2 T, z" l以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?
! \, J- e- t7 l: }
9 I: a9 J7 Z! G4 x  O0 {我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23* Y2 `1 P0 a9 s2 w
请教是如何实现的?
# V2 X& J3 V* e2 q3 Q2 F. r0 o! ~7 w7 t7 T6 y: {+ ^9 a
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
/ u2 _) g1 k  C" l; h

$ M7 y  q+ \5 o2 J4 t; R我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
. |2 o8 J/ Z( A7 k文字之类的没问题。估计deepseek现在暂时只保证主要功能。, H* M  F  _% M7 A9 v( Y4 i4 Z# ~. h
美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。4 d: o& @" S4 H/ a. m% `2 x4 u4 |3 n

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23
; w: x9 O  E- R/ p  m请教是如何实现的?9 E3 `' b* D  b$ y/ v5 F

2 \, H' d6 W8 a# r* ]8 q# U7 w我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

3 {0 n1 b" @+ x* ehttps://chat.qwenlm.ai/
& f; e8 \: X$ u5 u试一下千问,估计美国人没有攻击他,所以资源敞开用。
9 M4 W9 V6 b' @6 Y/ c& P很稳定,质量不错,好像最多一次处理15页。' P- f  f, ^7 L0 e% G# j
我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。0 `7 `8 G4 @+ p* h& o  P2 N
处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
, B$ o# T  H9 ~; P; `. V这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。6 o7 ?* L5 s* b& F  _
; V, y6 f0 Q) n& U
https://github.com/oomol-lab/pdf-craft% c+ A& x9 Y7 S' w
; E) R1 J. }1 c. Z3 Y! u+ a
1. 这个工具要求装 python3.10
. B& m, s. V5 j# E9 y  F2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0* m6 \$ @7 f% u& v  p5 r4 f$ T- R
3. pip install pdf-craft1 I6 x, H) {: e
4. 把下面的内容写到一个文件里,例如 a.py
- O  H9 h5 k7 T6 ^, }/ }. _" ]* ^
: l1 ~' b9 x5 e
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    & [7 ^$ s5 P, {. k& z# G9 A
  2. . t3 r! z' E* U' t
  3. extractor = PDFPageExtractor(
      w; g* U: {& ^. }+ q6 S) G
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
    # c3 k: L4 t+ D2 {
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed. A7 y1 |$ `5 }4 \
  6. )
    & i* `: }+ S1 R# _% P) T
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    1 V5 k, @4 p' }2 Y
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):( P, O# v  j5 N7 }* ]
  9.     md.write(block)
复制代码

# }3 `- p" j" Y' u; }1 H8 x2 I
5 c5 m/ H% O9 R7 i# J1 u  q要修改的内容:
) @" m1 h& I# T8 `9 h( O4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型% K8 ?! }2 m; _* p, D
4.2 markdown_path:输出的 markdown 路径文件名
1 _" U3 D* L2 ~- l0 }/ d7 a4.3 /path/to/pdf/file: 输入的源PDF路径文件名
, D) {# U5 _1 p* C
+ H! Z* I& p0 _) B% ]+ ^$ J5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑 7 V" K8 D; A/ z( `% f. F3 t
3 X, a6 d" q3 Z7 j; M/ Q  x
目前为止PDF转纯文字的最佳办法。
# O3 w+ I+ Z% c& y1 t* W0 [先写个小程序,把PDF按章节切成小的PDF。
/ z% ]& [5 A5 H' A9 O然后,把PDF一个个传到deepseek,让她抓取,除错,输出。5 E: Y; D* ^4 L' C2 C2 W
效果非常好。
8 Q! c. {, t* z
5 S5 J6 i, M+ ^1 n# j6 Edeepseek,qwen,chatgpt 三个,deepseek是最好的。
( T9 h) Y' Y' w3 C/ {
9 X& l2 i' w  d$ Z' }1 X+ Xdeepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。% g3 E! q" _: p% L9 K$ U4 `! V
而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
% }) o* w0 q& [2 I2 Y我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。, Y5 c2 G9 ?5 @" }# U
7 s% i) _  O2 V" j/ i/ ^' r
API到目前为止,差强人意,不如网页版本修得干净。/ a5 Q, J" h: b! N0 Z

* k8 n; n0 [, z; e' a- L8 t; [deepseek可以同时开四个。
" e" [; X5 P& x# _7 I5 ?6 @
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
! g) P' ~, W) {! x! |  P7 G" |  Y3 |/ k
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26( c9 ], k8 _# C7 {  P
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...
$ V( e  a6 k+ S7 e9 L) o$ j
细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:331 A7 }; R- s' j8 ^
细说一下,听上去很不错,多谢。

# [, y  y) G+ M# W" [直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
( \& n9 }/ K! o. e1 {4 V' t4 y9 Y% i7 w
已经搞定.9 T+ i7 W9 H. x& S

( I; G# ~% F- p" G# h. i, H; N首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。
7 o4 w2 D: M" e6 X- u  x) {' U4 [# W0 P" T0 S( j, e  e. g) b
1, python + pypdf 按章节拆分小的PDF* o: B7 w# z/ x. D0 F
5 q3 k$ x: Z! s' D: {3 L0 `. Z0 M
2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile
0 v3 @; Q7 Q* \) U: A1 m7 I+ @, U' \4 ?1 R% z8 z9 |: ^  q- A
得到text file
1 i( D" r7 o& C1 }* `# D) O8 \3 J1 K% P% T4 R7 l% O$ K$ a
3, python 读取整个outputfile,丢给deepseek 矫正。
; T, G! F- s, w8 D, y6 e3 R" J( U$ h$ n3 t$ G: b. Y
模型是 deepseek-chat
" f4 b3 ]/ c* z4 ]) J$ x$ z  V6 g0 D( p0 x' Q% m. y  G
max_tokens 最大是 8192,别的不用改。: ~6 \- j3 q% W( Z/ @

, l2 Q( z( _' x; q+ R2 \/ E参考:  U$ Z* B4 J% f& D! z/ ?2 i* H$ g
https://api-docs.deepseek.com/api/create-chat-completion, F1 h) t" s+ b& b. u7 m5 [) r& r

2 G, o& P/ h5 I; i4,费用:
  `( e* }  t% G! ]. c
; h) L/ u. ]$ l实测:
7 f& ?1 p: ?& u" ?1 P$ c
9 l7 _3 s, H+ \& L9 h296K 字母,用了 9 美分。* h; o7 s! z* y7 ~' P; C
( t2 A, }* d/ a7 L" h8 [: T
英文字母 到 token 用量大约 1/35 \+ L6 C* W- N

/ @. p. d7 a- Z& U' d3 }tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899
$ F( P0 Z( g/ l! P. G& A2 `9 g% M% ]7 z3 b; F1 a
32899 个字母花费 11782 tokens,包含输入输出的 tokens
0 n0 z6 E. _2 }  [6 `6 P) z* p: |2 r0 j+ s$ L& A$ \* R
价钱,非常非常便宜了。( K0 G- L) G1 Z3 T

3 |. \! D+ s' X" V* G) W参考如下可以计算,懒得算了。
/ a0 V3 B" X9 `, W* [9 V' X* G: b% w+ V: v3 W8 ?2 l
https://api-docs.deepseek.com/quick_start/pricing
2 M$ l7 n5 k6 L" I0 u$ N# u7 O5 X% Y1 q. [
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.147 {" I) |4 ~: @
1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55
, ?: v' v4 }9 ^2 D( F! P( }1M TOKENS OUTPUT(5)                                              $1.10                $2.19
4 o) W- _+ Y  m, i2 \& Y8 X. W, ~) \. V* r' t
5, Balance" m) y) L+ _. l& D& o( e, a, D
  R- \* n7 h# U5 I9 T
可以在程序里调用,知道每次运行结束后,balance还剩多少。
$ Z0 k4 {9 H( L# ^2 A6 J0 e参考:9 h8 C9 |, w+ T6 j/ m" a/ c
https://api-docs.deepseek.com/api/get-user-balance
5 Z* Z; _8 X1 y8 j" a* C, Z% d7 \9 |9 X; C8 R: Q8 a% B
6, Models1 D4 M% i% s# T6 l! L% K' _6 Q, F
% P% Y) _1 r7 j- O( L/ s. [
目前就两个
% F- y; D: _/ B  `, W: a8 C# u% N# deepseek-chat
3 l3 U/ V8 k6 |: L# deepseek-reasoner
1 h2 I) X9 J; f$ a# A+ g' m! S  H7 p
参考:" c$ T: i, a) J9 C: p6 M1 ~
https://api-docs.deepseek.com/api/list-models
) ]. O& O$ C* c; F( J! J  O2 l
9 T" }8 L; s5 l  V  A1 l8 Z: m; r. I2 S3 L
: U+ n1 ^( R* X5 G4 J2 L- P" r% B7, 问题
# E4 v" x4 V/ i1 W  T, u% Y# m$ H9 z* c$ S' \* u* q/ l
deepseek 会将前后两段合成一段。
( v% b! Y2 w1 G$ X5 A特别是那种大量的对话的段落,deepseek会给你合成一大段。
+ F9 t/ M( e1 ^1 C" B, S7 P9 I- \# K0 W1 [3 D) m
8, 钱说了算。% t( @+ I  g! o. y3 l

( Y5 t: T) U5 c  X4 pdeepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。
# G3 X& z9 [3 \% ~8 h: ]但是API就不会出现这种情况,毕竟我们给钱了。/ [) k5 a" \; q1 P
chatgpt也是这样的。; L: P- l5 Q. I2 P& p# n1 r- X
% m0 U/ B* E% J! O
3 D" d; l) w4 @  U





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