爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑 ) o% \6 |% m( {; U& e

  X1 a" U# q) |$ q把PDF上传,然后让他抓取文字,并修改可能的错误。# Z; s' K. ~5 C
然后deepseek完美的完成了任务。
! Q; z7 I6 g+ i, y  g4 f; S: S2 w段落清楚,列清楚,页眉页脚全部去掉。' s- \# V9 r0 m' ^& F8 _; H- k; n, v0 W
我要疯掉了!
" O6 m# j: B8 q4 _( X- K赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!
! Y) |: l% g) B  _0 U& Q0 I====
' W& `) D. n! D9 s# J- P* z7 O8 G! A中文也很完美。3 I) t6 [# o% V" G
经验值,每次十页比较稳定。
4 G$ I) V* d) i/ S现在我这里API还不能用,等恢复了,全自动了。
* {2 V; a8 }" D/ Q% h8 K====8 l5 b$ S  ]6 S
第二次疯掉了!
2 B7 k1 U' B5 N$ l我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。- X, M6 v$ o4 R4 _" S, K
====6 S: V( A/ \: b+ a+ p0 O8 h
现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。
# G4 V3 C" F& |3 T* f9 w但是任务多了后,每次翻译的页面数是减少的。
( D9 N- }0 R: ]& u/ d好吧,我五体投地,继续探索。
5 K- P7 I: \1 q5 r====
0 z1 ]2 M/ x0 r1 k8 {3 @3 Q* r为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。
6 Q& G2 x* l5 }====
  \7 n1 k3 ^2 p$ I! H! V& `; F# l9 |* u/ e好吧,有些东西是不给翻译的,哈哈。/ l% S) J) Z9 r: e; \6 x9 X

9 r! q4 N, ~' n- l% M5 L+ w; X$ lSorry, that's beyond my current scope. Let’s talk about something else.
" \& e; \' X) Y5 b4 w* {) H/ I4 _7 Q====
& P0 g6 f, W6 S' G% K5 W0 N' u  L, N然后我的英文命令也让deepseek 帮我修改,呵呵。
) ~" W& j, g. a3 f====7 o' @5 D! s+ [: F4 E# f+ t1 \
日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。0 j$ Y8 \; `$ Q" a# y) V2 m
====3 S5 o2 o5 Z# A' p7 Q6 c$ m
时间段的话,北京时间的下午和晚上用比较好。
! C8 T2 a8 T  b/ j9 t/ e, H后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。1 g4 ]9 `  j! a0 q$ r1 [
====/ Q9 j9 C# |! O; `/ {
用千问吧,非常稳定,非常强大。" `( B* X# p- \# U7 ^
https://chat.qwenlm.ai/
( X1 V8 [: w8 P% J5 _* {) e====7 p' F7 \& {. V) v; D. U% Z
Deepseek,API 看上去可用了,但是不给充钱。
$ ^9 }; _" K: i  M' I% S7 H
7 }. m5 M4 w8 T- q! j# i8 U5 a6 @( Q' [# m
  c& B" S9 c# _

作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53
/ Y+ A, k) {3 G, t9 e' h  f这功能很赞呀
' }* o* r8 d; O$ [1 ]
简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13
. ~; b0 }  C2 S% B有没有上传整本书试试

9 e, p3 ^$ j' V8 n9 ?3 v% u* U& l: y目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑
, r! W; r3 ?2 A; h5 Z9 `  P& S) M2 r+ _0 _
以后让deepseek 读出土的竹简
1 y2 @: G4 k! ?2 ~" o# p; d- B7 n7 M# t# F0 s
还有把古文翻译成现代白话! l: n5 j$ g7 R+ O) M% I
/ I2 N, O$ r* b# C3 W( o
以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?: P7 b. ]9 d) r( G
* X  d# h0 Y) W8 c# [3 f. {7 j
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23) v! y$ E/ r( G9 ~1 b
请教是如何实现的?0 f) `% E/ P: e& ~, u, Z
7 ~1 E6 C* R, |7 b" i# f
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
6 L% R" B$ r  {) a+ i4 R

