爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑
/ {; F( T7 b4 C% ?. Y" [
* d# z$ s/ b3 n1 u把PDF上传,然后让他抓取文字,并修改可能的错误。
; l  C+ n" e9 V7 ], E然后deepseek完美的完成了任务。1 H' Y; P9 O* ]1 b; G! N0 Q' P2 T
段落清楚,列清楚,页眉页脚全部去掉。( Q9 k7 e. ]& [7 ]) H
我要疯掉了!
1 K' T  S; t6 o3 d赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!( y# ^* O7 |$ k& C4 Z
====" G1 }) b8 k4 H2 ^
中文也很完美。* M3 d+ m! N9 |" E
经验值,每次十页比较稳定。+ j/ I; g/ C* v
现在我这里API还不能用,等恢复了,全自动了。
8 p& ~4 F* W8 f====
% g3 \4 \4 h: ~! y, L) h第二次疯掉了!
2 @: T6 g# z! ~/ R% `: U/ j我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。5 J  j0 e/ A) @" I- Y4 O2 Z+ e
====$ C$ c, K- B6 K  e& B! m
现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。' {* h; k5 r- V" t1 B1 `9 k6 A
但是任务多了后,每次翻译的页面数是减少的。
, e- g! ]7 n- j& |; {6 k好吧,我五体投地,继续探索。
' f, ^% U9 T6 x+ @: D/ s3 [9 c" ]====3 Z8 q( p) c% I" S4 b9 W0 _1 ?
为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。
7 L4 ^0 H2 ]- ?6 f====
1 t2 z, l/ p4 g2 s7 z/ r好吧,有些东西是不给翻译的,哈哈。
+ T5 B/ O9 z9 C' P0 e
$ {" ?/ I% Q0 Y- B  `$ B0 zSorry, that's beyond my current scope. Let’s talk about something else.' @% w$ }! w' P+ z" T9 L: z( g
====
7 i' @+ T, w# R; Y' }( `. s然后我的英文命令也让deepseek 帮我修改,呵呵。( l3 w8 V& s; t
====
$ U; s8 S- k/ p% V& F& ?日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。! J' D$ q: o( l
====
5 d% l& _! @" |/ R# V0 @时间段的话,北京时间的下午和晚上用比较好。
( x# i+ t( J+ |2 A: G* ^后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。) Z3 b, L: ^- d* N9 X2 M  r$ @8 `
====
, a7 _+ w2 o. O- A$ {5 u用千问吧,非常稳定,非常强大。7 \# l/ U, H2 T
https://chat.qwenlm.ai/
5 f- D# ], x) Z" \: f====" W9 f6 i  K8 i1 i  t+ T
Deepseek,API 看上去可用了,但是不给充钱。" F- H3 t5 @: U

% p3 N( v) x$ S0 o* S9 V& b2 |8 \! l$ E# r7 c- `

! O5 A) `# z5 M2 K0 g9 {4 x
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:531 j4 o, r5 g; k* T/ }5 @! J8 }
这功能很赞呀

. i6 c" v) G: e1 ?简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13* U" g1 u2 g, f1 M. _/ G9 K- c
有没有上传整本书试试

$ J7 k3 c, U5 V$ L% {目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑
+ j- i: g/ t5 s5 a7 ]- D) Y5 Z$ z, w5 Z  Y: G
以后让deepseek 读出土的竹简( g/ s  Y9 l1 _/ E- A

/ ?$ Y: x/ T' z8 y还有把古文翻译成现代白话
4 H/ d& `! h+ u' |  g' D' h
4 e# \- @) V0 f+ w以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?0 K# d1 q  s  |1 @" B
: ^% R! u: D' I/ \5 n
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23
& T! r; o2 y8 w9 J请教是如何实现的?
6 p6 D3 @, |" T/ R
) S, E; }* g' a( L+ z$ G( U我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
6 S/ O- L/ f2 O9 \

* @% s& B& y1 \) B7 p0 |! j我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。* k7 D! o2 z9 t$ u9 G
文字之类的没问题。估计deepseek现在暂时只保证主要功能。
# f& F" R, I+ ]+ ^. X美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。
, U9 V! y* x9 T2 j% f
作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23( K5 a% j8 _% p2 G6 s
请教是如何实现的?
, S) Q; k% z9 W/ W
! x3 V$ o6 F: C3 i我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

