爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑
) e+ n1 `- C7 F9 E' ~0 a! }+ D
5 j$ }7 o$ b0 L3 W2 U把PDF上传,然后让他抓取文字,并修改可能的错误。" I- E5 V# J) R
然后deepseek完美的完成了任务。
" ?- H$ P; D! d. [7 }' b段落清楚,列清楚,页眉页脚全部去掉。
$ {2 w6 S' R  V我要疯掉了!
& M+ j: R; A" y( d6 D+ k赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!
% f# Z7 x* H( }7 O3 \- E" `- S====7 R3 q; |0 C9 [% ]" j. W- R) M
中文也很完美。
* s- T. m2 @0 D+ h: A经验值,每次十页比较稳定。( k, a& F  m) M; N" _# P, f4 X. K
现在我这里API还不能用,等恢复了,全自动了。& M4 n: H9 [9 }* w* I
====+ i# ^$ J2 m' s# S. J5 i8 e
第二次疯掉了!
% R4 h" r& |$ R; I( h5 Y! Z; w我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。0 W7 k( f3 A; |& }9 R% h. D
====* L% O& x' O* m
现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。
+ W' t- S8 M& h+ Y! x9 s. {但是任务多了后,每次翻译的页面数是减少的。. ~, y7 M; g( m* _1 f; k* W! h
好吧,我五体投地,继续探索。$ @5 k, |# G# \
====
9 Q* l  O+ c! k' C6 ?# Z( y为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。/ h! b6 n0 M$ X& w. m
====4 p3 J+ ]2 j2 _) P' K! ?; r1 S
好吧,有些东西是不给翻译的,哈哈。/ \' J  `+ `. o& ~: F

" F( G: ^4 j- G0 BSorry, that's beyond my current scope. Let’s talk about something else.
# O8 [6 `4 k7 i7 h====* k) w9 P, Z5 \, h3 F
然后我的英文命令也让deepseek 帮我修改,呵呵。' e  {, A9 R5 f: i( }& A
====1 [' P0 o) m3 g: m
日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。
9 T; f" g6 c  Q$ T====! f+ L& R% F5 _9 u
时间段的话,北京时间的下午和晚上用比较好。
3 z+ [  j7 }% N0 k5 Y后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。* P) d& p. i- |3 h/ T
====
; a- D* N, T/ u% z  T( S3 B: w' x用千问吧,非常稳定,非常强大。" f6 i' Q: S  ]6 G! _- z/ k
https://chat.qwenlm.ai/) M: E, d# }$ k7 g; Q; F
====
  O# ~( r" f5 GDeepseek,API 看上去可用了,但是不给充钱。/ x2 k9 f9 U' D) P4 H  B4 S
4 e& O! [* _- l9 ~& z1 A; K; F

7 q, I( T5 [- r8 Y) Z
) F& l7 ~  m$ l' ]/ `; X; y! F
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53% ~4 R" G# A' A* Y4 q1 t6 N9 R
这功能很赞呀

# g& n2 |# A2 c4 V简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13( p$ L3 q+ }2 g+ U' f8 H
有没有上传整本书试试
9 _; E) V7 q' q& l
目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑
: _$ {- r0 h2 o8 T. v
6 B' `! a$ g4 O# |+ U以后让deepseek 读出土的竹简+ @; b) ?  L6 D* E6 ]
/ i9 R* H$ N; d
还有把古文翻译成现代白话4 U/ i+ J$ t( r1 k3 f: m
# l& h; _. B7 ^8 i4 O, W0 s3 r
以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?
; R/ s, Y3 a  S% t" V7 L5 n$ Y
" R1 g! |4 x8 U* Y# H我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23% o0 P& ^- Q4 Z& N1 C
请教是如何实现的?
$ y4 ~" c* ]# E, f6 e5 i/ z. i8 v7 z; K$ F
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
  R1 u: B& L3 L( C% p, V' ]
# D. x) g1 n/ s$ N$ i  R
我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。& x1 }# {- r4 F5 [# y- J
文字之类的没问题。估计deepseek现在暂时只保证主要功能。
5 q0 ]4 M2 b5 k美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。- l+ L5 n1 ~+ q4 ]% c: _8 K

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23# G- a7 M- Z% R) [' B6 E
请教是如何实现的?/ u1 V8 }+ B4 n! @4 `% U) x8 u$ }
& o6 r  A  r+ V
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
: c! k- o3 t& O$ ^
https://chat.qwenlm.ai/7 [8 _4 Y9 H7 x
试一下千问,估计美国人没有攻击他,所以资源敞开用。
7 b4 |; V  ^4 ?! B0 A很稳定,质量不错,好像最多一次处理15页。! L7 N! t9 J2 s4 l% f% e  s' l
我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。( V8 K8 Z; Q) J" T( F4 v
处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。* V: ]  a) k/ H% i0 Y$ f1 f! G
这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
7 o$ W9 |) W1 L4 h# l; W; h3 ]! k# K/ @, T
https://github.com/oomol-lab/pdf-craft" V9 s  l6 u$ ^1 _

+ W' v9 a' Y4 ?( L9 V) _8 h1. 这个工具要求装 python3.10
4 t6 I. a! s/ S3 D/ _. ?2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0+ I' z4 P, C. E- q
3. pip install pdf-craft  B* Z+ A/ x' F) \' b. A: \0 U
4. 把下面的内容写到一个文件里,例如 a.py! D% [, \7 G9 i& x# u7 I2 f
4 A: ~$ A5 U: a7 i6 n" }
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter, q* `& M" y" t* E1 |5 W
  2. " \! N' F. E2 n( b
  3. extractor = PDFPageExtractor(5 _$ ]9 w* H! t1 ^# y5 t
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
    6 ]& K  T7 |, E4 s
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed
      F8 W0 s( s0 D' o; C: @" f
  6. )
    " D7 e5 p& z  s! M! J  W, _
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    ; W/ M: r/ i0 c) A& M9 Y& r
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):
    2 V0 S) O- F: ^; K
  9.     md.write(block)
