爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑
7 i! S+ o. `$ m0 Q$ X- L0 D) h/ Q, U4 N8 u& c7 g( X8 M: ?% T
把PDF上传,然后让他抓取文字,并修改可能的错误。
. G% J6 C/ q" U. Q然后deepseek完美的完成了任务。; X/ z2 Y/ n+ G5 F/ |7 C
段落清楚,列清楚,页眉页脚全部去掉。/ G; U* e) R7 S0 s6 Z  h
我要疯掉了!
7 V  ?& V/ n% B0 Y& D5 V赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!
! u0 x6 J3 J. ?2 m====7 N# ^! |* L$ q2 m! T7 L
中文也很完美。. ~) m( o) W' y- q
经验值,每次十页比较稳定。
+ I* d$ j, R% G* ~( e5 o7 v现在我这里API还不能用,等恢复了,全自动了。( T& D+ ~- \  \# A* y
====! ?7 W% g2 G; G: {" c
第二次疯掉了!
) ^* }8 q; w' h' I我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
' E- U" J% b& _7 V5 X4 a====9 g0 K! [; V8 J  Z- N
现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。
3 \% ?# S# R1 x% e6 z- n* O5 x但是任务多了后,每次翻译的页面数是减少的。# \8 d; c2 Z) z
好吧,我五体投地,继续探索。% O7 H, @. ^, X8 o" d) E. k0 f) Q
====
6 q% m6 h9 j. o/ j, ^为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。
9 O# {, t8 G2 ~7 @' d====
( U% X! @; B4 ^; S. m好吧,有些东西是不给翻译的,哈哈。
: l4 Q4 }6 |3 y% \1 z# a
! T/ C5 T* t* g9 f( z! o% q3 ZSorry, that's beyond my current scope. Let’s talk about something else.$ _& _  [" i" \9 w
====
9 j! Q. y+ z, @9 D+ D: v然后我的英文命令也让deepseek 帮我修改,呵呵。
3 U1 l) I$ D) G6 C====
1 O5 {3 l/ u& y" i, U日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。# j* l0 e" \* x8 K
====0 C% p5 k  Y  z/ V7 \* b" z
时间段的话,北京时间的下午和晚上用比较好。; x; A% X* c3 \+ ]" i) K
后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。
, w3 Z! a9 O# ?) q) P2 r====* U! k) `3 k" q$ m: {
用千问吧,非常稳定,非常强大。
/ y# M. N3 c1 U' ehttps://chat.qwenlm.ai/  A; F2 {/ c; n* X6 }
====
9 ?" k% S5 V, g5 _7 K0 a7 r. ZDeepseek,API 看上去可用了,但是不给充钱。; C% y! Q2 R1 ]5 n' r* N5 [

