爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑 ( y( V- W0 h2 ?( A8 m* }

0 n/ u* J0 u6 o把PDF上传,然后让他抓取文字,并修改可能的错误。
. e( m% o8 b) G1 d, ~- B) \然后deepseek完美的完成了任务。
1 K6 l' x* `: S* Y% E8 R7 C+ ?$ U段落清楚,列清楚,页眉页脚全部去掉。; j9 k8 N# R3 {1 }" K. c8 Q" Y! D0 ]( [
我要疯掉了!
) P: @3 u5 \6 Q) a$ h- C赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!
4 v" G9 c+ u4 [====
9 _; |8 e( J: h$ f0 p- T" D" G1 n- w中文也很完美。
$ u' @+ n+ j- s, f' d; G经验值,每次十页比较稳定。. H3 T/ }* J! y. I
现在我这里API还不能用,等恢复了,全自动了。5 u7 a3 F6 s# n/ t  _
====
6 D3 z1 q+ x# v/ y1 o5 B第二次疯掉了!$ u9 l" U% M, H/ e/ g
我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
: u- M* E6 b; X4 [3 r) s" [% X====
. R$ f& ]1 I' Q9 R! r- N9 K! ]现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。
6 y8 w& E- X0 n5 @1 I4 r' H但是任务多了后,每次翻译的页面数是减少的。! g" ]7 V3 ?7 r3 S) {( `1 [
好吧,我五体投地,继续探索。
2 h' S. N! _3 _: X8 P====
: `& B7 k8 l" ?# [3 S* X8 g为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。
0 c2 \0 r5 n" p. x: _& y====/ b! S7 O! b& y3 `7 u/ F
好吧,有些东西是不给翻译的,哈哈。
0 E. ~- _* n* [& i: A# F9 d) N+ n+ L: O
Sorry, that's beyond my current scope. Let’s talk about something else./ Q5 |& M* ~1 a) x4 N9 {9 u
====
6 k' Y+ T7 ~$ {8 V/ F然后我的英文命令也让deepseek 帮我修改,呵呵。: g0 ^& H, y, Q" e3 r
====7 F; A& l! u1 }: [" j5 U& B
日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。
; k- N! S4 i1 W7 b1 K! f$ Q====
/ H- K5 U: J2 C" m3 j0 t; N1 a( Y9 A' V8 a时间段的话,北京时间的下午和晚上用比较好。
4 E8 C9 g* g. j: A后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。3 P* ]6 R) v# M5 M/ c
====
& }% H. S8 W- u+ W; d' c! H+ o; P& o  {/ r用千问吧,非常稳定,非常强大。! f' l7 u  k) I* s6 b: A
https://chat.qwenlm.ai/1 F  D$ I+ B& w- n: _
====
% |8 ?# a  ^$ d9 e2 ]Deepseek,API 看上去可用了,但是不给充钱。5 B8 r, _7 k8 I! _

