爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑
, P+ P; ^8 H( G5 W" N' l& {2 j2 @, U* n6 e6 j0 e+ M
把PDF上传,然后让他抓取文字,并修改可能的错误。
& Q! H5 S" \) O) J! w1 o  w, L然后deepseek完美的完成了任务。
" Z. |1 `0 j$ h& ?* w( a段落清楚,列清楚,页眉页脚全部去掉。
' c6 f; A. q3 C0 N我要疯掉了!0 M+ L, V: I3 y$ {6 d
赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!
0 q6 A$ Q: K5 S: H  ^" z====
( d9 O6 B  v1 L, Y中文也很完美。* e! o( R% ^# s+ \. K* e5 P
经验值,每次十页比较稳定。
5 x2 F8 G/ h! P( ?6 [+ [现在我这里API还不能用,等恢复了,全自动了。! G2 y' E. l6 G- }0 \
====
% G2 d7 n8 L0 I; g第二次疯掉了!
- @- y, B1 S+ g. S我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
- J) s8 c) f5 D( E0 y% e# r( f; [====) Y$ ?9 |  m) D7 W! C7 @
现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。. I! k. |5 h/ b0 r
但是任务多了后,每次翻译的页面数是减少的。
) i$ p( n, f$ E8 z: ?3 `, [; j好吧,我五体投地,继续探索。
( U( I) q9 x3 M. p& c- Z====3 L5 L, @6 ]) w, M, n7 o
为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。! B; p% u9 U/ }, o+ t1 p
====( Y3 d; v* N* U3 {5 H/ |! B
好吧,有些东西是不给翻译的,哈哈。
/ o4 g1 x5 e1 s7 |. Q6 W& L% ?7 P9 S. A0 U0 c8 |! t
Sorry, that's beyond my current scope. Let’s talk about something else.
& q$ I  B# G) ?0 w# H====
0 J8 @" G2 N2 N  A: L1 @然后我的英文命令也让deepseek 帮我修改,呵呵。
$ V3 i; Q5 P8 q* Y& n====
) `" J  V* n! r. T- W# b- A0 k日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。- H/ g7 c" ]' I2 V2 m4 [8 Q! C! X
====
1 {6 [8 G1 ^1 s' p0 t8 |3 s时间段的话,北京时间的下午和晚上用比较好。
. Z* f/ E7 z5 F8 j后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。, X! n' o' ]. j7 L, a/ }
====
% l0 _! {3 k/ s4 _用千问吧,非常稳定,非常强大。
* k4 K: u/ V  p5 B  ^+ lhttps://chat.qwenlm.ai/. L% H2 u+ H3 L1 {# c
====) w7 x7 A( I2 h5 p
Deepseek,API 看上去可用了,但是不给充钱。
" J: j+ b& m2 h& z* W2 I( M0 M1 o6 K8 }  [7 Y
$ X$ W! V8 z8 W; `$ p
& {3 `# l- r3 K$ Q' c0 `

作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:539 z# J' W/ x' [4 J/ J! ^, o; g' p+ [
这功能很赞呀

9 S, d, }1 T8 M6 M. {简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13
& H. l8 _: k/ B& }' o有没有上传整本书试试

; n, I) g" {) G/ k* Z目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑 / z, W: F& V- Q
% o- ]2 }( N* N+ }0 A) F  r
以后让deepseek 读出土的竹简% h9 s% C6 `7 @0 }2 j6 ?

9 w% u% B0 m- w2 L/ U还有把古文翻译成现代白话
! x5 Q5 R$ P% @4 S; Z9 V2 i/ l4 g! s
! M8 n+ q! [. Q2 d以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?/ S+ Q. O3 k7 I" |$ D

7 r, n2 ]# ]2 a* L  D我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23- V' l3 |& k3 x6 p% k
请教是如何实现的?
0 a6 P- I% o! l7 U2 \, ?& G3 u
: N* C% h/ W4 Q4 ^3 C0 B0 P我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

) _9 J. K0 o+ a' Z9 s* y5 U) u  V" M
我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
- ]& c3 F5 S% B文字之类的没问题。估计deepseek现在暂时只保证主要功能。
) {: O" R/ q0 A5 y+ k+ P/ J; c% ?美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。
! ?" o* l' w0 \( q: U" K
作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23
4 G0 P, f9 O; P, h1 k0 A' i请教是如何实现的?
9 l6 e0 }, w$ ]8 Z, `
4 S" x* y8 J! P) _; D- `; F0 R我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

