爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑
) ~+ y3 p6 J" J# _6 b+ q* h
6 g8 }7 O- t( n* _! H* H" O' U把PDF上传,然后让他抓取文字,并修改可能的错误。
/ J4 }# L  y9 W) ]3 V然后deepseek完美的完成了任务。
; n+ x/ O( R( I7 f% \段落清楚,列清楚,页眉页脚全部去掉。
, [5 e* |& e4 |6 @' I8 O3 {' Z我要疯掉了!- m, \- |$ X' ^+ L' S
赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!0 k5 Q: v% o. c
====0 r& {- D1 c9 b: R1 b- k  H* |- Y
中文也很完美。
$ O  A7 {" e  o  D% ^- _经验值,每次十页比较稳定。6 ^* ~7 {" [/ v8 Y2 S
现在我这里API还不能用,等恢复了,全自动了。- m/ l" N. t6 k0 g1 l
====, F) n# Z  T" m$ {1 x- c3 X
第二次疯掉了!
) D, \6 B" v/ y- }0 }0 h" H% ]我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。, ?, p, q2 a4 Q
====
% ]' ~. A9 Y% h( `- n+ r现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。
5 a) z7 X: H) L* {  N* |但是任务多了后,每次翻译的页面数是减少的。: q& U- J. f- a  f- w
好吧,我五体投地,继续探索。
( L7 g' g2 Z; z$ O0 r====
$ U: J- z" L! a$ U7 a) Z& k为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。2 Z2 k7 z, [/ T% Z) g7 H% w: }( N
====* s6 |# q% _) }/ A5 e2 n6 u: M! ~
好吧,有些东西是不给翻译的,哈哈。
8 q0 G6 N5 m- c8 O$ _- S
% o" g4 `5 y; E% `6 e7 lSorry, that's beyond my current scope. Let’s talk about something else., B; a5 r4 L3 f
====! l8 z( l* F/ p
然后我的英文命令也让deepseek 帮我修改,呵呵。& n, A# S/ {* F+ U- W# H8 J
====9 ^# P& J5 G- A. a$ g, w3 y
日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。
3 ^2 l' [/ A* H5 }1 t) D1 T; r2 w====) K7 F4 U  _1 W' h5 H
时间段的话,北京时间的下午和晚上用比较好。
" I7 U8 _9 B' {( N# t( v0 p后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。4 j2 L9 H% U/ S. h9 j
====: k  ~. W9 f+ B9 n3 ?
用千问吧,非常稳定,非常强大。8 j) R: ]/ |8 E. b" z- P
https://chat.qwenlm.ai/4 i% H( |! P! J  Q. X1 w/ b
====
7 [7 A# H' \, |1 N5 b) k& e/ LDeepseek,API 看上去可用了,但是不给充钱。9 [* \, F3 x4 Y4 F

1 A- U; G" l3 B- Z' `7 M9 r* A3 Q8 o% y$ ~& c. S' r

3 f5 B( F. C3 _" h) f+ z
作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:53
9 w+ p4 k4 V  d9 e- {1 |6 u# X这功能很赞呀

0 K. U& N+ ?# s; E简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13
' Z6 t3 l) L1 S) G有没有上传整本书试试
: Y* a" I2 j; V3 Y4 X6 {; G- H( \
目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑
& M7 h  @2 [1 F: }, z$ q# f/ t  ^0 o" }8 L, r9 z
以后让deepseek 读出土的竹简
0 U' }% \" C4 a# J2 N* I, F7 E& w# \( a. s# k
还有把古文翻译成现代白话
/ {! K+ h7 W7 h" ^* v( N7 i' Z4 X
以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?' w5 Q4 F# T/ Y' u9 x" `2 R. x

* W3 A7 ]2 i; W8 i我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23
5 b& X$ k: e/ L1 `! L' v2 a' Y请教是如何实现的?" ^- ^4 i4 J0 ]9 S6 L+ S: Y/ G
, O7 j6 K7 l- B5 P+ K
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
" K$ I4 [1 L0 H; ~8 h
/ i2 B& W- t( `7 o; A
我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。
- y% g# U  I3 p) ~0 ]9 z- A文字之类的没问题。估计deepseek现在暂时只保证主要功能。
* G' O0 m+ L. ]! t/ {" |9 p美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。9 [+ D  B" H- [" M9 W

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:23, n/ l2 f+ S+ `* h
请教是如何实现的?
& X. m& y6 M: E* b, m0 _8 H$ p* Q1 f  ~9 o; o( n4 S5 z
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...
; v5 v9 W$ q- `, z# T# F& |
https://chat.qwenlm.ai/1 G# Z& k3 u$ H; h. o% j' R
试一下千问,估计美国人没有攻击他,所以资源敞开用。4 n& q! x4 }1 e1 L
很稳定,质量不错,好像最多一次处理15页。( l. M" F2 Q+ Z' U' [5 E; q
我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。
7 l5 ^8 @3 a1 H! a6 ]' C处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。
# j$ ]9 F1 c, y8 E6 e2 H: s  `3 A2 M& Y这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。
' t# `) K" V6 c: ^1 U# `6 C& V$ Z0 z
https://github.com/oomol-lab/pdf-craft
, S# i8 V: f4 h6 D8 B, q) C4 [
- {% a3 S& M" U6 W9 c! l1. 这个工具要求装 python3.10" q. b3 q) i0 k3 W& t: T8 i( n
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0$ f+ {  _+ H; r5 z
3. pip install pdf-craft
$ ~) W! O& O% ]) m4. 把下面的内容写到一个文件里,例如 a.py$ N, i4 p: g& W
4 l9 f) _* P, @9 m+ \6 p, m9 u
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter
    : o. j9 `4 \0 x% o: a" [
  2. 1 e! K# W" u6 o& y. z" N
  3. extractor = PDFPageExtractor(: R5 G! ^9 D4 f. b, e! P  K2 Z
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.; _5 b: ?6 ~$ Q7 V5 X
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed
    , Y* c' j9 T3 W+ j7 e
  6. )6 h$ r: M+ z' d8 h& b' r
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    : }% ]6 D4 f( j$ c4 P  N  f
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):) ?4 c! ]" o( q1 H+ x
  9.     md.write(block)
复制代码
5 D9 d  S$ m: h5 q( v' O# K

* k2 s& U/ ~- F2 ^' |0 f要修改的内容:
/ r, c$ W$ n4 W. R8 r! }4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型' m- y& ]4 V8 @5 g
4.2 markdown_path:输出的 markdown 路径文件名* e7 I' L0 p' F* H  Y
4.3 /path/to/pdf/file: 输入的源PDF路径文件名. W6 Y5 H+ k$ H
# [  G0 f1 ^  Y9 n
5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑
- z4 ]! }8 F, ?, q# ]
3 m5 n0 O& E1 G目前为止PDF转纯文字的最佳办法。
* ?% y$ Q1 N1 t先写个小程序,把PDF按章节切成小的PDF。& y8 L7 ?. G" ?8 b/ x
然后,把PDF一个个传到deepseek,让她抓取,除错,输出。
' {5 O: W& l0 Y6 E5 h* W+ d: w$ G效果非常好。
( m4 N- m1 v, }7 x9 F( t7 k& n
0 L. S6 m4 p9 F4 Kdeepseek,qwen,chatgpt 三个,deepseek是最好的。
  M0 ?+ G" S0 T8 b2 r' O/ A5 t! A& x( e$ n
deepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。% z8 T3 F, l: I/ w' T% C$ j1 j% Z
而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。# ?! V) k! l2 u; E7 f) b5 E
我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。9 ], ?1 `) r3 W9 E+ }

