爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑
: g0 v1 a8 s7 B+ A+ g& ]
) D$ B% r1 e/ }( Z  N+ [# c: I把PDF上传,然后让他抓取文字,并修改可能的错误。' c3 m( E( e4 p" f
然后deepseek完美的完成了任务。
& _0 _& w; E8 |3 o$ _3 @9 v段落清楚,列清楚,页眉页脚全部去掉。5 g) q# r; ~4 K7 R; h6 C0 `% L
我要疯掉了!  W# p3 Y3 z$ |- F1 n) q
赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!
8 v6 w( b' p: Y, q. a$ l6 N: m====
4 y6 l, k6 t8 t( x. `. z中文也很完美。
! [3 s1 U; E3 t7 X' B经验值,每次十页比较稳定。0 |# ?$ R) v7 @( y
现在我这里API还不能用,等恢复了,全自动了。
2 v/ v; U; A' \( A# j8 E6 n8 N$ l====
0 _( D" U' ^4 C' ]' Y1 v' H$ v第二次疯掉了!
+ w8 U- o! {. ^2 b我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。8 ?$ u9 c( l7 P, G( R
====
/ S$ h0 A/ F, X- T$ t& {$ u1 M现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。0 _7 G9 ~' p" g8 M/ O
但是任务多了后,每次翻译的页面数是减少的。, ^0 H7 R3 \; a  k
好吧,我五体投地,继续探索。7 K' X5 t- ~. A; \5 L1 R& x
====' D6 i' P3 d% ?' f
为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。- k6 G4 d4 T6 }7 [2 a
====5 w, |, P! _8 C8 s% b
好吧,有些东西是不给翻译的,哈哈。1 n6 ~/ N$ C# |0 ^4 s% o" Q

2 B4 T; ^) z- X6 K: y" W: J. u/ B, v+ vSorry, that's beyond my current scope. Let’s talk about something else.
5 [- v) Q4 p' G0 o/ m====/ a, \* i( M$ `8 U4 d+ X' @5 w
然后我的英文命令也让deepseek 帮我修改,呵呵。+ @2 ?3 g8 I8 L9 }* B
====0 \6 |0 _' B( }
日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。" |1 i  f  b  Y5 g
====- V+ L5 N+ O$ C" m0 v9 u) W
时间段的话,北京时间的下午和晚上用比较好。4 E6 t/ V8 n( h1 h
后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。- R& c' w$ d2 i& W* l
====
" t4 s3 K3 a3 q/ q' c9 w  x  F用千问吧,非常稳定,非常强大。) @9 b. Q8 P0 b+ c
https://chat.qwenlm.ai/, U' r2 Y: J9 ]/ R4 \: d3 u
====& b: _) b3 T2 E$ ]7 i7 j" m+ T
Deepseek,API 看上去可用了,但是不给充钱。" U# W) B: ^: a& J! ^: F

5 `7 L' K! x+ W; w* p% r; |3 ~$ ?- W
, L" b% w! y7 N+ Z! X, r4 u  V  y

作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53( i/ b/ s( k, t
这功能很赞呀
9 ^, C0 t4 Q4 `1 O
简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13
' z  L' e3 z0 l5 ^- |, M$ ]有没有上传整本书试试
, [2 `! \& {# s& P4 j3 y0 Q) T! w
目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑
9 O' m& b/ h: a% _, b, i0 M4 g" @' W1 R" g5 i
以后让deepseek 读出土的竹简
) X  Y1 ^$ b0 L/ w& j  C+ i  A% N/ W0 B
) Y8 F. t( H& k  N0 k还有把古文翻译成现代白话6 V+ A: h+ l7 Y; g2 M0 Q

1 w- h) I, n1 ^7 a以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?
/ b- X+ O; w3 C3 ~5 x* y
/ {& e2 n+ C# \/ I. v- ~& h( f; t我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23: Q: ~' d4 o9 [( f
请教是如何实现的?! R: Y8 E2 R! f+ N% W5 |  _+ A
8 C  t4 ^4 t+ J. [2 K  b9 I
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

1 i0 Q: i2 }& m; L) a
4 \' m  l8 h) `' \7 p$ t0 \( l' L( X" b我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
% `# j% R2 [& E文字之类的没问题。估计deepseek现在暂时只保证主要功能。/ n: }5 B; V/ W2 o1 Q. K
美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。
) e4 f! p* ~5 z8 }* f3 z3 n
作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23, z: a) c  v5 `! V1 d5 s/ L
请教是如何实现的?3 ^2 J1 G* P6 E! s3 v* ?7 ]
, @& |9 n. M0 K5 d5 ?, D/ L
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
2 U5 j* T7 [  ^0 |( r$ l' e  g& n
https://chat.qwenlm.ai/
' j: A! w* l: W/ `试一下千问,估计美国人没有攻击他,所以资源敞开用。
. p6 Y1 w$ k0 c- m; \很稳定,质量不错,好像最多一次处理15页。
* I4 K* u6 b) |3 a我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。6 q. w! {* H* o( J4 p* i# Y
处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
; Y; a8 Y7 J4 l. p- m这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
5 N' M! B3 |) Y  \5 r& d
8 \: s& H8 Z$ N2 W, S! e+ H' Rhttps://github.com/oomol-lab/pdf-craft
4 b! [% {8 J( c" z: d+ Z4 ?# [1 g0 Y  s! R, D' ~7 p
1. 这个工具要求装 python3.102 W& q  ?/ e) N$ m
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0  o  u# w. ~& z+ P9 e6 f/ u+ g
3. pip install pdf-craft: f0 Y3 a3 Z: z7 P9 e! o; L+ G
4. 把下面的内容写到一个文件里,例如 a.py. C* j/ X! ^4 b
8 \" Q* V9 b( @; k% ~& C6 A
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter3 S  a# s$ I/ t$ p2 Z5 F
  2. 4 y# U9 a# O: ~
  3. extractor = PDFPageExtractor(
    - Q( y2 h) m% u0 {
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
      [" k# q* \" Q+ ]" M" z
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed
    ; `# }3 P, e+ X( T
  6. )' x* c, }- l8 n' ~+ _
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    & d" s$ y* h/ t
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):
    0 X1 V- M9 K- a9 G: N
  9.     md.write(block)
复制代码

3 l$ K5 W& y: H4 t6 T! m8 j. z& e2 ?# Q1 W; o
要修改的内容:
* a- X. I9 O, P! b0 M4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型: T9 V! o  _) B% m6 U/ p
4.2 markdown_path:输出的 markdown 路径文件名
% j% t( q0 k; P' r+ E' z4.3 /path/to/pdf/file: 输入的源PDF路径文件名' U& v! o( u5 p/ g5 ~2 Q

. i( F; f  x$ x7 w5 t: F5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑   S' d4 L9 l; y0 F3 v9 U/ H0 @

, f! V9 H/ h0 z$ N  A/ ^9 }目前为止PDF转纯文字的最佳办法。" F9 a" {9 u% ]
先写个小程序,把PDF按章节切成小的PDF。& ~7 h% J* W8 p& l, M# }
然后,把PDF一个个传到deepseek,让她抓取,除错,输出。/ F% l! n; ?4 n% `5 }( {
效果非常好。
8 m( H1 J, q3 X7 h7 C
3 x( J7 [" J5 A3 j" |deepseek,qwen,chatgpt 三个,deepseek是最好的。
% h" J1 j7 c) `1 c1 a& ?% t# r2 s$ h
% S$ X+ b5 b+ m4 I& edeepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。5 O% {- }( @6 [7 ]+ V" Q: |
而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
7 S6 Q. C) A# c我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。
& z' J" A9 Z4 g) J% L" Z; z
2 E( p* u; p9 B& {API到目前为止,差强人意,不如网页版本修得干净。! c3 h, _0 J# E8 \& U0 d  x# N

$ u0 t1 \, r8 b* Y. u' h+ hdeepseek可以同时开四个。
& b; a- G5 ?! X* ~5 `, g
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑 ; A2 E2 J- P5 f

6 M* g- p8 v3 A  ^! s! t" }让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:262 O2 [$ ?7 n' k) H6 U7 F- z( t
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...

; |+ [+ i( ~1 P" D细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33
7 t  D# U, y3 z  v! c3 r- O细说一下,听上去很不错,多谢。
8 @+ b' L* o$ g4 R( o, `! c9 R
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑 # C( G& q& A- p; p4 H1 Z
  |& E- A/ r! V3 e
已经搞定./ J! H. B; J2 X+ D: q
3 `4 ~# [& n6 s& R* M7 c
首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。3 G' N1 i4 z* q! e

. k1 O6 u! O; |2 k8 V! M1, python + pypdf 按章节拆分小的PDF
$ @$ U  S4 {& ~& x$ B) r( G- F" f8 d5 P: a; p
2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile
1 C- z6 r- m9 k( j" D, N0 }3 ~( v5 I2 c2 s! k
得到text file/ X/ [/ x) E& Y1 a

4 u# S* G  R- C' T0 f' r2 d' [; r3, python 读取整个outputfile,丢给deepseek 矫正。
  n2 ]  q0 `/ }; R# {8 ^4 ]
, p2 o, ^, D$ T) Q模型是 deepseek-chat
- N, X* X. F3 I8 Q' |6 o4 U8 Y; {4 y0 g% s5 u& l$ ^, w
max_tokens 最大是 8192,别的不用改。
" A7 P6 O4 l: m0 U/ `  l# X  r" ?- H8 Y; s: s
参考:
5 R! {% R) L! h: _4 ?https://api-docs.deepseek.com/api/create-chat-completion
& i; h$ K1 b$ _# Q1 y  I# ^! E# z. l  g
4,费用:
8 I, e* a0 T# ], A7 @
0 g& ]" O* M3 J& S实测:; ^" j9 u; |2 ?  G( j6 y+ w" u

# \, E- @3 Z, [296K 字母,用了 9 美分。
8 \( b+ K; q' G- d& l3 q! r' C; `. ]4 A/ A" x0 H
英文字母 到 token 用量大约 1/3; |) h; ^% c3 ^' U% l& l

: y4 O4 R, P& A. ttokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899+ G* N2 X4 j- o; q1 }! c. I+ ^

) _( i8 Y+ B3 w6 q& M) g32899 个字母花费 11782 tokens,包含输入输出的 tokens
' l5 A0 ?  i# d- [7 S
! Y4 j4 N7 Q* `% o价钱,非常非常便宜了。8 {: b2 K+ Y  V
$ k9 x) b' C. p% W& D
参考如下可以计算,懒得算了。
' O2 r7 o4 X- ?1 x5 w7 |
. T0 @1 G( q0 o5 C6 ?  X+ l3 lhttps://api-docs.deepseek.com/quick_start/pricing3 t% E( }* r2 S, I) h
2 f1 j0 h; G: [! s3 U, u
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14' s) j' u% F0 X6 @5 m) |
1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55
) q& o2 H8 Y( G1M TOKENS OUTPUT(5)                                              $1.10                $2.19
# V- n9 Y* S: r
0 F+ ]; _7 m& O" W# Z4 ?5, Balance/ X: E) A/ G+ ]# s7 N
6 s5 [7 k) i! \2 O! ^5 \
可以在程序里调用,知道每次运行结束后,balance还剩多少。
7 B  M# o) x, p# \7 s" p, r: F参考:6 k7 }0 w2 ^& v2 w5 K1 H
https://api-docs.deepseek.com/api/get-user-balance1 X5 Q! J0 ~6 h. H* d

) R6 b1 p+ U3 a+ ?# N" T6, Models2 ?5 r" J) ]. ?; p' H
8 W' a. C/ `6 v; o' n, x
目前就两个/ ?2 @. }# P3 I, q
# deepseek-chat
, O6 s6 x: z+ ]# deepseek-reasoner
( Y/ t7 ^& |* L" k0 Y4 a+ T9 j
" x. _* c6 k( S3 p3 I$ I参考:) Z3 X" L* D9 K: l
https://api-docs.deepseek.com/api/list-models& ~+ o7 {3 G5 U8 l8 p" W
/ V( |0 P4 S* V# J& c8 i5 C
& Z$ [1 M8 i9 h4 ?+ s
7, 问题# [' n2 H7 A) \( y* x

/ `/ L+ B+ q5 C+ y1 k/ ]& v: g/ Vdeepseek 会将前后两段合成一段。; t! N. ^3 |3 R5 G/ j. Q2 P8 T8 F/ _8 ]
特别是那种大量的对话的段落,deepseek会给你合成一大段。) d) z$ _4 L& |4 p7 D. E
1 |9 h. o4 B! T5 s: K  p4 B9 u
8, 钱说了算。
! z  e. C! |2 y. \+ R/ c5 ?" H! H6 P. M& R
deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。$ R$ [% v0 y. X) M
但是API就不会出现这种情况,毕竟我们给钱了。
* Y( |; {5 q: Y# j+ b; @" Lchatgpt也是这样的。+ ?8 |* X+ _) X6 m: [" F) j
7 p7 L9 f: y0 N7 `% O  w2 _# g4 F

0 `5 L  o, Q" G% U




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