爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑
3 z7 G- m2 i' [: K# N: f7 g# u
' j& ]9 U/ F) p8 `把PDF上传,然后让他抓取文字,并修改可能的错误。  h4 U# k6 G) d) x; ~8 R/ y
然后deepseek完美的完成了任务。# k) @' t$ I- m8 G$ k2 ?, `
段落清楚,列清楚,页眉页脚全部去掉。1 B5 ~! x+ F6 L1 b$ j
我要疯掉了!0 ~/ }# A+ I5 {1 x$ T
赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!
5 y$ x! E! s, s====; d2 N. b6 F) ~8 ?5 t! G
中文也很完美。' I5 \8 H( @* y7 |
经验值,每次十页比较稳定。% G* k: C' m1 [: f- w( Y
现在我这里API还不能用,等恢复了,全自动了。9 q' `8 T# u' _" W" X# @
====* h. q6 L+ G* A, l
第二次疯掉了!
! b$ ~9 e- }* c$ \; B' r我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。; V+ c; j8 t' M4 `" X
====) K; E! Z3 N1 ^( @2 {% X
现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。% u# j6 t. j8 q7 Q6 F
但是任务多了后,每次翻译的页面数是减少的。* P, Z. V; e' E
好吧,我五体投地,继续探索。5 `* T; L5 f% m' {: Q% N/ l
====
; g( F5 ^3 ^2 D9 B/ S2 p为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。% ~, x3 M. M! X. ~( @2 ^6 L
====
$ [) {( b) C' ~) O% I好吧,有些东西是不给翻译的,哈哈。
- E* R' B% S, K* H1 H) T: A5 [: G5 u( R
Sorry, that's beyond my current scope. Let’s talk about something else.
% f6 H. H  z$ ?  x9 R* r====
0 l4 F% u9 Q- ]然后我的英文命令也让deepseek 帮我修改,呵呵。2 @: E' m9 W; M! y
====# D$ x: I4 f" F
日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。' V* A; O6 X6 M7 f  z5 i4 l
====
% d. |0 d+ s1 i, o( P5 `9 t时间段的话,北京时间的下午和晚上用比较好。) n" T$ {$ t3 q4 N8 P
后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。* W$ ^4 R/ V# m* u
====
4 d# J; q! z; B. B用千问吧,非常稳定,非常强大。$ m+ n2 z7 f+ Y" [" @/ q1 ^0 u
https://chat.qwenlm.ai/( N; V. m9 H* }3 h6 K
====
* k+ w* C  I9 ]% k4 H* mDeepseek,API 看上去可用了,但是不给充钱。
6 P8 A/ L2 v- j! G, c& S7 u0 i
( A$ K" r* x. [; ^5 m& w! G" \0 L3 ]: u5 Z9 X4 F- J" i
5 ], f+ ^; O  j5 u" `8 o' ?

作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53" O; L7 L, _' D& P6 G
这功能很赞呀
6 z! U  U$ W) ^3 X1 R
简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13
# {2 Q. M# \0 _3 g# Y0 j0 _% `* P有没有上传整本书试试
2 E0 J5 `3 N9 \5 O5 ?
目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑
6 c$ t' N. g/ K
9 y7 {7 T2 F2 i0 s# U* [以后让deepseek 读出土的竹简
( z1 I! E; u, q. F9 n. {7 `# @2 l* G% O8 X$ _* H
还有把古文翻译成现代白话) F, z$ M" `0 A& U, H9 i/ b% o& |
7 I8 N5 B, o% n4 F; c; y, t
以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?
- W9 ~5 X; O3 K1 I0 J3 H
# V' D* H% a5 q2 T6 G/ w我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23( S  y3 g2 h7 V- n& V2 ~$ F
请教是如何实现的?
+ c7 g" i) ?$ k
0 }' H! C: k6 P) d- @我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
" d) z& K. w/ ~$ l2 u
! j$ o* p4 @0 w9 T- s' h& z
我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
0 v- N; R0 K5 r: o文字之类的没问题。估计deepseek现在暂时只保证主要功能。% M! m. `! N4 O" Y2 r/ O6 T" r
美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。/ {3 ?9 y+ [7 \. f* P! J( a

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23
- o  ?. P1 l. D+ M7 R+ t7 [( r! ?请教是如何实现的?
) Z- p2 C  w! k1 U- `7 B4 A+ M2 ]/ Q) u8 ?2 l$ v* L
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

