爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑 $ y- N! X) ]: d
2 {& T# h( E1 F  I8 P/ R
把PDF上传,然后让他抓取文字,并修改可能的错误。4 a/ J8 Z# y: r' x$ i0 D$ P
然后deepseek完美的完成了任务。- j2 [/ j8 U1 m
段落清楚,列清楚,页眉页脚全部去掉。
* R1 Q- I& i) x. y. v5 v2 _) ~我要疯掉了!$ N' d1 i( }" k3 D  u
赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!
2 Y! T/ \  Q8 n; ^% }8 o====
2 P( o( P& N7 y  J中文也很完美。
* t& u; m4 P( ?; z+ |! _& d经验值,每次十页比较稳定。
6 C7 M# s0 m& F现在我这里API还不能用,等恢复了,全自动了。
7 K2 m) p4 E) ?, B====
' o0 Y: W2 n- L9 @" h第二次疯掉了!
( X9 K- N4 X; j: e6 u7 }我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
) d% T: o, N) z4 f====
8 v2 z1 c# K3 Y3 f' x* ]1 s- Z现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。* ]* t/ Z! o  ]/ I8 u! H2 V
但是任务多了后,每次翻译的页面数是减少的。
( c5 F7 }5 D% l: n5 J" E好吧,我五体投地,继续探索。1 M) Q. H# ^! \6 a4 R9 n$ v
====  V2 ]2 [8 G2 [) k% F% b1 |! N
为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。
/ p/ K* q) n- ^. G9 y3 p- `; R====  {: B( _. D1 x: s9 z% Y
好吧,有些东西是不给翻译的,哈哈。. j& v5 t9 y2 Y8 P/ {

1 n8 N# D. \& J' |# oSorry, that's beyond my current scope. Let’s talk about something else.
' x. @3 u& z3 d====8 p7 \. c# V" n. v6 B
然后我的英文命令也让deepseek 帮我修改,呵呵。8 |6 W) o0 ]# X: S, F) E' J8 ~; @
====% E, Z7 H& B$ ^* o2 p+ F
日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。
- R" C0 I1 F; U8 h====
5 q: ^$ z% S8 ^时间段的话,北京时间的下午和晚上用比较好。1 h+ ~2 W4 D- o+ v. a3 H
后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。0 A% O% c) n8 q
====
! B( B6 A& z" s# s2 H. A5 F( |用千问吧,非常稳定,非常强大。
$ [2 X4 A9 D  {: d& m$ ghttps://chat.qwenlm.ai/5 e/ h) ?- A  F0 W- d9 T( W' B& l1 [
====5 `9 B8 P3 {# n
Deepseek,API 看上去可用了,但是不给充钱。) C6 ]6 ^  X; w6 V/ r- A
0 g$ y6 Y1 F$ ~8 O2 Y& S/ w
& L& F: J8 J: d7 \! Z

' P" G4 {0 r, w) K5 E
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53' b2 c4 K6 m4 R
这功能很赞呀

! L" e7 D" A0 d2 \* E8 l0 a简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13
3 Z1 q3 b5 g6 U& }5 n5 k4 E有没有上传整本书试试

4 m/ D" j* z* w4 D' {( w目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑 0 v" k6 Q- H+ F  l

$ a2 q' j# X6 {9 {" W以后让deepseek 读出土的竹简: d! K+ c& ^4 e% [& d/ A

