爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑 : B- f+ Z& K# u! j  v0 `0 T
" b  b/ G5 [& l
把PDF上传,然后让他抓取文字,并修改可能的错误。' k$ ~" w# ^) E
然后deepseek完美的完成了任务。: d- A# L: G2 q3 {
段落清楚,列清楚,页眉页脚全部去掉。6 c3 o! Q5 T) l" O4 S
我要疯掉了!
9 z+ f, Q5 G2 m' `* ]$ K: v赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!! W3 N  {. j3 E% E% `; Z
====) R0 P; E$ g9 r5 U% f
中文也很完美。6 g2 C# q; F; [$ ?  k6 Y
经验值,每次十页比较稳定。; f$ Y- q. A, R/ o+ i
现在我这里API还不能用,等恢复了,全自动了。
' E+ e. W, A5 B9 Y2 v====
8 T3 P% `$ L0 H  `$ i& F! X第二次疯掉了!$ I( H! [  f! C8 q' V* y
我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
9 F/ w- P( r: }8 Y====$ S  \) T- Y! `' A* e. K: J
现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。
! J( j* X+ |* b& {" P' m0 C/ A但是任务多了后,每次翻译的页面数是减少的。
7 M- X, w) h; ?# _& h  {6 w好吧,我五体投地,继续探索。  C; C8 U0 ]* k% C6 U
====/ [% o% z  h. S7 r
为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。! L+ s* ]" _1 ^9 ?5 w$ h
====
/ y' K. W) s" F" l8 F7 d好吧,有些东西是不给翻译的,哈哈。
6 B& P  A, x2 O  b/ Y+ ^8 }# Q1 s" c% |. g, ^
Sorry, that's beyond my current scope. Let’s talk about something else.
( L3 a% Y9 A: `====, g0 H/ J% T/ o* g3 p8 y# n
然后我的英文命令也让deepseek 帮我修改,呵呵。* a/ f+ |/ {' z, g, }
====
' @% b* \: @) f! q1 |6 l日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。
: K& w6 m1 v( Q; z====* R! b3 l  |+ z- m
时间段的话,北京时间的下午和晚上用比较好。( T! O; y1 h& A1 h7 V2 U" {$ \
后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。, U8 P8 s# P7 G$ h- M
====
  m; [" g8 l& w/ \( @用千问吧,非常稳定,非常强大。
, U1 T: }/ V5 H0 D" z5 xhttps://chat.qwenlm.ai/
% J9 p/ h# W& q; l# e====
8 G/ c% h$ u: x& H0 q2 g  LDeepseek,API 看上去可用了,但是不给充钱。
1 I4 I  e2 P$ A3 e) O# W1 W& Y5 }0 w$ j6 @7 M/ f, [
8 l) t. ?/ }& p

: h9 O4 j1 B: Q( v  j
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53% D3 D( j, p! y
这功能很赞呀
/ m2 j: f8 z4 l& e/ Z/ F+ o
简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13- [4 B- e0 G3 ~3 d
有没有上传整本书试试

7 B2 F0 c, Y: W. x4 d目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑 0 ]9 n3 p1 j& u% g5 A7 e
4 w2 F, b) V3 d8 Z3 D
以后让deepseek 读出土的竹简+ G( B' }% J. ~8 e) h, i; B

6 W; G9 t4 f% C- d- @! D' v' i还有把古文翻译成现代白话1 T( e0 P% x5 u6 ?9 A! }0 `

' Q' J" n% D; z: c( ^3 ]8 p以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?' ^, \- v: r- S. n! }: A. |7 g
! V6 _+ F8 z" @5 y; I2 P
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23
  ~; R5 x3 E. V" r% v请教是如何实现的?/ Y. B0 X* Y. l) P9 G  m

' ?8 f( r; a" C1 U我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
- C+ l# J8 d8 T0 M" R

( B* f, q, h2 _' }' e: s' @3 b% }' O. f我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。3 ^* \7 g. q9 b; m) `& K5 g
文字之类的没问题。估计deepseek现在暂时只保证主要功能。- n) W+ b& q7 j
美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。* E/ ~1 b/ C- o

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23
7 D4 C. m9 l+ u. _8 r! o请教是如何实现的?# I1 J2 a3 d" r+ |
% N! A* ]6 u3 v" m1 b0 Q8 s6 _
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

8 p. O7 h1 m6 }, P: ]https://chat.qwenlm.ai/( }! u6 S+ Y1 G& U' ?$ e- [
试一下千问,估计美国人没有攻击他,所以资源敞开用。) @: x* ^% H! L! o3 l% e6 f% k
很稳定,质量不错,好像最多一次处理15页。
, e! l, w7 P  J! J. f我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。
" F+ r& r# _% Z3 j. D' z( D处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
$ Y. q+ @) ^' N这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
) N6 Y8 L; _2 _; V8 B8 P& g) ^6 ^0 |2 i4 g- k. z. U# J
https://github.com/oomol-lab/pdf-craft  P: F4 n0 q! Q7 G6 C$ U& Q

  _- Y+ r$ d) \' _5 |* q4 }& J1. 这个工具要求装 python3.104 P# x! {; A$ l
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0
4 @3 S/ \" {5 x% d3. pip install pdf-craft
8 j+ \5 P) q, a4. 把下面的内容写到一个文件里,例如 a.py
# I- j" {  [1 _; A; l, I5 p, o% }2 J# R
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    $ q# N; V8 g7 ^! R0 e' a

  2. , W/ E: ~3 f% E$ a2 q; }8 P' d! m
  3. extractor = PDFPageExtractor(" V2 ]5 \1 b& K/ E# T1 V1 E' i
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.
    5 a# t9 H- y! A' d
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed1 ~5 u2 r  r, h) P
  6. )/ ~. v% N" M8 q. r1 ^6 _1 h
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    & O. s2 C- L0 V* _+ y8 `
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):
    8 N* T( D! W9 `3 p8 g
  9.     md.write(block)