7 k( t( S1 x2 I# `API到目前为止,差强人意,不如网页版本修得干净。
0 c. R- y1 I' l, h( s
: m+ K: G2 v6 Y- U$ z7 Hdeepseek可以同时开四个。
7 u1 r7 v' }5 v  M- v6 O% n
作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
; m. j# Y- W3 E5 @
" \1 K! `" n; l  O让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:26; ?( a! ]* m: H) J& _  }* D5 X
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...

, m1 g5 _$ b7 G* q2 r细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33
% H, I- r, g4 \1 W; ^细说一下,听上去很不错,多谢。
& E: v6 L. [4 ^7 v
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑 9 x- {1 o9 T# k4 Q- V" W" P# Z
/ k( W* w" d! n. n+ O
已经搞定.3 |* {, q) l. Y& O3 Z

0 [8 ]3 h5 ?3 [+ J) v首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。: _  w1 y2 J: b) O! |" Q
* {" m9 U; k$ e7 Y! u- `
1, python + pypdf 按章节拆分小的PDF. I7 N& Z1 p1 |" p+ L1 e! i
2 w% z6 ^( s: X; ^+ U2 x" w+ w" H/ U
2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile7 W3 c) W% V" }- Y7 G3 V9 A8 N

; D; P8 k8 A8 N. d- X/ O" z! H得到text file& M9 U' @. C/ D- L

3 A0 x% ~8 _* z- _7 ~3, python 读取整个outputfile,丢给deepseek 矫正。
. T0 h$ D" q+ l/ r6 \
8 z& D* {$ i' ?! I模型是 deepseek-chat1 y4 W/ k/ `- l1 s+ S  A
/ G, |. Y, @- a
max_tokens 最大是 8192,别的不用改。
) w5 P; n; F* ~; P
$ r: g9 c5 y8 G: r1 B7 V参考:
3 V! U: n" Y1 _, N3 qhttps://api-docs.deepseek.com/api/create-chat-completion% j* P/ H9 e* m1 J# {
/ O& I/ z6 V7 D- n9 R9 j0 b! I
4,费用:
; \( b6 k: ]" E4 z$ g+ d: V( X8 z- d/ ^' L% B! [- Y4 Z
实测:
) I! E/ a2 O7 t2 W4 b9 r
6 Y* R4 W# U: S; @8 g296K 字母,用了 9 美分。
  l% d3 W# j9 p# P% w, T& T3 E& Q! r0 B
英文字母 到 token 用量大约 1/3- y7 K0 O+ U7 K  ~4 j# _
9 p  s* S( O6 n5 z
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899
& x8 w9 H0 s$ b6 h
' m) x" [! t7 z0 a/ i5 |7 @32899 个字母花费 11782 tokens,包含输入输出的 tokens
, [' u2 y2 j# H5 y7 P5 [
; R. ~6 Y. |/ \0 [/ E; k" F, g价钱,非常非常便宜了。' j2 N2 U: v' b" {

' J6 b$ `' o8 Y% }# h8 S参考如下可以计算,懒得算了。3 c7 \3 a5 ~. u" q: L! I. w7 _% e

" y1 {4 M$ P5 X5 Ghttps://api-docs.deepseek.com/quick_start/pricing" B! L8 y) I& ~  I3 u
8 O# v( k7 t( I0 n7 b! K- n7 b! l
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14
) b% o, L! c: Z: |0 s1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55
$ M4 v4 H4 Z! V1 x1M TOKENS OUTPUT(5)                                              $1.10                $2.19
; h  u4 H$ U+ W' v$ H& C/ j# w
2 v% X: S5 s( a* c6 u0 c& J: n' c5, Balance
# p$ ?7 C1 X$ H9 V% R% k$ g
: ]1 W8 u! {  L6 _  W可以在程序里调用,知道每次运行结束后,balance还剩多少。
1 k& V/ F9 V  o& r' n参考:7 D; H5 E/ m& ~/ ]# j* a
https://api-docs.deepseek.com/api/get-user-balance
6 }9 R7 H8 |6 C7 x9 j  O7 L! X6 S
6 k, F; n9 H  F; i, L6, Models
4 E: G% r% |) x$ q* S: t* p
/ R& q: m: v, p1 u; m目前就两个
1 ]# ?2 l, a4 Q0 R+ n# deepseek-chat/ N0 M: x8 t3 O' Q: J5 ]( i( b! c7 o
# deepseek-reasoner9 b% L' K- f( ~0 |

5 j  Q3 e) U3 H) Q参考:
: T2 M1 m5 V& Phttps://api-docs.deepseek.com/api/list-models
7 s( _; B/ ^  E1 F4 ~* W! }6 I, w* ~  L7 c
5 T" x7 u# [$ n4 H/ Y' z
7, 问题% U6 s" z( ]( Q' e: Z# x4 C# k
* T1 P7 O- P9 Y1 ?  W
deepseek 会将前后两段合成一段。* G7 w: u0 ~- v: m
特别是那种大量的对话的段落,deepseek会给你合成一大段。1 g( N- f" c2 y+ v; G. z2 v& x
# b) l7 s9 m/ E7 @! y9 I
8, 钱说了算。. \$ x( w' @$ {+ A

/ }2 Y2 W) S% k! H. w7 C# pdeepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。. Y) t: E$ A* y/ L) i6 S( q
但是API就不会出现这种情况,毕竟我们给钱了。7 o% C* I: O) y5 t( ^; T
chatgpt也是这样的。4 ^+ f% h  W* q$ F8 B; u

$ K1 ]) D( _, C+ a% h! B
3 Z. g' z2 c, P, I




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