" |8 x& H! C2 Q" L* `) u/ ]$ ?, ?. J9 P( I% S0 [9 A# j# {

% A5 i' V& Q7 v9 `$ ]- |3 c
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53- k: Q) Q5 P7 R% \3 K" ^: {
这功能很赞呀
( d4 y1 P( c8 W
简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:133 q2 w7 P  l- d  O2 m+ U
有没有上传整本书试试

% \+ T% r/ }4 s# G/ R; e) b  N目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑 ! W8 K' k1 [8 ?
, g2 K3 S6 W+ x) K! U: m/ o. r
以后让deepseek 读出土的竹简
+ I/ [) `. p" r5 D" ?# y* b7 a- u( N* a/ v/ o8 g5 A  e& B
还有把古文翻译成现代白话
6 Z9 W: n4 f/ z$ K$ ^6 m& [5 |+ h! C4 c  I0 f) T+ U
以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?9 G! ^$ ^' W: }* i! P( b! c
5 h) d- i4 w2 }7 G
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23* t( l' O0 g( z7 w5 F/ i8 K, u
请教是如何实现的?, p, R0 P5 D5 E4 u4 b! o

: I' R1 j& L1 A. ?# h我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

" @6 `1 O2 u! x3 G
$ t1 z. d5 M# V* j我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
4 K8 {: y0 \# E: e: r; M& D文字之类的没问题。估计deepseek现在暂时只保证主要功能。
- L: q! Y9 X2 x; Z! D# M- L6 y美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。
0 w/ M6 A) N/ v1 h8 L+ _
作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23& J) o6 `8 L2 S/ Y. c( }) `9 {
请教是如何实现的?
  v6 C( a4 n9 S
4 k; u% D: Y% E我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

( a) F% U; g& m+ thttps://chat.qwenlm.ai/) Y+ s+ B/ a: i$ W% L
试一下千问,估计美国人没有攻击他,所以资源敞开用。- o8 S0 m$ R+ _9 @4 m
很稳定,质量不错,好像最多一次处理15页。2 p+ M( h- w9 }% J% J
我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。
# X! j, C. `( t% W处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
. O' I: |: m1 x这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
0 F) x  J5 P  _3 p+ d3 R9 S2 O7 G. N! Y: _( W0 I. M
https://github.com/oomol-lab/pdf-craft
, {) T3 b* V$ Z8 G  v' S( p8 |8 g3 `
1. 这个工具要求装 python3.105 d/ o' q9 ]3 C" s% l
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0
: R1 `* l" v& m: _5 ~% _7 y- ?4 i  |+ V3. pip install pdf-craft( F. p. B" N! f2 J/ N  J
4. 把下面的内容写到一个文件里,例如 a.py" x7 p; x* t9 D$ `4 O) w

0 b1 `9 u8 Z( Q5 u, b! D
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter5 _" m' i6 n* o

  2. & c0 R2 }$ [4 l/ [( z! Z/ Y, X3 I
  3. extractor = PDFPageExtractor($ B# X" M% S! r6 z' d6 a
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.; b' y/ Y/ g& B9 x, j* k
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed
    % q2 }0 u/ J. |7 ]* V! f  j
  6. )
    5 e) r$ r9 V2 Y6 i
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    $ m; s$ j: y" F/ n/ D
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):
    7 Q3 R/ x, A0 Q2 M2 ~7 ?) `  V
  9.     md.write(block)
复制代码
* R- h! T% v8 E/ W. ?8 k

( G0 ^6 k6 p" [. U& Y) `+ p要修改的内容:
3 n$ T, j9 J; ~  s4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型
; \2 v- A' Q0 w$ `0 O' H4 n9 }) @3 Y4.2 markdown_path:输出的 markdown 路径文件名
; P6 b8 \2 `9 v9 w+ m" m' S/ |4.3 /path/to/pdf/file: 输入的源PDF路径文件名
; {7 R- K2 v! b- E0 @0 J+ I/ c( I* k8 w( [/ ]1 u4 U
5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑
+ o# Y' T8 h2 a- Z7 \9 ]4 T1 u2 N* m: k( E1 l
目前为止PDF转纯文字的最佳办法。, d: f( X% G' u( ~; N7 w
先写个小程序,把PDF按章节切成小的PDF。
. d, }0 W& h6 q) H1 R3 ^然后,把PDF一个个传到deepseek,让她抓取,除错,输出。
! O, h% a9 p3 O效果非常好。
0 R1 o0 _+ x- a% K! b$ t- @  D/ ]  |1 S* M' U
deepseek,qwen,chatgpt 三个,deepseek是最好的。2 Z) ~) A4 u: s! G) B6 \

( O/ d% ?! X/ f* ?7 V+ X$ {. d2 m5 j2 ndeepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。7 P& A$ `2 W- {$ Z7 e4 V) n+ C
而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。8 u, e4 ~# g6 {. q5 f. u: g
我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。6 A# R! g2 }* K: J5 O% w
7 J, b) d) E6 x& `* q
API到目前为止,差强人意,不如网页版本修得干净。3 K" ]7 r: M8 x0 B/ _$ {1 t# B5 |

/ h9 y- l5 g' T4 m. E/ Gdeepseek可以同时开四个。
5 t" z- Z: V/ h8 [: \
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑 & \: O. ~# a- V: |# B! D
" V- x9 ]3 I( X( U0 [& g7 h. \
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26
' o+ P  w5 `& e; j8 x' ^# w4 d让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...

! H% y9 K' a& \) [7 l2 {细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33
* q3 b7 @% n, l" M1 C+ h9 H" s细说一下,听上去很不错,多谢。
! x' f0 s. Z+ ~' d
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑
3 N6 O8 J- t& {. }: `0 Q' z& p
: X8 K0 J5 Q9 m: \( ]  S已经搞定.
$ i, `! S/ Z- S' k
( J$ g% }6 b+ ?& E. X8 V3 _首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。. D" f9 k2 M# E( `' o

7 z2 j3 X' j7 m" n1, python + pypdf 按章节拆分小的PDF% r) l! w6 V! c

' I4 {) l; r. G' h2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile1 P) P8 l$ c# P3 K. T3 |/ j