0 I) j( E- O: C; G+ E我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。8 C0 [2 n+ g) L% g5 s' b
文字之类的没问题。估计deepseek现在暂时只保证主要功能。
/ S$ o4 }7 ]) M. l; r美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。% I/ o* v) y" Q! s( f3 D

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23
1 Q3 f; G! e6 V: p, X, |* n% Q/ L2 @* J请教是如何实现的?
" @# I: o3 @4 P/ e* R
/ L& n( X+ B' D0 v. F' Z我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
0 B  ?$ t3 C/ y: I$ I' a% h
https://chat.qwenlm.ai/
& ]. {8 o6 Z( |" a4 K4 s* i. q试一下千问,估计美国人没有攻击他,所以资源敞开用。( t$ d& }2 K" }* [6 \/ o! O
很稳定,质量不错,好像最多一次处理15页。, n2 B6 |) r8 C& d. j# c. d$ e
我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。
  g7 \+ u% r# x8 S* _处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
% k% s) g7 D8 f7 v9 g8 j9 a这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
; Q7 F: N: [8 v: a) T0 Q" x9 a# R( o8 m+ z9 O& Z( P
https://github.com/oomol-lab/pdf-craft
+ S* {* @9 G. Y9 B7 ^( @7 w3 ~& B$ U- p( j5 t( `/ w' r
1. 这个工具要求装 python3.108 b8 |$ U6 }0 k4 p
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.03 z' p" [. A0 e) S
3. pip install pdf-craft9 F2 E# z$ [; {9 v
4. 把下面的内容写到一个文件里,例如 a.py
$ y6 ^! g, }- L* A) D+ A4 w9 G
2 U" v+ b" @  u' u  F7 \
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    6 n& E% R+ Q9 `3 Q9 ?" e3 p

  2. + ]  P5 c# d& m5 m6 W
  3. extractor = PDFPageExtractor(. u+ ?, i/ P. h3 k0 d
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
    ; n, B8 E+ w3 M3 e* W' Z+ Q
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed, A! r: v0 Y( _( Z& ^7 [2 m
  6. )& F  X& q% g2 o5 C
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    # y: N( f1 {- {
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):) b( o% f: J. |5 U
  9.     md.write(block)
复制代码
4 O5 f5 o# [6 T
! t  i8 |; |" e8 i& I: e" A% a6 }# {
要修改的内容:
) Q) x" b: y  y4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型
6 ], C: g; `' j4.2 markdown_path:输出的 markdown 路径文件名
1 c5 d- @' s/ ?& J; c4.3 /path/to/pdf/file: 输入的源PDF路径文件名
3 y/ X% t: C  [, R
3 D! C" V9 A+ x5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑
5 w2 ]) D: _  d1 U; d) @: Q% p8 c, s+ i# d. u
目前为止PDF转纯文字的最佳办法。
' P' R" u* x3 u, T4 Z8 Q  P先写个小程序,把PDF按章节切成小的PDF。/ Q( l) p& L  h" _' p
然后,把PDF一个个传到deepseek,让她抓取,除错,输出。: O$ W; r7 Q6 O/ {- X, ~# F  W0 x
效果非常好。: p! u- I) G" a5 B# R
  ]% p6 D+ ]# p+ D5 m+ Q+ i' b
deepseek,qwen,chatgpt 三个,deepseek是最好的。
6 o4 L( l$ A" ~2 B& M/ H) Z
! d& `2 ]8 g3 U  e! Q$ a3 L2 Edeepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。
' Z2 y: h9 |' W, A' h而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。+ }1 Q1 D* S; ?. ^2 u# m* k
我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。
% j0 o4 F( W# Y3 W, j- X9 u3 B
$ y7 [3 @  Y4 G' N% K6 U2 F* X1 lAPI到目前为止,差强人意,不如网页版本修得干净。7 b; h) ?& }. s
  x( V4 i; b0 i
deepseek可以同时开四个。
1 M4 z5 V4 Y9 T* [' H
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
2 j7 a7 Y& o* n0 h
8 C$ h7 a1 r+ c让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26
% N; z9 E0 u  c% c( N5 H  b让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...

, S+ ~  C' i; _4 `细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33
% b% ]& Y9 N4 b+ w, t细说一下,听上去很不错,多谢。
5 ~( Y  x% F5 o" ^9 N) _% a
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
8 g& K( y# I4 b' n6 T: h
9 s' f0 x. _2 A( o已经搞定.. s6 O: [3 y% |

) _) W+ I+ I! H* D* B$ O! R- ]首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。
  V  @$ u) D6 t3 Q% H1 N6 Q; \: `- [/ N( x/ F0 {( s8 r" l
1, python + pypdf 按章节拆分小的PDF8 R2 r- j0 j. o9 H

6 ]+ }$ v3 _+ y. S6 f5 f1 J2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile
1 l( L, w( ^; B* a
% G$ j7 @* J. B$ a得到text file
9 [6 [" ?: X+ x- A7 z4 e
4 B2 @9 ]' m/ G- j- s3, python 读取整个outputfile,丢给deepseek 矫正。
8 H% X2 x; S  H0 P8 L; ?# n" F) X' i
5 [! A& X5 ^3 q模型是 deepseek-chat
" Y) @; K+ W) R- k5 }4 {5 T( G% w6 G
max_tokens 最大是 8192,别的不用改。: H, E! F5 [9 P) P, X  @- `
2 p6 D# c8 @# a9 @0 w3 y
参考:3 M' M' r, K+ I; L( e: n0 M7 g
https://api-docs.deepseek.com/api/create-chat-completion
, A" j9 N. v$ O/ u: o: g& w
; H& L9 L" U- G4,费用:
+ \, w7 Q4 U& g  J* n1 q3 |+ d) ]% Y- W
实测:
. Z1 d0 A8 ]% R( w- P& B/ Q& U# t) p% T4 n$ {. b+ Q( R) Z5 K
296K 字母,用了 9 美分。
- j0 [0 }2 A* L! o0 Q
4 E( N3 x4 {: ?$ x& r  S2 A4 A1 z英文字母 到 token 用量大约 1/3
5 _5 v" W8 y5 y7 ]- T3 Y
6 q/ U6 O8 u. Btokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899& O3 ?1 v! Z2 g* ?1 }; N; c
4 q5 v- A+ ^- f# E' y" N
32899 个字母花费 11782 tokens,包含输入输出的 tokens
1 l* N8 f' ^* o- [
; }: Z% t+ ^, L; w价钱,非常非常便宜了。
( \. \, N9 V% }
/ F4 o& K$ `3 I$ h# W. ~+ ^参考如下可以计算,懒得算了。6 N4 |' [5 m3 z
4 e, Z6 D, P6 {1 m0 ^. D% m
https://api-docs.deepseek.com/quick_start/pricing
/ ]* a. o! L! G# d( M. a$ F& T3 Y' e' {, G; o; Y
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14
) q7 f- L- v+ y% k' j1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55  V" [' F: S% v, h! m# s/ e& ]
1M TOKENS OUTPUT(5)                                              $1.10                $2.19' s/ }+ t' \0 ^" H0 f: K
& ^. b/ m8 Q5 U" e: V7 i
5, Balance
8 K, K* [2 Y* @+ m% x0 z5 u+ W: S
$ J/ u( I: Z6 l& g2 U可以在程序里调用,知道每次运行结束后,balance还剩多少。
6 g, H' o$ p7 J, e& M+ o参考:+ a3 e+ Y8 A8 M& g3 G# r
https://api-docs.deepseek.com/api/get-user-balance
+ \3 Z+ L  N( E" V) M% _
& y# H9 L& I. d; A6, Models7 a' _2 m, }, D% G( }- |) ^2 h. s

& o3 d0 Q0 i1 H" F8 M8 `目前就两个% K0 z5 B$ n( ~# y! ^4 {1 g
# deepseek-chat
7 J  h- x' z  o- s5 g/ n# deepseek-reasoner. x+ |* x( b4 `  z( a: q9 _

# B: y" Z' ~& M) z5 n  O) w参考:" h* b8 b6 B) q. X: {
https://api-docs.deepseek.com/api/list-models, t9 i* D- |9 b; O) n" y/ S7 ?

# c8 Y, z( I) `" [' a6 b- p: C- L& @# B4 ^/ H
7, 问题# T) ]& G) E. a. N
# z( g5 d: B- Q8 u: [
deepseek 会将前后两段合成一段。
* W6 V6 {! Y. @特别是那种大量的对话的段落,deepseek会给你合成一大段。
5 L1 k3 \! ^9 g7 u9 h
6 u% \% ]) j1 z& A; s& y( L" V" g4 P" [8, 钱说了算。
. W$ T) q. H; Y' ~9 e) o; ~  @; t  A# i1 Q
deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。' F# N/ S2 d& B. E% b2 P
但是API就不会出现这种情况,毕竟我们给钱了。
$ i7 U# o2 _$ n, J- ?- Uchatgpt也是这样的。
% E! L, x: j2 E4 r
$ `+ Y2 S* v! Y' `5 q5 w  [. K
  G% l' S& ]$ F; U




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