5 P; A( a$ L( Q7 r9 z* L
2 I( F" q. a* ]9 t
7 s, U5 z) {. A+ k% B
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53, ^2 D' v% r% P. x- n
这功能很赞呀

. i) r: `0 N& X+ _简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:132 A: g" y* V6 a$ M1 s
有没有上传整本书试试
. s9 @8 y' _# |/ F
目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑 6 o: i. \! p' Z) a: I; P6 W0 c
/ @1 k) `& N* |5 G6 [
以后让deepseek 读出土的竹简
# q" S0 E; \! @8 J
3 h2 h" G5 Z1 T5 p1 x还有把古文翻译成现代白话; ^) u& ?) a! ]' T9 P8 q

4 E5 m. x# s: a9 K( Y5 U以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?8 a) B/ o" U; d4 ^3 I
1 \; j: _7 f/ d3 l+ D
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23
8 L) n! q3 a7 x请教是如何实现的?
% Y4 ^! _, i) c* l5 q) M' r
& n8 G# C. Z& D我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
8 ]/ O7 ]- j) m: [6 M6 W% {- y' q& h

0 E# `, n8 r+ X7 B" w" y7 ]$ S我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。6 u( M" E- P" K8 }! j4 @6 x
文字之类的没问题。估计deepseek现在暂时只保证主要功能。
2 }% \/ _8 V0 \# l2 Q! v美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。. J0 |% g. r- g; y& |  m* Y

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23
" x4 z) T+ j4 d请教是如何实现的?3 {! H2 ^; S" j7 Y6 ]0 l6 g
6 O$ C+ n) S% E9 }
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

  F$ [* I5 M$ l( hhttps://chat.qwenlm.ai/
1 ~$ N+ I! \) P3 F8 d试一下千问,估计美国人没有攻击他,所以资源敞开用。; D" V; R' F$ b  h; }$ v# y
很稳定,质量不错,好像最多一次处理15页。6 `2 m' g' j: y! D* D# [. r  b
我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。/ m: \: u$ p3 d
处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。  i' Z8 `* j1 |. O4 L
这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
9 g/ [+ N9 T' v- g( h/ l
, L, ]$ [2 T) s6 s& j! y/ N2 K: chttps://github.com/oomol-lab/pdf-craft) A) ^) ?- K% J+ [4 `: d0 Q1 ^, d

* r, Q/ {; X+ N& c4 N1. 这个工具要求装 python3.10
! N& q1 v: ?6 A! }6 B/ ~2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0  u# A3 y0 N. T# k2 H. p
3. pip install pdf-craft
3 h4 [6 F' |# J+ J9 d4 T4 U4. 把下面的内容写到一个文件里,例如 a.py6 h4 o3 K! ]. b5 J

* F% k3 {$ ^3 O, z/ ~& V2 }
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    9 j5 C- r  K3 x- i$ G0 ~

  2. - f! M) q/ J6 ]5 g  r+ x0 A' {
  3. extractor = PDFPageExtractor(
    ) t7 D7 O6 F  H3 D
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
    . p! W6 w% \" Y. S# Q3 E: p
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed
    - V' k# [" ~' J; _
  6. )
    / N, X/ V0 i( n+ Y: v( R9 L
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:6 H+ d' K: q( |  N* \; s2 N6 E
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):
    1 Z. h* ]7 z( O
  9.     md.write(block)
复制代码
% q  O7 R. X9 p6 u# B) ?/ t9 N
3 f+ @2 F( p. I' y2 I5 c
要修改的内容:% N; g4 q& `* W0 C
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型
* u6 ]' C- M8 F% T/ T; D4.2 markdown_path:输出的 markdown 路径文件名
! W+ ~! _6 Q; M6 _) g& i4.3 /path/to/pdf/file: 输入的源PDF路径文件名
2 F) B. L# @2 a  V5 b
/ t# o) P/ I6 ?% ]! I$ k+ R5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑 # u* x5 x# F% C

% m" s+ S- Y; F* [& L& z目前为止PDF转纯文字的最佳办法。
" m+ g3 m% ^3 C+ c先写个小程序,把PDF按章节切成小的PDF。' i3 m9 U+ j+ J6 z" U6 ?
然后,把PDF一个个传到deepseek,让她抓取,除错,输出。" w$ a8 B5 a4 F7 i+ _4 H
效果非常好。
& X: D$ X- l6 w4 N( W# P
9 s( G1 h0 _  K# H" x( [deepseek,qwen,chatgpt 三个,deepseek是最好的。
' b7 U1 F2 y# k9 |, i% U/ z" A: R% c- F2 o6 n( U# ]- Y
deepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。# O3 G& M5 Z, T9 f; t, T
而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
; i# c6 {; o4 y我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。
8 C& P) P( T5 O7 e6 l# F; m
/ `" r7 a3 k* R# O5 Q7 N7 eAPI到目前为止,差强人意,不如网页版本修得干净。: u4 R+ Y+ s5 q( q6 V+ e

4 v. d; Q4 ^* c. [' Udeepseek可以同时开四个。
/ }6 d4 \0 s0 Q6 [- j0 O6 v
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
! ?- _5 Z1 B$ Y% X" E  S/ U3 d+ K7 C0 [
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26
! S5 ?9 d+ }! }; K让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...
7 a1 i7 y. _' C0 {1 P6 [
细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33
7 C9 t/ c+ y& \5 ~7 Q; L细说一下,听上去很不错,多谢。
8 g. i5 k4 W, Y# t/ e5 r$ }0 U
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
: h2 ~, R) d8 S
0 b! d+ e2 V5 n已经搞定./ w, |* R7 K1 c, p6 f; d