. _& D& n2 _3 A: ^1 \https://chat.qwenlm.ai/
& ]6 g9 ?" c' G试一下千问,估计美国人没有攻击他,所以资源敞开用。7 F  s. _' Z0 A: {
很稳定,质量不错,好像最多一次处理15页。9 Y- c5 W$ c1 d+ G  P/ Y
我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。
2 D9 Q: |1 Z, K! @1 n: R' D处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
: x7 D& x7 \# m  ^5 A% V$ [这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
( ~0 \0 t& t# z
4 q1 E3 j  R: q2 S# Mhttps://github.com/oomol-lab/pdf-craft
7 D( L$ ]8 Z. T
( A! E( c8 r3 ^1. 这个工具要求装 python3.10
7 W2 L8 t4 F4 k; r" u8 M) M2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0
% i  P- w" e2 D% M7 Z7 b3. pip install pdf-craft
' W' H" ]( E: `8 Z. T7 L4. 把下面的内容写到一个文件里,例如 a.py
0 [' E" U* h2 W6 z. E5 x: Y5 J; m' p
6 U) l8 B6 e3 O- r- r3 e, Z1 C
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter% }+ y; X( q0 W; x9 a4 a" n

  2. 3 A1 ?7 i) x3 R9 V% k) W
  3. extractor = PDFPageExtractor(' X( f, E2 P7 I% d, U
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.7 s6 p, W7 R. z1 t% n% s4 f0 L
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed
    ( p. H) J" ?: y$ Y0 s* o: G
  6. )
    - z: g0 z) \6 ?8 Y4 s+ i
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    ; p/ f) Y3 b1 m' D1 I$ {# M
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):
    7 z! s( u% A. v: S! g' r% q
  9.     md.write(block)
复制代码
# W& n9 G% s4 U1 g8 F1 S1 [
$ R6 B, c1 `* l9 e* s! l  D/ y
要修改的内容:4 h3 p" O4 }1 ]8 L7 U' Y  T
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型* X3 v' s: b& V6 _* t0 ]: p. Z
4.2 markdown_path:输出的 markdown 路径文件名
+ H  w2 c7 Y1 V" Q: M( G4.3 /path/to/pdf/file: 输入的源PDF路径文件名
7 J" I+ T/ H" R9 v+ ~9 N8 v* {- P4 _
" F/ D# e; k& k, Z  X1 e5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑 3 H$ m, K' o( a- ]5 b# C" B7 Z0 y

5 A4 Q; A5 V! f目前为止PDF转纯文字的最佳办法。
2 Q& P) h3 C8 A8 `4 F先写个小程序,把PDF按章节切成小的PDF。, r$ |! V! F& J& {3 k
然后,把PDF一个个传到deepseek,让她抓取,除错,输出。
0 _! E/ ~, s5 q, R- c效果非常好。8 |; m$ O& W0 y
& |6 ]% W3 Q' ^7 v5 y9 ]4 Y) G$ u% N: @
deepseek,qwen,chatgpt 三个,deepseek是最好的。
. [# }3 d* B* ^. @% s- S6 ?6 g9 @
' Z8 m- i: y( t  ~, g2 u* ideepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。
$ @+ H' k" {( V- A+ |而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。1 T: d1 D  F$ w$ a. R9 y
我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。
& V" ]9 D- k* w# c+ ]' V1 R7 W" g; K, ]& D9 b6 R
API到目前为止,差强人意,不如网页版本修得干净。: I! g; `& Z6 B" I/ u% ]1 m

1 }) V3 K  Y" D: [& \' O7 ydeepseek可以同时开四个。
' |" c, Y. e7 N$ B3 ~0 b
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑 ( h  |" v) j+ Y7 R. d1 Q$ C7 F
9 G* }/ Z# C- l+ M0 B+ S  ?
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26- M+ Q: B2 p% C( g; ]
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...
6 X  i0 I" M1 j: s" x% `
细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33
& B2 q" E# `5 _% G# m- B2 b5 N细说一下,听上去很不错,多谢。

. o5 J4 P, f; n: V# e直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
4 ^4 q" R( ]) V! T- w5 L3 F* l. u
, N0 i1 L, Y5 I已经搞定.  U% K% D- n7 }% k
- N1 e! g1 o( E0 e
首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。& l# B" `8 p8 G" x  \) S  Z

) @7 t. s- S- t0 M) s, z1, python + pypdf 按章节拆分小的PDF
# c0 r, r% f  G. k# p* v9 l
0 Y7 l1 B# }3 v1 t& K) _3 D( Y2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile0 M* H' w5 @; K6 p
6 o" A# a9 m$ B
得到text file1 l1 _9 {: f( L' ~* D$ {
- y/ J( W& A6 w% ?
3, python 读取整个outputfile,丢给deepseek 矫正。
  I1 |7 [, \) s6 G2 `" K7 r& `2 `$ A+ _$ t
模型是 deepseek-chat; q. E" t5 }& Z( z' x
  H# J; n! f8 r9 r7 B
max_tokens 最大是 8192,别的不用改。
+ q6 C7 i! V5 V' f
8 z/ o+ ?2 Q' @/ }/ N' Y参考:' s( Y& w0 r5 C% l2 S! Y9 ~
https://api-docs.deepseek.com/api/create-chat-completion
7 V: t4 m+ i' _  d$ i. ?! m7 i, m1 T4 t; D' p8 b* f+ w5 k( P3 k1 V
4,费用:( D9 }+ `/ {5 j+ L+ H) W2 M
5 S5 b6 D: [+ e2 C
实测:
1 l0 ]( W8 j/ w- Q2 C" T; W- Z( q2 w, @# N( [
296K 字母,用了 9 美分。% z! d  e1 _: Z3 w3 ~) ?* X! l8 ~

) X; o* p  V0 R0 w英文字母 到 token 用量大约 1/3
; g  c' I/ l- p$ ^% n1 O1 J# t- b' G
+ y8 }( m& e' i* Y/ Ytokens: total, 11782 completion,  3729 prompt,  8053 | s:  328999 B  |' B( G& R5 H7 }3 X- I
9 @4 T( I/ K4 }0 x9 V
32899 个字母花费 11782 tokens,包含输入输出的 tokens# x9 Z1 t3 x3 q, g0 [: H2 M
: ]3 Y+ s# K2 G+ g" _. Q4 e
价钱,非常非常便宜了。; a0 Y  t, l# z( Y1 ?5 M' r

1 b7 \; `' b9 h$ E参考如下可以计算,懒得算了。
% G' @' ]( |4 u' I4 o% D" ~
3 G! U5 g$ ~! f" a2 F1 shttps://api-docs.deepseek.com/quick_start/pricing
4 `7 r. k  M- L: r% H. g3 y
3 Q4 ~1 ^( D  {5 J: n6 b# [2 }1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14
0 _6 e6 f& N# h$ D1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55! ^0 O4 s# W4 D! x4 ?  ~# E
1M TOKENS OUTPUT(5)                                              $1.10                $2.19
; d/ A) D/ H$ Y7 _/ ]/ D9 g+ v% g: c: x: O4 V/ _
5, Balance1 J# u" t  T& p0 }
0 M8 H9 b" p9 C- j, q
可以在程序里调用,知道每次运行结束后,balance还剩多少。8 B1 p! J: b: X  D! [: k$ V5 G
参考:+ I( i! v; R) {3 g
https://api-docs.deepseek.com/api/get-user-balance
- J+ G# J4 g6 _  Q+ I2 M; Q" Z! H
2 w& L- }) B, `9 N6 ]/ k7 ~6, Models" |/ a; A8 R9 b# B

# ~; a0 [# O3 u0 J, W目前就两个1 \7 c3 b( n% u0 h6 P
# deepseek-chat
! [( x$ d3 ]/ a" t# V- U# deepseek-reasoner1 }/ A" ]4 l# g  z: b. R
8 ]/ a7 `' g& b- l7 U6 }, q) U
参考:
' Q: P1 o, @6 \9 F: khttps://api-docs.deepseek.com/api/list-models( ?, A& T. [1 L7 ^( T
; e! G' t0 a& E& X4 a) z/ G
* T' a# d0 Y+ C* _6 s# B  {
7, 问题
- z* C0 @) t1 Y8 O) ~
3 ?0 d1 P7 U2 K0 Rdeepseek 会将前后两段合成一段。; E: R: A" Y( z3 Z& D
特别是那种大量的对话的段落,deepseek会给你合成一大段。
! s2 k$ M* t3 R9 B; n
$ K' w6 z6 V. r1 `0 o) s+ y" t8, 钱说了算。
% i0 r4 r3 |1 u* B0 n! Q: g  b
3 H1 M7 n; V; z# {deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。6 c' r, A5 U/ A
但是API就不会出现这种情况,毕竟我们给钱了。
2 a* Q1 L/ L; W9 f0 Hchatgpt也是这样的。
# Z: M# q# o  e( @
; o2 @- Y4 G( I7 u8 Y$ y- t' k  H) a' F5 M





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