复制代码

5 Z  u  |3 Z( C. N4 |& w' t9 n$ |% h* U4 `) F) G
要修改的内容:
& R" k7 y' k, ]+ n3 \4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型
+ B( t- q* T; m5 V4.2 markdown_path:输出的 markdown 路径文件名
7 k% \, [) w( W& m4 q4.3 /path/to/pdf/file: 输入的源PDF路径文件名
# [6 f7 o$ M; C
, d$ Q' e- a! R; A2 A  S5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑 ; N9 g- b' g$ p2 Q: [) y

$ P4 C  a& i5 F2 R0 A$ R8 h, E' q目前为止PDF转纯文字的最佳办法。- U/ E5 H+ ~3 u
先写个小程序,把PDF按章节切成小的PDF。# T& m1 A/ E8 m4 B
然后,把PDF一个个传到deepseek,让她抓取,除错,输出。
- G* O# h" R8 ~, }效果非常好。: C# }3 h5 B' w9 M# Q: D: }1 |

0 t& J. C! @, N: v( ]2 e2 jdeepseek,qwen,chatgpt 三个,deepseek是最好的。1 G" V1 n. p* M! W0 h
9 P* h4 _8 d& n$ [
deepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。. I5 ^) z; K' d2 U$ R' D
而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
' |0 K; ?: `- l& i我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。3 }8 B" z2 n# ?4 [

# O: i& x0 d8 O# B9 w4 f3 n. [API到目前为止,差强人意,不如网页版本修得干净。
1 r- K! b+ N; P8 K9 {& L% z8 t7 K1 k, l9 o6 k
deepseek可以同时开四个。( k6 X! O/ Z. k) x( n% x

作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
5 Q3 J3 T- R. X) E7 @. e5 }5 [
8 T2 P8 y& U$ |9 a让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:261 o, j6 O8 D; s1 m7 w* H1 S3 m
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...

# W! r( r- D( V% v2 c  n, H细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:330 I# @4 \+ n* j( h% N, b/ X' o( G
细说一下,听上去很不错,多谢。
0 e* Z6 l& i) T# b1 `* g* P
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑 ' d1 M. v3 c% t# y2 ]/ H- y( m& {

6 }# Q. x7 z& N( ^0 O已经搞定.5 e# k5 e* H8 |6 s9 |
! V" P% O$ N* G3 A$ R$ ?' w
首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。7 L0 b. t! I" k& M/ ~4 o- f: k/ g
6 b  @! k* a  j6 v
1, python + pypdf 按章节拆分小的PDF" {9 j# j0 a  W; y: e
& T$ F. C/ g# \
2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile
% Q3 I( v- L7 U7 i6 C0 [" a( c4 |1 \% Z1 F/ _6 R
得到text file0 f6 D: r* m; F
, c2 y3 U" \- N7 }& h' C
3, python 读取整个outputfile,丢给deepseek 矫正。
1 u7 m& C: L: ]9 l' t2 h
+ G7 S, X  k3 k* ?模型是 deepseek-chat
. ~7 q/ I! }8 b+ u2 w  h+ W# I; Q8 @" \( c$ b; K
max_tokens 最大是 8192,别的不用改。
8 l. a4 k- K. _/ j2 S. C% ^
* l& @! p! e( r% u参考:
8 f" K6 _. a% z1 [/ u, vhttps://api-docs.deepseek.com/api/create-chat-completion
: c" i, M) R  w* m, u
8 X9 e- v) ]! ~, Y( N; n" X" @4,费用:
1 U4 N9 f. V# \- |  f: j6 _
' M+ Z' r/ N. X1 R" m/ y实测:& @2 u% Q! Z, e" ^( r

9 j" c( Z0 g; C% y% b9 [296K 字母,用了 9 美分。  R* A: A8 G1 A7 Q2 x0 d

7 t& v, ?3 U( e% c英文字母 到 token 用量大约 1/3: {/ E& V3 h  n+ [5 }1 A$ U
, @0 M$ C" \' G* O; Z/ ]
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899
7 z0 n5 ^% J- m6 p3 W+ [, T* `8 T/ v6 `  p) F4 \( X& ]
32899 个字母花费 11782 tokens,包含输入输出的 tokens! h5 j! ?4 z" [. f
* k; H  y0 g' m
价钱,非常非常便宜了。
' O: {6 O5 Q* p# {
  ]" O# o% B' K1 f参考如下可以计算,懒得算了。
- X4 k4 k! t6 B  l& F8 s( ^" J) Q5 l* y0 C5 [0 Y
https://api-docs.deepseek.com/quick_start/pricing
( Z! A% f  M( O* O# D  `2 m) U( B
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14
! B/ L. E9 M, U1 r1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55" A: Z$ U5 H* P& ?: M1 c
1M TOKENS OUTPUT(5)                                              $1.10                $2.19
* M9 n* f. Z3 i
5 g6 w/ `7 g$ B6 B/ }9 c5, Balance" L* q# j& T, ?' e0 }5 a

8 @; k3 ?. _) B, o' M- v3 W% V可以在程序里调用,知道每次运行结束后,balance还剩多少。1 ?& n* X. o, `% A$ {
参考:; E3 @& y/ F: p
https://api-docs.deepseek.com/api/get-user-balance8 k: Q# p- t5 k. B
( X) }2 N# {9 j: r, T
6, Models& p0 H) L3 k) S  J3 I7 C
% ^% {" ]  M: L- C$ d2 q, C% F" J
目前就两个. ~3 y1 s; G* p% w
# deepseek-chat
/ d! {9 I8 a, e8 ?$ e% N( K' F- B# deepseek-reasoner/ J" [& j  x0 u. G/ O( }' e

" x5 o* Z5 l% E4 S1 f) a参考:
: J5 N7 i3 c( Ehttps://api-docs.deepseek.com/api/list-models
* |% r1 q" {5 p! |0 T1 X2 w6 Z
: f( J9 f* `$ U. O4 k1 w* @7 V
$ N8 U" Y, c+ Y. R5 w% K* _7, 问题
7 ]0 X5 A  ?1 W$ _* F; C( m# ]2 y  f) Q2 y1 x
deepseek 会将前后两段合成一段。: d3 [# ^1 }# ^, _, ?; M
特别是那种大量的对话的段落,deepseek会给你合成一大段。
* s/ ~" e: d& }# R& ^- K! X, T/ y9 ^$ \5 W$ F
8, 钱说了算。
# s5 R2 L0 _* u" h" Y: U
. ?- \6 `. k( ~6 v1 X/ t$ N0 vdeepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。  m2 F' T/ R$ Y
但是API就不会出现这种情况,毕竟我们给钱了。2 R* t. i/ Z1 s* d
chatgpt也是这样的。7 L# K+ Q# l) S) z

& O- e$ K$ \. n' T# @7 |  R' e+ |7 C. D$ e5 |( X





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