4 m7 R& [' k  d( |8 Q( q3 J5 c, lhttps://chat.qwenlm.ai/
7 {% d# h: u2 J. A) Q试一下千问,估计美国人没有攻击他,所以资源敞开用。+ K+ V8 G4 O' g& O/ P; c
很稳定,质量不错,好像最多一次处理15页。
3 \3 e. {3 y, O' s6 d, G; i7 ~2 c, J7 [我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。
; {$ r1 D  `! [# }8 X% n( Q处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。$ m% {2 S4 h( ~$ T, v" D" J6 O4 c  n
这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
- A. d0 m( _# r$ Z9 M, C' s& P: N7 i" }  i% I/ C# L, r
https://github.com/oomol-lab/pdf-craft
8 r# Q; `3 _0 M: G  ~
* {% T# w. O8 R& r! D0 Q# @- [1. 这个工具要求装 python3.109 t. \% ?$ V, N- N9 V2 W. ]& w7 K
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0
" E- Q3 U3 L* [5 d. ^. m3. pip install pdf-craft' i4 Y+ P2 l4 F( B2 e5 F9 o, s
4. 把下面的内容写到一个文件里,例如 a.py9 u/ D3 j/ V; v" ^1 u

, r: W+ K2 o( p9 x0 }1 R& c/ d' c
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter$ \, w3 g* @! X7 l
  2. " A5 |0 p% t: g: ~7 q  b- y6 t1 y
  3. extractor = PDFPageExtractor(
    : R4 J9 o. m; {2 {* L* X* N: f# U
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
    - ?& J' U* Z5 L4 p; I; k
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed
    / F" k! F& A- M8 o0 l
  6. )& N# ?  h* K  X0 u* l
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    & L5 o' a. F  O: W
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):- C: t" k. a' j9 j. h
  9.     md.write(block)
复制代码

. `" R5 Z$ Y) @0 E3 I
, P/ j% s7 s! E! \; O9 W要修改的内容:/ h" J( B9 K- u1 F/ V
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型" T$ t  p- \6 r5 [' W3 ?8 N5 H5 Y. c
4.2 markdown_path:输出的 markdown 路径文件名; t0 S8 b7 L! O) F* h2 R
4.3 /path/to/pdf/file: 输入的源PDF路径文件名
& c6 n, R7 b& k  q- f% x7 d6 E+ d1 R( y( _* K
5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑
3 j/ w- k7 x. L, n. M3 t1 d/ z$ {
' B7 X1 b: Z5 l7 x# e) U* |! f目前为止PDF转纯文字的最佳办法。, e% D/ Y8 _7 ~; G
先写个小程序,把PDF按章节切成小的PDF。
0 e: D1 P, }0 m- R, s" _然后,把PDF一个个传到deepseek,让她抓取,除错,输出。
% W5 j% a$ ^  |. p' {; `) n- J效果非常好。
5 d% }: ]* j* c1 u9 w4 J: _( E) f0 ^, s3 l& _, s
deepseek,qwen,chatgpt 三个,deepseek是最好的。
2 {8 }  J6 p. p! f5 \: |' b: ?
" s- I8 k0 k8 Y, R& Z9 Ddeepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。* U- ^' [7 O; F
而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
5 [2 i* }! y3 B8 L" i$ y3 U+ G  }我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。. Z; U3 U& [8 P5 g2 d

2 {' e$ T) ]7 A3 @API到目前为止,差强人意,不如网页版本修得干净。% A8 ?# t# @! [; f3 a: n! S9 i
" L2 t. _3 u( g+ Q: X3 p
deepseek可以同时开四个。
/ S( d9 U. [+ i. ~. s: ]
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑 # N- u$ ]! Z% N" i; y
8 h% Z5 _  k5 L8 z- Y
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26: W3 f0 O/ d+ H- W# {- x3 w6 T8 l- a
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...

8 N, R  U0 \* @, d: l. b细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33( c0 E' H+ T5 }7 o4 C; d
细说一下,听上去很不错,多谢。
3 K8 C; j( `% Y1 b9 o
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑 9 W, I7 ^8 N1 M! Z

, z2 _6 ?; @4 ~( J2 q! a已经搞定.
" F: n7 b: @. [, p- P/ n- v  h  {$ ^
首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。6 R& c( G  o6 h
8 @, V% ?( G% P; x& W# r' {
1, python + pypdf 按章节拆分小的PDF
; ?; S% g/ V4 a) H& C) z. }3 M
+ s9 m3 O  ?2 c  w/ i2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile5 k# o) O2 D9 ^+ A/ ^) x
, n" l/ ?; k% u, @
得到text file
) w4 k- C" a" {. ~( N$ o( \
/ Z' D2 U! d( p0 X3, python 读取整个outputfile,丢给deepseek 矫正。
$ S+ z$ m3 V* W+ i# c- [
9 \" K% A" |8 k: O模型是 deepseek-chat
% S6 Z% d5 P/ y2 O# v  Z
, }' _1 a; j/ |2 P% @5 nmax_tokens 最大是 8192,别的不用改。3 A( X. |+ |0 Q

& e& K. p# R& y1 L# Z7 @7 f% x参考:1 P" J. ?+ S5 V5 J- w
https://api-docs.deepseek.com/api/create-chat-completion
, @0 V9 V% W  R' \: G- g- v
' O7 i! b3 f8 v  p. z8 O4,费用:
" V. i1 h& J1 X' v- C$ [8 h: @( ^5 a, n; t& V% k4 u& O
实测:
; }+ p, J+ Y& p8 e2 J
( ?0 i4 K  y4 U# L6 v$ K- V296K 字母,用了 9 美分。- L, z/ Z- _; d% z6 Q9 q

& ^1 S2 h2 e- G  r4 ~英文字母 到 token 用量大约 1/3
$ E; |$ Y' _( O8 N1 _# M) R$ i+ d) K% _( F% H0 N
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899% N. [. z& a( L
4 |  |1 |9 t- M' x
32899 个字母花费 11782 tokens,包含输入输出的 tokens4 L8 C* V7 U$ ~+ Q, a  a7 e

3 d% ?$ e3 y% K2 V价钱,非常非常便宜了。
# _3 Z% q1 @- d$ A2 i# n1 P3 K: q0 `. Y# X( A% i' }% W4 [4 b4 e
参考如下可以计算,懒得算了。: g7 s9 e3 Q( q6 Q/ e' Q; @
4 ~" |3 h$ X+ D
https://api-docs.deepseek.com/quick_start/pricing) w: l3 N! T! g, B3 E8 \
! {. o; M* u- N( U) r
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14) `( o. g3 y  o6 e0 j
1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55
% `& k. A0 @% ]  u9 A' j# m4 N$ {! F% y1M TOKENS OUTPUT(5)                                              $1.10                $2.19
% @9 T2 d4 n5 W' u6 j, w1 c# H
! f( y' S' q: F5, Balance1 G# Z7 {; B% l3 Q- V7 C
# z% K0 ?- d- c2 m
可以在程序里调用,知道每次运行结束后,balance还剩多少。6 u+ A, u! G. C6 G$ m( C1 n
参考:
4 z0 {' y8 e, P! Q) bhttps://api-docs.deepseek.com/api/get-user-balance, O4 U# Q* i, U; E4 ]: O) g# H

7 z2 D2 d/ L4 ]5 X7 _+ C6, Models  f; N5 ^% K' g+ Y5 U) }& z

. q  R  w0 Y8 w! q* v, v' n目前就两个
+ }6 ^: O, _, L! V6 z$ p4 t# deepseek-chat- F& p( {) r, i& k1 H) }
# deepseek-reasoner  N% O, K% _4 ~! G& C8 c/ O9 P% o1 C

# H# D7 Z( c( v6 s参考:7 \2 {# U- q/ Q; v. |* p
https://api-docs.deepseek.com/api/list-models( G* d" \/ G4 y0 r3 k

3 T: J* T" }9 j2 H! C  w) F3 N! ?" z, ~/ T3 q
7, 问题
/ V+ `" `  @3 `* w" Q" m! y+ Y; O( C7 F
deepseek 会将前后两段合成一段。
! B( c4 R2 y) h7 i& j& a4 S. _特别是那种大量的对话的段落,deepseek会给你合成一大段。
6 f" h( k4 o, E6 R
1 _9 N6 ]+ B. `% z; u9 F8, 钱说了算。
, |( N$ D# @5 v8 e8 n: E5 N/ e6 g. F- ]) H
deepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。
2 I/ D3 o* c6 e9 ^. ^但是API就不会出现这种情况,毕竟我们给钱了。
$ Y- R% A5 j9 S- b1 A8 [( o+ Zchatgpt也是这样的。
4 y9 q' L4 N* n' v
/ I% G- d0 o& p2 I9 g5 S' p( e8 Y* a( k





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