爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑 4 f: Z8 _7 N  R9 k5 ^

- f! C- M$ S: V, f; A/ R% u把PDF上传,然后让他抓取文字,并修改可能的错误。
* y* T, k9 }7 W. e2 x+ `7 b然后deepseek完美的完成了任务。
  ^9 [6 \% F6 y3 W9 i段落清楚,列清楚,页眉页脚全部去掉。2 x+ d: I  \; {6 I3 a4 m8 a- V
我要疯掉了!
3 v' B% c9 @$ N0 D7 R2 Q赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!) z) a- M' R2 V9 |
====' R  }/ @3 K/ q0 u7 O; P' K' o
中文也很完美。
5 U0 ?# Y  ^3 e& ?经验值,每次十页比较稳定。4 ]% ]2 Q+ E& H! @
现在我这里API还不能用,等恢复了,全自动了。
7 F3 ~) p1 c: m====9 R; N" ~% o/ f* P5 j
第二次疯掉了!- _: ]3 p5 I' n# d9 E2 U
我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。7 _0 Z2 ]9 K: L2 Z' X& x4 ^3 e
====. i' }+ V! T9 P7 @; y
现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。
8 |/ k1 I! H' n# D1 Q' I但是任务多了后,每次翻译的页面数是减少的。
. Q4 e, b+ h: Q& B0 H8 g0 e好吧,我五体投地,继续探索。2 n& Z- n4 J/ c/ J- V
====
" U9 Q% d9 V; f9 p1 p为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。
. n" w0 T8 }. @* \2 j& Z/ {====
7 o5 Y5 s- R- k3 z4 q' K8 e好吧,有些东西是不给翻译的,哈哈。+ ]3 d: J0 P4 j! ]$ Y3 _" X

; J. T) q  R% F; sSorry, that's beyond my current scope. Let’s talk about something else.5 m5 m7 @4 C; O' G7 d
====
+ Z! B8 j$ D5 M0 n然后我的英文命令也让deepseek 帮我修改,呵呵。7 B  E+ d) p/ h) ]+ r
====! E$ z& P+ N& d: p8 ]
日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。% m, n" a0 x, ?) U. W. Q
====
" M. e2 E3 C4 U5 F+ @时间段的话,北京时间的下午和晚上用比较好。7 w  U* n8 Q+ ^3 n6 C* h
后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。7 q) c2 A# {" m) c- C& @- R! Z
====9 E- H2 O, d( q, g& z6 U- F
用千问吧,非常稳定,非常强大。) |6 {' A- }" n1 _8 w
https://chat.qwenlm.ai/
* M  q: S( Z9 z  k# H+ O  t3 m# {====
+ d; [5 e4 F0 h! d% h; oDeepseek,API 看上去可用了,但是不给充钱。
" T. P; _# A% b4 G9 l# `
2 Z  w, |* M- K, C1 q5 G7 U5 ]- ~2 B7 D* j  |- _4 D6 i

  F, b' \7 p/ N8 ?& F! B+ ]
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53, o$ w7 e' }0 r9 i9 Q* F, ^4 ^
这功能很赞呀
$ |0 [' g7 u3 \& [. r9 |8 j
简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13; V+ n  x. Z6 \4 g' T
有没有上传整本书试试
7 b5 G$ n" l' P2 c
目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑
3 A% w& Z" S, ]8 y: L2 j" p! [7 s  H  j) K/ j+ J. f
以后让deepseek 读出土的竹简4 M2 `& f& J  o% t
8 ?; t+ W7 K/ O- ^. z- {
还有把古文翻译成现代白话
4 r# L7 [, v: T/ X8 f
9 ?! O) ~. E$ c8 v0 i. w5 F6 P以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?  G& D5 W1 b2 |# [# g+ b1 q) \

. |5 `1 {7 N( t我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23
! ]. M( h- `! z8 F+ x请教是如何实现的?3 y7 ]; b. I; k7 v# d+ h& \- P% m

. @) j0 u- x& B% J' ^# b我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
, f1 _# y, E7 I/ Q- r' ^3 C% q) S- R

! I5 w5 O, K( \- x8 A我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
7 y8 O% S% f; w+ r( j  a8 s' ~- {文字之类的没问题。估计deepseek现在暂时只保证主要功能。5 i; I& ]6 F! A
美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。
* o6 A3 W# d2 I8 s( U
作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23
/ ^6 \5 \) {0 g! h' [- `% M请教是如何实现的?
4 g: u2 y+ ^7 S
1 ~; k' R  }  h) q我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

# A. w7 {+ M" mhttps://chat.qwenlm.ai/
: A# F9 \. c) T8 [试一下千问,估计美国人没有攻击他,所以资源敞开用。  q* V+ G. p: g1 u9 w# B4 @0 \# e
很稳定,质量不错,好像最多一次处理15页。
# Y0 }4 P4 C: f8 c- r! s) U我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。/ n% S+ ~: k% F: ~& O
处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
' F1 A0 o. Y, c' @6 K( v/ b这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
) D8 M0 \# I! t( @. L0 Z& D
; P6 p4 B1 [: ~# ]* r* j/ Y& l! ?https://github.com/oomol-lab/pdf-craft4 t$ q0 e% W$ `& a8 C) R9 ~
5 h; H0 c) D: G
1. 这个工具要求装 python3.103 G5 D2 G& ~! k  g' ~
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0+ |  m5 O  x# B3 o
3. pip install pdf-craft/ y5 N3 M. y; R" i, _  d# E! O
4. 把下面的内容写到一个文件里,例如 a.py* j. u6 |6 K- \  ^
- q/ M; W* V6 U, E$ a
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    9 A: U. P) y" B

  2.   d" j8 J# S; l* ~1 k. X5 k1 E( C; Z
  3. extractor = PDFPageExtractor(  @0 Q* U' Y; b5 |% K0 }
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.9 j, b3 Y% t" B+ Q  A6 {( D% N/ h
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed
    + L, K; E. r5 j- c# I
  6. )% p# u9 z7 O) J4 U7 X
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:# D6 `1 i. ^9 I" j% J
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):
    & b4 F/ v+ S! S/ o+ p* p
  9.     md.write(block)
复制代码
2 e) b: D4 O( {$ j+ r
3 |. M" A- D% |; U7 V, b8 Y2 V
要修改的内容:1 o( X0 W$ C+ R( ~5 z4 G
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型. ?9 m4 s$ Z9 t# M( c
4.2 markdown_path:输出的 markdown 路径文件名
+ b+ [7 d4 j  E" R# G; t& i- w6 Z5 C4.3 /path/to/pdf/file: 输入的源PDF路径文件名' d7 L" c; H1 b3 Z  b% e! I
, @  s  I, h% @2 y) S
5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑
5 b' w3 W. A3 d+ J5 ^4 o; F6 b3 _  A
7 i" W& N+ b4 s目前为止PDF转纯文字的最佳办法。
  D  X) i  {/ i: t/ L3 n! n6 z先写个小程序,把PDF按章节切成小的PDF。5 U7 P7 G- K$ }
然后,把PDF一个个传到deepseek,让她抓取,除错,输出。( @3 N% U7 n# t: e% b# @6 \/ c, A) \
效果非常好。
* B; ]' k+ W8 y$ B4 ^( V" R) u- d8 U" M& \
deepseek,qwen,chatgpt 三个,deepseek是最好的。+ R6 O! `5 ]- |5 W) N8 Z8 ^

9 j# h( t! F* n& q  d: e! n  u6 l0 }deepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。
, M, Z! F; V; ^( [: ?/ B; L- T8 Y( L而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
6 r) `* J6 k1 m4 E我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。
$ s* q* w- U0 K" j' X: w4 }( a3 e5 o- w; j
API到目前为止,差强人意,不如网页版本修得干净。( V6 }0 N1 A( I8 C; u  a

9 Y; _8 g) X6 s' C- Vdeepseek可以同时开四个。3 E* n% Y7 U% l$ z3 h- V1 P

作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
3 W8 s$ ?# J/ c/ P# h
( K! m9 e$ n! K+ _) q& O让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:264 U# T5 T# O% l" O
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...

* h) ^' i+ A5 K1 e3 ^8 A! ]4 ?' _细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33% u# F  v5 Z7 z5 j+ y
细说一下,听上去很不错,多谢。
7 f$ ^- v- j+ ?8 Q
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑 - S" e  P) D. P6 N4 l) o/ J

3 X& v6 V( {; g7 u$ w: N) f已经搞定.
/ [7 S  b& a9 `7 p
! T0 C2 I; ]) a6 q8 b" ^# j1 I首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。0 J6 m- ^3 D& t: v" u& Z8 W, S

& t/ E( e+ r' D6 `$ h1 C1, python + pypdf 按章节拆分小的PDF3 s; {% \: Z( Q, f- J/ s/ X

' C" n+ a4 T* F" G$ _& J6 X2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile
$ {; N6 o1 k2 ~5 d" ^, I6 q5 T/ Y; \. z/ T
得到text file
, c$ X) a' ]; H, G9 \) s4 n. v
7 W- h4 ]2 q+ H: G% G  S3, python 读取整个outputfile,丢给deepseek 矫正。& w* }  X" Y$ i% e% C
) ?( n* ~  C. ^4 ~% r
模型是 deepseek-chat) \; V1 t* J4 V1 s7 E4 X+ u& U' U. }
+ R2 U' ]9 v$ S( C8 M( Z. P! r
max_tokens 最大是 8192,别的不用改。
, _, n' n; W% _0 g' }2 i# Z7 x/ ?
参考:
0 Q8 l! ~! t! w7 u3 _9 o8 S5 Ahttps://api-docs.deepseek.com/api/create-chat-completion# w7 u) W; M0 v% u8 m% X; m