! S; b: {/ i. V0 r首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。1 A5 c: q. C: I  j! V/ S& N' D

2 r/ t3 Q$ T2 q/ w' x1, python + pypdf 按章节拆分小的PDF
- O# n' U# x, ~" [" l4 h1 k) ?2 V( D
2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile1 Y/ n) q* j9 I8 x9 E- o
7 T( Z9 A  X8 G& I( y* N
得到text file! A* L6 W( E4 r" C; q/ J9 B7 M7 Y- s

2 Q" Z: b8 l' ~. \+ d4 M3, python 读取整个outputfile,丢给deepseek 矫正。& ~8 n, w- `& I2 u% Y. ]- E
6 ~5 J2 d7 B$ U, r. D
模型是 deepseek-chat3 N4 \) x6 Y: [
( s* T' ]( s5 _' E- ]# Y# f" x
max_tokens 最大是 8192,别的不用改。
; ^1 g) F! V! a) J9 \/ T
( F4 @; l: T8 [) n) I: Q3 ?5 K$ h5 c参考:: O4 v1 e1 O, O' w3 u9 ?" t/ p- @* i
https://api-docs.deepseek.com/api/create-chat-completion
& X9 d0 [! u/ J* N* F5 ^6 Q
+ c' [  @! m' ?( ?4,费用:
3 C9 w" H7 {0 s: k3 t6 ^, a
  \6 N) i/ |) {; ]# u* f实测:
  U8 F; `6 k" m
  X) ]- V& J6 g7 w8 a% |( k296K 字母,用了 9 美分。
) U* ^9 Z9 J  V7 S! i9 \6 \' j
6 z( v6 A* d  E9 m5 W. z. s英文字母 到 token 用量大约 1/3/ m7 H% \8 W3 ?& N. l
( `" g: R$ `: u  U+ Z
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899% a& s  r3 Y0 c9 [+ d3 z; x

  d4 r7 O! I  y" ?: {7 X' h! o32899 个字母花费 11782 tokens,包含输入输出的 tokens9 b) @$ F! V/ C( q: P+ p3 c
. b2 A- v/ k* w, O. V0 b6 \
价钱,非常非常便宜了。5 j# u5 |5 ~* ?# p9 Y% H9 }1 `5 F

& Z; |6 d/ l. r0 B+ @2 ^' o, `" o参考如下可以计算,懒得算了。
; E9 A0 Z5 D3 {. {: ?
! N! \9 b4 h6 v6 y1 Thttps://api-docs.deepseek.com/quick_start/pricing# p7 S5 a# V: ]+ f$ Y! w: D% T

- }' T. H& c" Y1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14, @0 g; a3 K) Y) M
1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55, y3 a. A$ E0 h# f$ V
1M TOKENS OUTPUT(5)                                              $1.10                $2.19
2 s* J  b" ~6 Y' H! r& L8 u+ A; p* i
5, Balance
6 }3 @) t2 `9 M6 q* }& {
1 C9 U) J" _5 U+ w9 s可以在程序里调用,知道每次运行结束后,balance还剩多少。3 s( a9 E( I# f# J& A# \" _4 r. K
参考:
% Z* [! \1 N" O3 W" A* T/ A0 whttps://api-docs.deepseek.com/api/get-user-balance% W1 Y$ X( S( Z( b

: c$ K3 [) b! i9 s7 ]) S9 M6, Models
& ?0 \. U1 t- r6 P# Z! \) O$ Z: }# n2 B' O& W
目前就两个2 l! f( r6 E0 `" M2 [! i
# deepseek-chat
- X0 A1 r4 s" A" C: x# deepseek-reasoner* k/ T* d9 q1 m. ~

% n6 ~, U, p8 N$ S" Z/ B参考:* [4 l: |0 s, H% o, C
https://api-docs.deepseek.com/api/list-models
4 ?3 z. [3 C  i" e/ ~  x$ {8 m
+ v$ q2 A$ P+ R: b* ^
: _/ |# a' o" S2 o& c6 I7 m! F7, 问题
; [9 [% ^: R+ o) [7 `: C* ?1 l! ^' T7 I4 b, i) s0 I" Q) i
deepseek 会将前后两段合成一段。4 d1 t+ ~: c1 g/ d+ P* z% ~
特别是那种大量的对话的段落,deepseek会给你合成一大段。5 D! m, N, Z* N: a0 _6 \; N
) N" E0 O; p0 w, |1 F/ ~( t
8, 钱说了算。* t/ A! I) i$ m$ ]4 i8 _. ^1 e' z3 ^

: ?) s4 o) R) q) ddeepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。
( b, W+ d: k! }( v  O% q' @' [但是API就不会出现这种情况,毕竟我们给钱了。  Y( Q& a  f5 f3 F3 I- q1 \
chatgpt也是这样的。5 [4 n; D# [/ c* z

, f! A+ n7 s' ]
' f+ s1 c% s" w+ Y6 S1 s0 }3 f




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