, Z! @0 i# T& [6 ]+ b) M还有把古文翻译成现代白话% O" a$ ~5 y# J
4 I9 {& V. J6 i/ d' o* I5 Z4 B$ Z
以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?$ n5 K& _8 k# I; B- C

9 J3 o  ]- X& {& j我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23+ F9 N: C2 E/ l; R
请教是如何实现的?
. F6 B3 C" z+ W% q) }3 q
! ]0 V* K, L9 [7 c' S& X9 `我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
- O% F' `! q2 ]. H

0 F1 S# |9 n0 x: X我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
, M1 G/ }( j& X文字之类的没问题。估计deepseek现在暂时只保证主要功能。0 {: l4 a" [# Q6 ?
美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。& A# W. W: H7 f

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23- U8 {  t7 q: a2 f, X/ A
请教是如何实现的?' |' }. L9 d* Y* ]3 o
! T$ q; f9 T$ D( S0 q* {
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

: x1 u* B  o% i! H" g, Yhttps://chat.qwenlm.ai/
+ [! [) C0 l0 p/ e( d试一下千问,估计美国人没有攻击他,所以资源敞开用。
0 H% |0 J  L+ I0 e3 d2 z. l  ]很稳定,质量不错,好像最多一次处理15页。
% S  g1 J2 u8 f" P/ H6 C. l我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。
4 l( e3 c5 m9 @- |8 N2 f+ v处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。1 x( A  X6 ~4 F
这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
4 _! u5 l& j* _+ F% H# x
* ^& y6 L) y, q. a( Xhttps://github.com/oomol-lab/pdf-craft# T$ N: [& \1 ~: h! w+ u# K

2 }' m8 ]3 F" a$ U5 j1. 这个工具要求装 python3.10
6 V# n8 ]% Q8 c- O) X2 V+ `2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.09 T) ]( t+ s0 X) M! e0 ^$ K5 v4 @
3. pip install pdf-craft
' o- h9 v+ }2 |. i4. 把下面的内容写到一个文件里,例如 a.py* t& Q& q: x) e& P( g, Y

$ a% K( J$ B5 m8 V6 N
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter% E8 {2 q% q( j' G: X; S; S

  2. , |7 F( N1 u. z0 N! o
  3. extractor = PDFPageExtractor(* }' y9 z$ ~, z5 Q  S( X
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
    7 e3 a1 B" e1 z  Q
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed
    4 t& O& \$ d5 Q0 X1 z  Q$ Z; z
  6. )
    ; ?0 z" ^; G- E3 r, D
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:2 k% {, d! D, R- m3 [' K
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):
    0 _/ i1 p( ^. ]' n
  9.     md.write(block)
复制代码
' b$ b  w7 ]; t& a& ^& I  j. Y
7 h9 |7 x. b6 J
要修改的内容:% x; e1 p7 Q: i; ^( ]8 z# G; r
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型
; g8 T" F& x) k- z, I+ y4 \4.2 markdown_path:输出的 markdown 路径文件名; `. k  M7 c- r7 u0 u
4.3 /path/to/pdf/file: 输入的源PDF路径文件名5 N/ n- Y. ~6 ]9 r, M( N. D
$ Z, S* l: V+ p! o: j
5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑
% n) L0 z, V1 t: e6 D: U  m# l3 z' c& W
目前为止PDF转纯文字的最佳办法。3 \$ r# p& I, i% a
先写个小程序,把PDF按章节切成小的PDF。5 O# g% A) R, \7 J7 J" v
然后,把PDF一个个传到deepseek,让她抓取,除错,输出。1 [5 g3 l) s6 U& L, ^
效果非常好。
5 y$ {% `! Y' M, \. ?) y' Q& E& X; N+ M9 }  _1 |
deepseek,qwen,chatgpt 三个,deepseek是最好的。
4 L. f! c  Q3 |: M) e( ^4 m" U* B! ^- V/ I
deepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。
. G7 r6 P% O" @/ g# L而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
: g4 I7 k7 v1 F4 u我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。; }8 n: f2 ^4 T- v5 @) X7 V
% ]% G* ]  X5 K+ F: z
API到目前为止,差强人意,不如网页版本修得干净。* u# ^8 p% c! [. B+ b

3 q# O' v$ t3 Ddeepseek可以同时开四个。
3 S- F5 W' m: c2 r7 J
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
; n" `4 H4 |. ^
) e( j+ P/ z3 Z8 ], G+ K让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26
/ l' R% v; K$ J% S( R让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...
  Z( H/ b1 R! e# n; q3 @( S
细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33, m/ j. ^7 h& e, u" ?
细说一下,听上去很不错,多谢。
, S2 l8 {& o7 w3 ^4 l
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑 / s& g& G5 v; }- m. U) X

! E  H1 a' `- V5 B已经搞定.
, s' W( e% T- z. t  @" W/ u% A: {/ J$ i
首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。
+ c& `: G/ Q: e/ ?- E! `
/ o7 N1 p! R( c. ]1, python + pypdf 按章节拆分小的PDF2 A  s' ~& V) G7 ?+ s% u, J8 Y+ e
6 B: W8 @0 r+ [$ d" l& g
2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile$ {& Y+ e/ o: n1 Z# h# m" w

! a* g* x" w$ p- f得到text file
) L' G; D, Q9 B6 T: \" ]. S; c
8 Q) }! R1 F, k0 |& I5 t3, python 读取整个outputfile,丢给deepseek 矫正。
5 y: z4 G9 k5 {% I) h" r  Y- c) R- I' i
模型是 deepseek-chat+ q: Q! ~$ T# b" F/ a) a

7 U" W7 k5 j. i2 xmax_tokens 最大是 8192,别的不用改。% j2 S5 ]. n7 c1 s9 p6 s# ?, r6 w9 P
: W; |5 y5 e3 [
参考:1 \% }' `6 r9 A( X. h' H% q& q
https://api-docs.deepseek.com/api/create-chat-completion$ d$ C% g' z0 [) s
' G9 j( V' }3 n$ S4 s) n/ `
4,费用:% m# C$ w" M0 \
4 X9 ^9 d" B  s8 A2 n0 @
实测:' _# D4 G( v$ I+ t0 f

, `" h9 o! s/ _6 L( j296K 字母,用了 9 美分。
+ @$ Q, a8 A& ~- q$ }
6 C. R( e9 H+ |- w3 p$ V英文字母 到 token 用量大约 1/3
+ ~. x# s& d9 T3 O; l7 o8 `. B
" ?* }3 m& O: P1 j( F: u- Gtokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899
# _8 i* i, ?) o: P' Q# |: ~
) U) R/ l0 u* b1 {1 h32899 个字母花费 11782 tokens,包含输入输出的 tokens
; P2 e) T- h2 N2 |
8 ^! l. |* D, H价钱,非常非常便宜了。
; R& H1 A! U* R8 |3 Y
0 J! j! T1 P6 Q. T4 b参考如下可以计算,懒得算了。
  l! V1 ?9 V% d2 ?
7 j7 [( e& f0 {' nhttps://api-docs.deepseek.com/quick_start/pricing* [# S$ J  }6 P' u- |3 i

2 j$ ~( U/ w0 p1 z" h1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14
; A5 J: E2 ~( I& |8 V1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.556 }! X$ g' g9 b, q. ^( H
1M TOKENS OUTPUT(5)                                              $1.10                $2.19. `2 r4 ^* h" E8 ^& O; ?
, \) c# k9 A7 q7 f( k, g
5, Balance
1 g7 X) i3 G% [
: ]# ?  e$ L$ L* \! P; V可以在程序里调用,知道每次运行结束后,balance还剩多少。
! Y5 c3 c4 A8 K  P6 E% U# j0 M参考:
; l+ A+ m, F* M$ Hhttps://api-docs.deepseek.com/api/get-user-balance
: D4 [, N' m( \- \  N7 J: a, d3 D- \9 B2 c" M' w9 x6 i5 W6 h& Z; r
6, Models
* Y: [6 D# b6 W0 C4 K) \, k$ p9 c: L4 C' z
目前就两个$ c% w, b; z) f* r
# deepseek-chat
4 U+ n( p: t9 B* s/ J! y# deepseek-reasoner
2 x: ^2 a. N% Z' g7 Y4 ^* A; x/ p) [; w
参考:
$ ]) D: ]0 k0 l& ~: A, }  U# t5 ghttps://api-docs.deepseek.com/api/list-models
8 \: v+ `. _) s; D0 `8 w/ Z. W! ?$ m6 _2 I! c6 c
+ `. V' u0 O7 G  t
7, 问题
9 w! T. m) L. e% Z2 Q7 ?9 a' o, U, @" D
deepseek 会将前后两段合成一段。  x) |$ @& Q* I$ c2 u
特别是那种大量的对话的段落,deepseek会给你合成一大段。  V2 x- x: x% V+ k+ B  |/ _
6 t, W; ^$ P& k3 w) K$ M; H
8, 钱说了算。
, H1 e* @% R: V# L: d. b$ J; v# s3 o) l2 F
deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。5 i8 t0 p4 |( k6 `( h, z! M
但是API就不会出现这种情况,毕竟我们给钱了。
. E8 j3 s) W2 g/ `& `! z- ~4 Rchatgpt也是这样的。( E+ E6 A, c6 J; K( C0 Y+ O( v; v8 g

5 d; l( ]* d- N3 ^
+ }) ]" L) s  H  L- b




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