爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑
4 I" ^5 t7 R' q  r1 A' X1 F( `4 f3 S
# b: F9 l2 q2 E! H/ R把PDF上传,然后让他抓取文字,并修改可能的错误。/ }& o+ h6 R, v+ J6 j7 ]
然后deepseek完美的完成了任务。
; [1 g0 J- X+ N& Z+ A5 [# t段落清楚,列清楚,页眉页脚全部去掉。, T( {1 @/ S! h- m) j) Q) O" ]
我要疯掉了!- r; ]- b; d! Y% I0 A+ }# H2 A! _
赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!' U8 J( Q$ k+ Y- [' b1 ^( B
====
( Z2 T, U$ x7 S中文也很完美。* E2 s5 d% ]/ P! H9 z) j
经验值,每次十页比较稳定。
+ d* e6 T1 l: v7 d0 ]现在我这里API还不能用,等恢复了,全自动了。# {2 N8 S" y" X( J
====
- U) H8 h: L: o' H2 x* p第二次疯掉了!! c7 x' [$ F9 j4 \
我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
) a' i6 U4 Y, |# f+ ?8 C, j! s====# a2 R3 X$ f1 [2 v: H
现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。* r' `, _8 m% J' ?, \& C, x4 q
但是任务多了后,每次翻译的页面数是减少的。
' N2 N8 ~% i' c& q" I# h好吧,我五体投地,继续探索。! W2 t8 }% h! |: X
====- D/ j4 R! a4 M4 r5 u0 z# I" [/ f
为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。
8 M+ `1 G& j$ j/ p/ J- s& G====4 f) n5 m* R+ `( @9 }4 _1 Q6 h
好吧,有些东西是不给翻译的,哈哈。
& O$ h: s8 ~# Z+ j/ c) f7 J8 y
$ I' }4 {* C2 M9 I$ PSorry, that's beyond my current scope. Let’s talk about something else.$ {( l% x1 d! W
====) t: ]* {! L6 K, Z; L
然后我的英文命令也让deepseek 帮我修改,呵呵。( n5 V, e3 C4 W" b8 R! X6 N
====
) u! ~1 @  P7 R7 m8 o0 B: c& b# v) h( U日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。
& W6 o* M5 S' W; g( T====
; @5 n4 C9 t$ @* K, Y. H6 A' U时间段的话,北京时间的下午和晚上用比较好。
- D# F/ m( x, v- Q后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。: |8 d& ]( ?, M0 ~$ s% q! ^9 r
====
7 f% k0 j9 s( n1 z% k用千问吧,非常稳定,非常强大。
. P0 Z+ Z% H# h8 Yhttps://chat.qwenlm.ai/) M$ ?8 D0 c4 a! P8 U* y
====/ r" H9 h( `+ P% E1 j1 K/ {; m, V
Deepseek,API 看上去可用了,但是不给充钱。: u1 D1 W! ?; T- H- E. a, o' W

& G7 d( I/ ~: ^! M1 ]4 Z3 R
" o4 k6 q  I' y, q% `
' d1 s$ D* q1 r4 {4 }, I# `! o% l
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53
5 W# _( X: h, Y2 x6 u% [这功能很赞呀

5 o8 t0 S! C+ S% K4 k( d* S1 X简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:131 x. r% {5 a1 @: [6 r" e
有没有上传整本书试试
+ F7 \8 W! d, c
目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑 9 o3 c8 S1 `+ F1 z  B, W/ ^5 `$ |7 g

0 A% j9 ]( y6 K- H6 Q4 ]- B以后让deepseek 读出土的竹简
) R2 L- T1 V: T" s+ a/ U  `
* M4 g+ b; H) N7 g' _还有把古文翻译成现代白话/ g3 c0 l& o# g$ ?% B# H& Q0 q

" L: b: n' l6 N; Z8 T以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?, v. U3 [, u/ N
) j  o2 E# Y- E7 T/ V
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23
8 Q+ P& C( x6 G请教是如何实现的?
2 W! `. j1 t( q3 ~! X
* ]! r& Z7 g% @/ D1 s我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
0 T  o& `3 Z: J0 o5 B' N6 D

5 {% A. H: O+ N1 p( K) B4 N我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
( w4 M, `( m5 ]; }% l1 J文字之类的没问题。估计deepseek现在暂时只保证主要功能。2 ]4 \) Z4 B/ H$ f4 J1 o8 W
美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。, U1 t; Q# ]% s# x, M

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:233 N- Q& e/ i4 k4 X6 ]" w
请教是如何实现的?5 _1 E5 m' p$ K$ x9 K
) X9 z3 U6 p( O8 }. z0 K5 p5 g
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

9 r8 m5 j) g! b2 Q4 _- Shttps://chat.qwenlm.ai/
% A  U# Q! V& d' v试一下千问,估计美国人没有攻击他,所以资源敞开用。7 ^, [) y1 J0 B. b! F( \' I
很稳定,质量不错,好像最多一次处理15页。0 P- k. Y7 @/ ~0 w/ f/ o  k
我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。
) j- C% j7 [5 F3 f7 }+ R处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。; M6 W0 V  h! p$ k" P% U2 A
这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
& q3 |. E- `- `; Z- j( l3 {0 d, V" W* F( ^9 n3 {
https://github.com/oomol-lab/pdf-craft% b7 c" \$ A6 V  W2 T
+ K3 r$ b# \3 K2 H, ^+ N- l. X
1. 这个工具要求装 python3.10* P! Z* O5 k% p! t* L# P
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0
$ i, Y5 a1 ~  _0 F5 g/ m3. pip install pdf-craft
5 M& X; u+ O) b9 x" [) I4. 把下面的内容写到一个文件里,例如 a.py! l, r4 P4 C- _7 Y; R
7 ?$ c! T- X6 T- Y( \  v3 Q. r$ @
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    ' M% E6 F( @" {8 _) z
  2. : t! C5 C/ Q# @5 H
  3. extractor = PDFPageExtractor(! u4 @& z) z. U( \) R8 S% Q1 Y
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
    7 Z: y( d& G6 W- _
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed7 |/ u' |3 U5 l6 @( k1 l
  6. )! R$ {# o7 L8 D
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:, A& S' y) L9 g, u7 r% z
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):
    ) S/ `8 _  J! H' k# ]7 l7 m
  9.     md.write(block)
复制代码

  {! [6 e8 Z# ^9 E/ k
& W: p* r# C( w6 l要修改的内容:0 t  A5 k/ Z: _! B% k2 k( \( j
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型0 i/ W2 X. Q- }. k
4.2 markdown_path:输出的 markdown 路径文件名8 g, q* |  I. y  |* h
4.3 /path/to/pdf/file: 输入的源PDF路径文件名0 N  A: \2 u) _5 c' |. X

# d4 T7 w) ]5 q% Q0 G2 @) E+ w! s5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑
: Y# [/ T/ g# ?9 ]; x1 M: ^. S5 U
4 t' I; B! f2 J6 z5 b! ^% p& h目前为止PDF转纯文字的最佳办法。
' a5 ]" A( `) U5 S6 q; x先写个小程序,把PDF按章节切成小的PDF。
2 ]2 Q# [7 n" x" r然后,把PDF一个个传到deepseek,让她抓取,除错,输出。
4 `- y( b  O" P: {& D效果非常好。/ m$ m3 ^5 m) C. A4 e8 j# v- v
3 u& f5 r% M* N0 [( a4 ?
deepseek,qwen,chatgpt 三个,deepseek是最好的。
& ?6 E7 B" e  x" `: ]" d5 p* X- J* @% C0 d& U! w
deepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。
; \1 u9 T$ ^( Y) I* f$ _* N而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
1 K$ z. d/ x" q我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。
% O& N: v" B, s9 h' w+ I/ J* H8 ]5 R6 ?+ _# y7 l; w6 ?$ S
API到目前为止,差强人意,不如网页版本修得干净。5 h) L4 p, }$ v
7 C$ x0 g6 n& l" }5 m, z
deepseek可以同时开四个。
# s, i# F( e' l0 s
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑 % p# Z& z% Z, K3 t