复制代码
" {. z9 Y" ]' Z% F3 z1 l8 j8 Z% ?

# e$ q# _0 O4 j, H0 L! s要修改的内容:) B" F' G( v! c' c
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型
( h( U: ]: R1 H+ ?( L4.2 markdown_path:输出的 markdown 路径文件名( z3 \4 t+ w4 \4 k
4.3 /path/to/pdf/file: 输入的源PDF路径文件名
( B) ^& J2 c$ B5 ?8 v( @& k1 G7 u5 Y8 W: o6 E
5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑 4 b2 s9 J# i+ E# g- g
. f3 i  z0 W/ w2 }7 N
目前为止PDF转纯文字的最佳办法。; E$ S# N9 }) h7 V4 L
先写个小程序,把PDF按章节切成小的PDF。
( y# T6 J3 ]: v9 m% L3 X然后,把PDF一个个传到deepseek,让她抓取,除错,输出。1 O% g( ]2 n9 g/ n
效果非常好。" k0 `; g7 v* u! ?6 Z7 m( I( C

% i2 n6 j# @9 _( w) z- n' kdeepseek,qwen,chatgpt 三个,deepseek是最好的。
# ?. ^0 G2 j3 W$ F4 B$ ], X0 K
" w2 T6 ]- ^* D* Rdeepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。
/ Y7 b* E" q7 U1 L+ B; V$ e而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
+ f5 d0 d' T* B! |) ?我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。
; J& t# F$ C, N
4 p3 H# k) \$ y; {9 FAPI到目前为止,差强人意,不如网页版本修得干净。. C9 W3 j# X0 q! W9 P

* ]3 i0 W# N# |# ^* n, Zdeepseek可以同时开四个。6 H: ]; m& A. s

作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
, N8 n- n- x2 Z: b2 x8 x8 u4 D. L
( `2 A' }- v  X: |5 [8 q; \让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26: [+ H+ J2 a- E6 F1 T
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...
+ N7 b. r& `7 P8 N2 H/ E
细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33
, s" W8 z" y, n) I$ z: X/ i8 g8 c细说一下,听上去很不错,多谢。

% C* i  y$ K5 @) L直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
. g4 |- T' [) _! |
/ t( {3 X" b; Z+ R2 |2 z已经搞定.7 w0 c! l* `; Y1 f

" c/ j1 V, B5 r) K: u" h首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。, e" l6 S) d: J. J4 C( |- n& }0 m
8 E$ k. Y* c1 B' ~
1, python + pypdf 按章节拆分小的PDF
) L* J' C$ s! u+ \  @( t
/ x6 y% H4 A/ p2 A# U6 w, ^2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile+ O4 }; `# \' u, b6 B& w5 [4 S# ?7 [: ?
7 `5 u4 k2 l, a: Z0 \
得到text file
5 }! F/ h9 [% K' b% O6 o- N1 j0 O" W$ r9 n: N/ L7 r& a
3, python 读取整个outputfile,丢给deepseek 矫正。, [/ s9 s! g. [1 v' ^9 t1 z  {

, v1 ?2 g7 I- E# x6 q模型是 deepseek-chat
$ \8 W: E; Z, W! E8 g5 ~# c5 F9 @; d8 a
max_tokens 最大是 8192,别的不用改。9 Z/ I" j1 @- x9 P$ a8 H0 c, A5 Y
/ i( R4 D, o- U3 M
参考:* o/ n* g+ t+ j+ I) T) m
https://api-docs.deepseek.com/api/create-chat-completion1 Y0 S0 t! c- o2 F7 A& X. y
4 d, {8 H7 u% ~, ]
4,费用:
5 e9 z. F( [" F6 p
& c9 E1 Y6 s9 z7 f- H# F6 i5 Y/ K实测:+ g2 D9 X$ M. J
) m' ?/ ?, w* h4 K0 W; R
296K 字母,用了 9 美分。" j& s  t. \4 w
' i) X4 B) Y! G) U, O$ `6 X
英文字母 到 token 用量大约 1/36 x$ n, P& M+ q/ c% U

, J) q8 _! t# i' T! N% ^tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899; b+ r1 T7 M$ o* b
5 W8 M( H& D/ ]" U! V8 a; e6 v, n# h
32899 个字母花费 11782 tokens,包含输入输出的 tokens2 [7 b! U! T) r5 s

: g' l9 P, g  U4 i: q  o7 r/ Q. D价钱,非常非常便宜了。0 @9 V' J5 S4 {5 ~. E

2 {; A2 L4 v  l) u, C# G$ S参考如下可以计算,懒得算了。5 Q& w% w* J: @& u
: l  S0 l' Z% A8 w
https://api-docs.deepseek.com/quick_start/pricing
" `& `1 l6 {8 I6 [) Q) M$ q( W. \* T0 o' K  X4 b$ B
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.146 p2 ~( [/ C, P
1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.553 @6 ]5 v% p4 W0 Y7 h  m5 q8 n$ s
1M TOKENS OUTPUT(5)                                              $1.10                $2.19+ F2 Z) h. _$ [' l0 W) \( e- E" u

3 U* w/ Y& |0 i# k- D/ y5, Balance
) i3 U. p1 g5 g" @+ k* {! J7 _& e% U( J- c, `
可以在程序里调用,知道每次运行结束后,balance还剩多少。
" T  ]3 r0 ^& a# P4 D参考:' L% Q7 r) @2 z+ @- o
https://api-docs.deepseek.com/api/get-user-balance
3 T" W# Y9 k! ]9 n. u; M. g
% O9 S9 C7 ]. b4 Q6, Models8 V* I; ?9 c0 O) \
! C  ~! D" b: x* r) K
目前就两个
8 ]0 I( ~8 T5 Q5 y  q- V5 ?) J& B5 W# deepseek-chat
/ _' T- f$ O8 E) q6 L# deepseek-reasoner
$ x8 M' O/ J  p$ k1 o( P" o2 w9 E& o; j' A  e4 J2 \2 O
参考:0 k* d) K* A9 p
https://api-docs.deepseek.com/api/list-models
& q0 s5 K- U9 n% R; r6 Z
) ]/ r6 q( z$ {! Y0 a" @7 m8 A% v5 q0 N" A6 b
7, 问题
9 C5 f9 P4 I) g& s! {3 B' z/ V% N- E$ L* e* z
deepseek 会将前后两段合成一段。
  z1 t  k. X. Y$ c9 v& N# w# G; j特别是那种大量的对话的段落,deepseek会给你合成一大段。
/ L; Q( T7 c5 V: `# c
; t5 A: f7 U$ b2 P- _' C8, 钱说了算。" g3 L; n3 m+ Q, x( s0 r
+ e: V0 c( t( R: {4 E& k
deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。- j/ A" `, Y/ ?% v$ B5 k
但是API就不会出现这种情况,毕竟我们给钱了。
. ~" w4 `3 H8 T" `4 W# {chatgpt也是这样的。, C1 H" j2 b6 b5 |( L

$ C' j% d$ `' G. ~
" I. i4 ?1 e: _




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