! S/ G1 o: z+ d& o1 l# O4,费用:
) x% J7 _* _8 F& i8 I3 R0 }# v5 p. N5 R
实测:
/ n; p4 O7 x9 N& [) p+ _0 [- ^9 H# y, P+ k0 h# m6 |/ p
296K 字母,用了 9 美分。
2 {2 G% \$ z: J! Z5 n" T! Z2 t; B- K7 x+ L' Q  j: P' A
英文字母 到 token 用量大约 1/3
9 D9 R* |8 r& U* {" i7 h/ y( v3 u! |7 m7 D  Q+ q0 N6 C8 A) c2 T
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899$ T2 [* x9 n: A+ J- d5 g2 }" i

9 Z7 G9 d7 @. V32899 个字母花费 11782 tokens,包含输入输出的 tokens
- Z2 H+ |# v/ L5 E: U" z! B4 X" U8 }& B/ Y. S3 _
价钱,非常非常便宜了。2 u. [8 ]- m3 ?( x0 Y

2 \8 Q+ X( [" K7 [, l2 ~) A参考如下可以计算,懒得算了。1 O: d0 j/ [2 O0 i: h1 e

* P% ?& u# `9 a; i. Zhttps://api-docs.deepseek.com/quick_start/pricing' u" T7 h& p! G1 L9 w/ D
8 Z' z' w6 P- J1 x/ W* Z
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.143 g  H) `. Q* ^7 e7 X; v
1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55
) h+ A& ?8 S4 u" m' J1M TOKENS OUTPUT(5)                                              $1.10                $2.19/ g0 J! g- I2 j# E
+ M/ L) _: W$ y2 S
5, Balance  ^, c/ M2 ]% `7 G- K4 A( v- F4 A4 n) D* n

; [* r( Z  w8 q* \- w可以在程序里调用,知道每次运行结束后,balance还剩多少。& h4 C0 _; S, j% u* T7 g
参考:
; ~& c2 x+ f- ?! shttps://api-docs.deepseek.com/api/get-user-balance& ^/ E4 p( h; E1 y

" c0 E4 y; `+ }+ c" `" [' ^6, Models! m& X( I+ u+ Z( Z) S
% S' N2 x  t8 H& @9 I* d( O
目前就两个
. {; `* A7 h. `  Z) ^' q& }# deepseek-chat6 L% h$ ~0 z0 X8 y
# deepseek-reasoner" ~' ^+ C, J# X0 H
# B7 U; y' U0 R
参考:
9 A, L0 H* F- Q! D4 G  h% c4 Zhttps://api-docs.deepseek.com/api/list-models5 h' o! s- N; @# M' Z
2 H* q& j5 ?1 Q( N
- B4 J% k0 N9 I! b/ @- b( ?
7, 问题
" A) ?# V; s4 h1 Y, l- s9 T: f" U% {8 ~
deepseek 会将前后两段合成一段。0 P6 I" g6 s0 K
特别是那种大量的对话的段落,deepseek会给你合成一大段。$ K6 E2 K& \& S: O* M: ^' n; z- A
/ E* c- ~6 f" Q% Z
8, 钱说了算。0 J5 w9 g% C  M% O4 ~% F

2 `2 B1 Y3 |$ t8 M. {* ]5 n0 W6 `deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。  J* n$ A( B# Y7 S6 B
但是API就不会出现这种情况,毕竟我们给钱了。; ?  _# s' h5 h5 S* i. o6 e
chatgpt也是这样的。  D- c6 b" n8 [: H# T' U" M
- ?# z( C8 t9 Y) m1 x) j  v

4 D/ [9 h* Y/ x# R




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