; L5 T8 d+ y2 P* M5 d8 T* q9 g得到text file: Z; S# E7 Z; j+ t1 T6 r
& i7 d; H3 A! W/ r
3, python 读取整个outputfile,丢给deepseek 矫正。) Z) @! n1 ~  k. c) W7 G
# r7 b+ M9 `4 G; c( A$ \
模型是 deepseek-chat% ^' t# x) C2 x3 x% ]

/ f& o2 `* P& ~* o2 y& rmax_tokens 最大是 8192,别的不用改。$ k% Z3 A/ G; N

+ h4 h, f! H6 O/ a- v- `' T参考:
0 A$ b" M1 ^+ ~4 A0 A+ [https://api-docs.deepseek.com/api/create-chat-completion  @2 [) D$ o, x, A8 {, O7 W- b
6 y1 V, Q% A, p5 J- f
4,费用:
$ B  B6 q6 e& T2 i5 u& g4 H3 c+ Y& ^: T
实测:
6 {( P- Q; d/ z, K4 P% P& t( M& X7 q" S: Q
296K 字母,用了 9 美分。
2 F" R* {# V. h1 P; ]! c2 w
5 I8 J' l- F3 ^5 G. ^* [! b# {/ }英文字母 到 token 用量大约 1/3
; [; @! A. G/ v) Y7 q& S2 }
# x1 |  j' W/ m, V, ntokens: total, 11782 completion,  3729 prompt,  8053 | s:  328991 c) h3 C) L  Q9 |* t( Q
4 U0 o$ D/ ~3 T8 \6 b0 O) o
32899 个字母花费 11782 tokens,包含输入输出的 tokens
3 k0 Z% V9 X$ [% L: ~0 R) v1 G$ ?. t. \
价钱,非常非常便宜了。: o4 m' p- |, x& u9 C% [4 I

, L# U  N; f. a+ i参考如下可以计算,懒得算了。$ X- F, J" C: H$ C" J- T

- E2 L2 P+ i3 {1 h* @https://api-docs.deepseek.com/quick_start/pricing  e$ p$ j, I* z; i/ t
! q/ ]4 Z% J6 R  M5 s2 m3 Z
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14
2 B% ]. v* R7 V% L0 c# Z- J' F1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55" O. X4 m. t- a
1M TOKENS OUTPUT(5)                                              $1.10                $2.19
9 @, o; w! a8 y7 s( @& h" U6 @
$ ^/ Q: }2 F2 J5, Balance, R9 o3 K. f. N- E. f" q

, B& z2 }5 r' R; M$ t* p可以在程序里调用,知道每次运行结束后,balance还剩多少。
8 I; m* ]) K4 \参考:+ L; J# o+ a& M: ~6 P
https://api-docs.deepseek.com/api/get-user-balance, V4 x: p1 D6 m
0 u/ C5 l# `/ C3 L( |9 L8 @: c& R' G
6, Models
/ N  E( d* `1 K; S, f3 c7 J* w9 |1 r1 P1 p4 ?; s; ?! r: C9 h
目前就两个
; ]' A) r, q& y, ]# deepseek-chat
/ _- ^, L/ \3 X9 h" P- p* {# deepseek-reasoner
( ?" r& d* V; q0 A: B2 p& r
' k  g+ [+ `* j+ i参考:
  _+ G1 h' }- M& E2 v' qhttps://api-docs.deepseek.com/api/list-models1 w$ t' u) w/ G9 b

6 Z" n) I$ p9 L, ~. U3 s: [9 a) X" e; G6 M& ^  E& a
7, 问题# w- H0 J7 ?& C; z1 }2 p& f
' b% V- d# Y4 Q0 n% ]
deepseek 会将前后两段合成一段。
% q" F- K+ x( ^5 @+ H& q$ ^特别是那种大量的对话的段落,deepseek会给你合成一大段。
; B5 [' {8 D" M
1 W9 T9 d5 m# S! m! J# B; X( S, J$ N8, 钱说了算。
  n5 f4 }8 Z$ x& h3 d2 g! a: |
1 r; ^  Z7 o* T0 R7 @+ A  V4 Jdeepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。1 J8 B% H6 `2 G& N+ \
但是API就不会出现这种情况,毕竟我们给钱了。# g5 S6 M6 i7 B% j9 W3 a9 m
chatgpt也是这样的。
6 Z# ]5 L$ C- [2 x0 ~" s$ S
+ c5 k4 f- u* M$ d
; _9 Q9 e5 y7 e$ `* B




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