6 J7 y2 m0 e7 ?" T0 Q  g3 shttps://chat.qwenlm.ai/
" D! Y, S0 G' K3 Z% ^& ~试一下千问,估计美国人没有攻击他,所以资源敞开用。
, d2 D; D- B& V; t$ [很稳定,质量不错,好像最多一次处理15页。
, ?7 C9 E9 [1 @4 I: f1 Q我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。
0 H4 M8 Q/ d+ W4 L处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。- T0 u" w5 z1 H. z5 ]7 T
这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。* {; m7 A0 h" I, e# ?
/ F% v3 U2 C5 h  d
https://github.com/oomol-lab/pdf-craft
1 n4 d3 p6 z- A7 ?, m' H$ l  _0 y1 i) Y: Q
1. 这个工具要求装 python3.10! t8 J0 A8 G) Z. x
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0
' ], z& p: z0 m; g" r$ p; C1 [3. pip install pdf-craft, S* X' S+ W, G! y
4. 把下面的内容写到一个文件里,例如 a.py
8 R0 Q! X7 J9 m* \: u4 _0 }/ T$ ^
  L: }/ |- i" _" m1 ]3 u
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    % R" @0 q2 g9 W2 y

  2. 7 `, h7 U# N: C2 P& Q$ t
  3. extractor = PDFPageExtractor(
    9 P! R1 N: V# q
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.$ _/ e7 e" I2 Y3 Z$ @% B  C( h! Q3 h
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed) B0 e4 O# k$ y6 ]% ?. h- r. y1 J
  6. )& {: @9 x  B0 H7 J. N/ @0 |( L) P
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    3 @5 E. P3 n2 n. A2 ?( w/ }
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):* b( X+ D, g& Y+ C% W+ r2 w
  9.     md.write(block)
复制代码

( F8 \% A7 b( W% b
! w* H9 s9 T3 M; r2 ]* H, h要修改的内容:" E& E9 Z" x$ C7 s' W, C0 N
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型5 r; q5 A4 m, j( C1 a
4.2 markdown_path:输出的 markdown 路径文件名
3 _  G1 m- e3 Q! H7 t5 Z. _4.3 /path/to/pdf/file: 输入的源PDF路径文件名
/ D# z4 u! o$ H: S# `$ c7 f( s# o. i4 h+ K3 W: a& K
5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑 ) _* Q1 W. }: ]; z- r0 g- ?