; v4 ?2 g& N& @# X让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26) g* K( l# g7 ]
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...
4 l- Z+ r8 C. ]5 j7 @% \$ H1 v
细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33/ k0 _7 |! C* b) _
细说一下,听上去很不错,多谢。
1 g; q( h& [6 {( s# l, H
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑   x, z6 c+ t. j2 a6 O$ S% w% X8 u

0 p7 d3 E% X1 w* z已经搞定.! h# R; \, y& ^0 @* H
- k8 i! f( `" g, l* [
首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。
$ l$ Y8 O6 n/ }8 J) Q7 U8 v1 M. X% n9 T  v# u! o
1, python + pypdf 按章节拆分小的PDF0 K5 E+ s, \- R  |4 m
1 L1 S6 x' Z9 C1 D8 @6 V6 G9 y
2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile5 _" y( \8 d  K2 }  Y7 p* S

5 `9 W4 Q7 I+ p1 x& m: `得到text file
0 {1 n$ |1 h, R0 D  F6 Z7 O) y; \' n; P+ C: G5 U
3, python 读取整个outputfile,丢给deepseek 矫正。
6 n% d! l) K7 {. m# {' u7 O6 P6 ?3 v9 B3 V! ^: P! J
模型是 deepseek-chat
0 g4 a7 u& ~- Z& p$ N7 U% L8 P  d. q; j6 z3 ?/ Z
max_tokens 最大是 8192,别的不用改。4 U8 }0 E, R4 v# ]- a# x8 X

* L2 h1 w" Y  g- ~, ^9 U- f& A参考:0 A, c7 g) p" `" {3 ^
https://api-docs.deepseek.com/api/create-chat-completion
) F+ x/ d, k: |
, m0 x$ d  f9 U$ |" n4,费用:
0 K3 A3 e8 G. _  Z" g6 R2 X1 m5 ]. D& b% f- d3 @% K5 ~
实测:, H, g2 c9 g+ |- A2 R! f, G

/ Y- a0 V& |- a; h! T. v# y- p8 x6 a  l296K 字母,用了 9 美分。& D3 C, p' X; o7 I% i
; A- {7 Z+ K$ w. F. u! ?" L: O1 Z4 e
英文字母 到 token 用量大约 1/3
6 P4 }3 W$ B4 e5 x3 Q/ L* I% H+ G$ G0 \+ ^# d
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899
- C7 @8 O2 a* v: O4 C$ q* B
1 }& W. t6 ]  E. e5 }9 `2 ?32899 个字母花费 11782 tokens,包含输入输出的 tokens
: {8 G0 \7 Z! o0 ~* t7 a; l2 F; P8 p4 _( b' X) W( r+ ^9 x: `0 ]
价钱,非常非常便宜了。. M6 B! I4 }/ g0 j
" E9 X/ C3 y5 S2 }( c
参考如下可以计算,懒得算了。# g% \# g: D( c2 K' p) k- E# q2 w0 {
/ ~6 B  N3 m' K% t. }" y2 a
https://api-docs.deepseek.com/quick_start/pricing
' s9 [1 W9 ?# |: B+ N" R2 ?6 ?+ U" }& D/ }4 f+ }9 U
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14" r2 h# X" l  x6 W2 e: c' \
1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55
8 I# @& u+ S/ {% l$ s0 l& f3 G1M TOKENS OUTPUT(5)                                              $1.10                $2.19$ B+ K' e# ^) ^% [