3 P; C& `5 E! ^3 \2 G, _% Y目前为止PDF转纯文字的最佳办法。
$ k0 i5 {% y2 a6 ?2 f; s" b2 _先写个小程序,把PDF按章节切成小的PDF。8 ]! i% d! d/ Y+ ^% k2 e% [
然后,把PDF一个个传到deepseek,让她抓取,除错,输出。
: h: z. G' b6 P2 x* I& F效果非常好。
4 }7 Z% u& h! z% D- l5 F6 o8 Z, I# X& I) q4 y1 ?" h4 p& x
deepseek,qwen,chatgpt 三个,deepseek是最好的。
% s/ f# M& ]% ^
0 `) b& H2 w+ H  Q) {3 Tdeepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。
, k& a; m3 H7 g# q而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。3 b, D: g, i! o& e0 T# j
我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。
! p. U9 a" q) C- T; M) P
; K* l$ I9 B4 d' A; E1 N: X( SAPI到目前为止,差强人意,不如网页版本修得干净。
/ v# [0 o. o( x- b3 z1 o/ v% G
: E% @  l5 P8 f9 B+ ~deepseek可以同时开四个。; N/ v$ T, G8 h1 O" L7 A& C

作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑 2 p* V( m6 T1 f5 Y  O4 @( I
9 X" p/ z  L: k! u* b2 `
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:262 ^/ N7 Y+ k! ^! ]1 ]0 P; g: x
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...

2 {6 V$ V* m* v6 n/ r/ l4 k细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33
# h' G8 u2 C4 y6 J, l; J细说一下,听上去很不错,多谢。
/ ^" z: v( _( m6 V8 W- P. V
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
3 Y! b0 j0 s- P" N4 H2 T# F$ f  G! j* _8 z3 _# M
已经搞定.* `0 H% v3 n9 t" i) a' N

: V6 a5 ]9 \' B( {1 L# `# |# |首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。7 k* H2 U! y7 d& h& e4 w0 c
! K1 o$ p5 y4 Z
1, python + pypdf 按章节拆分小的PDF
* |; U- |$ k# E" ?' n/ R) z  i! g  m8 N# E, b4 {* {  b
2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile& S) W' J4 c& P4 p
/ i6 T8 J1 `! i3 \3 ?
得到text file
, g8 Z% x" G9 P( M# c9 Z( w
7 f0 z- m) D* K  E& J6 C5 H3, python 读取整个outputfile,丢给deepseek 矫正。
$ r5 s) o" z. c8 f) \7 M
9 l, L0 k9 ?+ P5 p  @模型是 deepseek-chat
7 c5 y/ g' ]$ {$ o, x  T% i8 C; O( o. b$ u1 W
max_tokens 最大是 8192,别的不用改。& l9 e; ~; y( y
- f" X- o( m4 x* O! Q* ]" f
参考:
7 A: d$ P" G0 [4 K: m* ahttps://api-docs.deepseek.com/api/create-chat-completion
5 B; q6 n2 s' C. |( G
2 s* v& P: O' A$ ?5 R2 S4,费用:- X* y/ R. G0 A$ P
2 m/ j( g/ t! l
实测:
, C* ?; x# ?. @+ F; @+ e9 ^/ e
; M) u0 \' i0 Z9 ^2 c296K 字母,用了 9 美分。: X" Z* g$ N2 W6 g

2 W3 |; e3 X- g; ]6 C英文字母 到 token 用量大约 1/3
" W% s& R! |, a& P$ A: K1 r) g" m9 U& t4 j6 a9 q
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899
& V9 y% }/ j, v' t0 K5 I3 @  ]5 }! b9 y3 B* j# T" }' J
32899 个字母花费 11782 tokens,包含输入输出的 tokens  E5 `5 [/ Y9 r' Y$ ]

  B/ A6 Y: ?, D% w2 Y价钱,非常非常便宜了。
) d( g- s" r! Q* {# x2 ~5 `8 {
2 V, @# R3 S9 ?& s, p参考如下可以计算,懒得算了。
( ~3 F1 A4 Q/ ^1 ~( J
) c" E+ Z8 D  ]; }( F- o. m- N  ehttps://api-docs.deepseek.com/quick_start/pricing. P0 o! R3 K) q! A2 R8 ^5 ^

  T5 c5 ?1 X  n6 r5 ^1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14! B* z& e# g% R/ i  t2 R
1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55
- N" S( [1 {, i1M TOKENS OUTPUT(5)                                              $1.10                $2.19
" }) ]" _/ l5 W" q( i& Y. ]- I% @" a7 V1 @0 R( [
5, Balance
! v! J' M' j; s! W% T: S2 X6 D# w) i. }, h0 G4 P- X
可以在程序里调用,知道每次运行结束后,balance还剩多少。$ G+ c: Q+ q$ u/ l7 b
参考:
5 E+ c" b2 B4 _6 b- s/ n" ghttps://api-docs.deepseek.com/api/get-user-balance
- E# u% |7 m" Q1 p$ @; Z0 {# Z. z% C) c& p# `% p' L
6, Models% _5 _& r4 S7 p2 k/ |; z

4 W7 [' T' w4 [& r# o+ j! {( L目前就两个2 p5 K3 `  T7 w+ U  \3 B" f$ L
# deepseek-chat5 P! o8 R- A3 d
# deepseek-reasoner2 G9 z1 i" y2 r2 x

- T4 r- [2 [$ P. P1 _' S9 @参考:: q0 P8 n; [9 b* A/ ]
https://api-docs.deepseek.com/api/list-models
  ?# ?& `; H% t0 p4 {! O: A8 x. `5 D# Q: Z$ }  l3 p$ t$ A3 ?: c
/ x. |+ w0 ^, [( F* a; z3 o
7, 问题1 h) y7 j) I* a. r9 ]' o, b( W

, e% |& |5 ~8 j4 {4 sdeepseek 会将前后两段合成一段。* ~2 r& s* B, r
特别是那种大量的对话的段落,deepseek会给你合成一大段。6 Z  n" g' ^: j; }3 i
) ^1 `8 T* Q7 P3 k! H4 f7 J# s
8, 钱说了算。, C, U( f; ]2 t& \

) G/ B' J) a# b* o; pdeepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。* Q' [/ ]* _. A9 o
但是API就不会出现这种情况,毕竟我们给钱了。
6 k' n7 O% v; N: s: Jchatgpt也是这样的。
+ R- {  j* w! M$ j3 t0 o& y0 G& s% \8 F* l
& ~6 L3 d. y) ~1 `$ d8 L% v





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