+ w9 m: C5 p" k+ H' {4 Z2 p5, Balance5 @4 w5 I* O$ }+ l6 e' `" J' G& p
  t' c4 S0 r3 O# E! R" |! L
可以在程序里调用,知道每次运行结束后,balance还剩多少。% s( o0 Y9 j: w" N5 }
参考:
5 J& a& n4 ~0 x( W; xhttps://api-docs.deepseek.com/api/get-user-balance& q8 O' @: G8 n1 T+ R
! r% |  z3 T8 ]3 O0 a
6, Models" b2 w# H/ \5 I& r4 b1 E+ X
1 E5 H+ C# E5 q) m
目前就两个
/ L( A$ o* n8 n+ l5 H  a# deepseek-chat, ~9 `& O* R( o3 H! ]
# deepseek-reasoner$ x5 E. R* R% R9 x9 t! L' V$ F
* y3 w+ R( s7 W0 n
参考:
3 S6 I+ I& o( H) Y6 L) |https://api-docs.deepseek.com/api/list-models
) q( |+ R( S5 _) [: n* D% B& g# T8 s$ Q  M6 |1 }* U

! t8 [% Y1 n$ L4 ~2 X7 |9 B7, 问题3 n0 l1 V- I8 A
! }& l1 a7 z- t8 B
deepseek 会将前后两段合成一段。
* q5 S3 E. `% {* l* z+ @特别是那种大量的对话的段落,deepseek会给你合成一大段。
( t$ v- e( }* E- X8 d, L2 {/ H6 u2 L& o5 z1 x
8, 钱说了算。
' y8 f6 e5 z7 R8 J. h/ i: I0 z% q: i- V4 ]  h0 |6 l
deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。; H# Y4 g4 }4 n  X/ z+ H
但是API就不会出现这种情况,毕竟我们给钱了。
  l" C! `; k6 e" W  bchatgpt也是这样的。
, ]1 w! j. W& Q: W; \( L' x) D( Y
  q6 n! v4 A0 Q' ]8 k  l0 g
; V/ j) v( X; `) K6 u




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