爱吱声

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

作者: nanimarcus    时间: 2025-2-2 03:35
标题: 利用 Deepseek 抓取PDF的文字并矫正。
本帖最后由 nanimarcus 于 2025-2-6 22:17 编辑
+ y- f4 N" [- L( W: L7 a
5 R4 s2 ]/ v6 c% o6 r把PDF上传,然后让他抓取文字,并修改可能的错误。
2 L4 P/ l1 M" r! W: R2 u; g然后deepseek完美的完成了任务。/ E: m  I# w- E0 c9 `
段落清楚,列清楚,页眉页脚全部去掉。
4 T4 V, n7 b# D; D我要疯掉了!, I! @  L4 R, ?8 Z4 e3 e7 Y( z8 K
赶紧把自己那些成年老书给搬出来,deepseek,这是党和人民考验你的时候了!3 ]/ e; t" ^7 z* g
====4 [4 m; n2 @/ M4 W
中文也很完美。3 {9 ]; z0 l, h" w6 |4 G
经验值,每次十页比较稳定。
2 d# C+ u  ~8 o5 G6 x现在我这里API还不能用,等恢复了,全自动了。9 f1 _, ^, ]* Z2 |( p+ w! e2 g, M" H
====* u$ o3 Y8 M8 p
第二次疯掉了!
6 o& L5 D1 x0 r  G我上传英文文件后,让他抓取文字,矫正,然让他按页划分,前面放英文,后面放中文,结果仍然完美。
. t/ `0 L0 G/ H' d: F, U====
  d$ d$ v. z; s& C+ l% U/ S- p# n现在我让他从PDF抓取文字,矫正后,按段落翻译,可以一次翻译多个段落,每次翻译不超过一个固定数目,结果仍然完美。$ B2 z2 N+ L- m8 A! l
但是任务多了后,每次翻译的页面数是减少的。  i! B- Z( p( \
好吧,我五体投地,继续探索。
6 W$ D: K* _) w& ^6 e2 R  A====7 \2 O- I, ]. O7 @, W3 H7 X6 m$ Z2 x
为了防止中间结束,可以告诉他必须所有页面全部处理完就可以了,我现在是应该佩服我自己呢还是应该佩服 deepseek 呢,抑或都佩服。
. L; i: g# m- V# x, F/ G====
8 e4 q9 w' v! V) c2 t好吧,有些东西是不给翻译的,哈哈。; S9 H0 P5 ?5 J- _: x: ^5 c7 r

3 D! A. w, n) O' G. p$ D! @Sorry, that's beyond my current scope. Let’s talk about something else.  E, m5 M5 S6 M
====
8 [$ Q/ q- z( }. h; q+ _% F2 J然后我的英文命令也让deepseek 帮我修改,呵呵。, F" S# t9 V3 E
====
2 |/ f0 _2 K6 D  p6 Y) I9 F/ c日语的文本他也可以处理,过程一模一样的。问题也是一模一样的,假名太多,汉字很少,我不懂日语,翻出来都不知道对不对。. r! B4 O) O! c8 g! d
====8 ]! n4 q% e& s
时间段的话,北京时间的下午和晚上用比较好。
7 m4 V: S2 Z% m, k: h/ `# ~后半夜和早上,美国人上班了,要么在用,要么在黑客攻击。/ L' z7 k" q: O; `! X* @
====
# B3 A3 L; ~+ h! W) G3 V% U- c用千问吧,非常稳定,非常强大。4 I/ Z) j2 f% z
https://chat.qwenlm.ai/% C: _3 Q( |/ k
====/ w3 g0 {5 V) Q1 J
Deepseek,API 看上去可用了,但是不给充钱。1 F7 O: W3 [" r! i6 \
% u: [  d3 d0 i; l& C& z
3 F' p# v" V& }
* I7 \& w: f' C+ c$ {

作者: 马鹿    时间: 2025-2-2 03:53
这功能很赞呀
作者: nanimarcus    时间: 2025-2-2 03:56
马鹿 发表于 2025-2-2 03:531 _5 a3 I; @7 K) ]0 |
这功能很赞呀

. {. w& M0 E  ?0 P. M, f) B简直太赞了,我现在正在思考还有什么工作需要 deepseek 干的,现在的上限是我的上限,不是 deepseek 的上限。
作者: indy    时间: 2025-2-2 04:13
有没有上传整本书试试
作者: nanimarcus    时间: 2025-2-2 04:27
indy 发表于 2025-2-2 04:13
/ `* h& }6 I% A. g有没有上传整本书试试
' Y' E, }: Z9 L% Z5 z  ~3 h
目前看来,差不多十页左右就停止了,看看还有什么诀窍不。
作者: 马鹿    时间: 2025-2-2 04:41
本帖最后由 马鹿 于 2025-2-1 15:43 编辑 - V3 X; r! J9 D6 B8 O7 U9 H% N

/ C2 N( ~8 u" g8 E* O以后让deepseek 读出土的竹简5 }. _5 Y" u/ ?& f% i
4 a( K% {9 S& x8 o; ?
还有把古文翻译成现代白话9 t. H- i% L5 z: W7 s7 S
% K" G% ]' @- I1 Y
以后不认识的字不查字典了, 直接问deepseek
作者: 方恨少    时间: 2025-2-3 01:23
请教是如何实现的?% ^' V( ?6 v3 Q" Y% x, K4 X% H3 \
; u' c+ r$ c+ t
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后,发出指令提取文件中文字,始终是文件解析中。直接在DS里问如何上传PDF文件,并提取文件中文字,照做其实是一样的。
作者: nanimarcus    时间: 2025-2-3 03:06
方恨少 发表于 2025-2-3 01:23
. F0 [% v* u1 {2 p% o请教是如何实现的?
0 f; W8 n/ }% ]+ E) Z$ h* c) T+ `
我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

# n& m$ E% o: c. y3 w6 P1 Z) M7 w3 h
我现在也上载不了了,"upload failed",几个小时前还好好的,应该是服务又受攻击所以功能收缩了。# G' v6 ^: P6 E; M# Z' p1 A
文字之类的没问题。估计deepseek现在暂时只保证主要功能。
! i/ r3 h$ T' H7 Q' r/ [, A' N' ~美国人就这样,打不过就耍流氓,估计要等一段时间才能完全恢复。+ v+ l; N+ x$ l  `

作者: nanimarcus    时间: 2025-2-5 00:15
方恨少 发表于 2025-2-3 01:239 {  W/ l1 J) ]
请教是如何实现的?- u3 C: b7 R! T2 v( H

0 g+ K* j& X+ w) l8 e1 b: e! d& m' n0 {我在网页版和手机版都尝试了,都不行,网页版上传PDF文件始终不成功,手机版上传之后 ...

* M, ?$ c% E7 J- W" Lhttps://chat.qwenlm.ai/0 R7 K( o+ @+ U1 u' y, u
试一下千问,估计美国人没有攻击他,所以资源敞开用。: Z) [0 W1 z& p0 F- [5 T' t
很稳定,质量不错,好像最多一次处理15页。
8 @; j5 C8 a' V, }+ c# B7 ]# Y4 N/ i我直接拿deepseek的指令用,没有区别。
作者: heinsect    时间: 2025-4-16 17:01
试了这个工具,可以转成markdown,正确率很高,有漏行,图片会放在一个指定的目录下。  l" x& O+ @& t) L4 z" r) K4 i
处理一本100页左右的扫描版本的中文PDF,一份某行业的接口标准,纯CPU,几分钟时间。6 e  H# k% V6 G, R8 A% l
这个工具不能处理表格,我把文件拖到豆包里,“把这个文件中的表格转换成 markdown。只是表格,不需要其它内容”,表格多的话,要发好多次“请继续”。( Y. k5 b9 |! q4 {) b4 U6 K
1 j& H1 z9 D3 g$ }% w  T
https://github.com/oomol-lab/pdf-craft. _8 S- X/ d- L: k; \/ D

5 f9 A: d5 V6 q  n5 j1. 这个工具要求装 python3.10+ m9 S7 V1 G! T* w* S7 M9 A
2. pip install onnxruntime==1.21.0, 有英伟达的卡:pip install onnxruntime-gpu==1.21.0
! ?# q5 N8 H  D9 Z3. pip install pdf-craft- ~, i9 t! {, \
4. 把下面的内容写到一个文件里,例如 a.py  g+ U3 W$ c% o  o: o! j+ F3 ?- ]; [
$ o# J* O. M- k8 q3 L
  1. from pdf_craft import PDFPageExtractor, MarkDownWriter, ]& g0 A9 k# a& y5 `

  2. 1 ]+ B% `- M: v# u+ c  Y! g
  3. extractor = PDFPageExtractor(
    7 W& P, W" [% t! f- Q+ C) H9 v
  4.   device="cpu", # If you want to use CUDA, please change to device="cuda" format.# P/ g- t, A/ e0 f; {4 w' Q) y5 n
  5.   model_dir_path="/path/to/model/dir/path", # The folder address where the AI ​​model is downloaded and installed6 K4 v& T+ t6 R  D
  6. )
    - d1 q  R4 V1 [2 w8 O! i( |
  7. with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    2 K6 `5 a$ Q" n6 |
  8.   for block in extractor.extract(pdf="/path/to/pdf/file"):; q% ^5 \1 W6 m' y# B
  9.     md.write(block)
复制代码

6 N+ r  {' c6 ^4 ?& K2 Q/ D, d8 O% t
要修改的内容:! `5 R% N( c, O5 M* b9 a9 }
4.1 /path/to/model/dir/path:存放模型的路径。第一次运行这个脚本会从 huggingface.co 下一个模型,国内的要科学上网,国内的镜像上没这个模型" d% u# \. E+ ?/ K! V4 U4 @" z
4.2 markdown_path:输出的 markdown 路径文件名
! @8 _/ L. }2 p# P0 J4.3 /path/to/pdf/file: 输入的源PDF路径文件名
6 b0 M1 k/ }/ I- S7 x1 ~" A& S3 b7 i4 r2 [
5. 运行 python3 a.py
作者: nanimarcus    时间: 2025-4-16 19:47
本帖最后由 nanimarcus 于 2025-4-16 19:50 编辑
- y$ L% i7 `, f7 y& Q# G) E5 ]- B6 @3 a' t9 p9 l
目前为止PDF转纯文字的最佳办法。4 `0 q3 i& V  W) ~( _/ ]& y
先写个小程序,把PDF按章节切成小的PDF。
9 w: d4 c5 E" W% P; K. j然后,把PDF一个个传到deepseek,让她抓取,除错,输出。
8 ]5 N4 m4 c. s5 l9 [% E效果非常好。
( a7 b2 g) M0 Y3 H
' Z8 d. ~2 X& w9 adeepseek,qwen,chatgpt 三个,deepseek是最好的。1 W  M) Z& V+ S" @# ~* N+ L% N
* T/ d$ L) B# s1 N/ {8 g4 e
deepseek 把页脚页眉页号全给去除干净了,跨页的段落也给你修好了。
) N- E) |7 T. U8 @/ p+ H而且deepseek不会加戏,chatgpt有时候会想当然的加上没有的文字,让句子看上去想那么回事。
$ H4 \0 @/ k- d我曾经修一个历史文章,chatgpt给我活活加了三段,真是文豪。6 C& j  w# j8 w6 I- b. \2 I

# p- x* J- q3 {1 |2 @) yAPI到目前为止,差强人意,不如网页版本修得干净。9 D# ?5 K' B4 ]6 e) D
* q' i1 J& b( c$ q; Q! c
deepseek可以同时开四个。: y: H3 P* r- ^2 S; \# o2 p

作者: 三力思    时间: 2025-4-17 12:26
本帖最后由 三力思 于 2025-4-17 12:27 编辑
7 s  b: d- W) V' n9 m1 }- w$ M1 D- l1 J* y9 k. ]
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL
作者: nanimarcus    时间: 2025-4-17 16:33
三力思 发表于 2025-4-17 12:269 I1 c9 v2 k) @* A! ^8 a
让Deepseek给你开发本地架构的抓取PDF软件,并负责上传,下载。 AI监工AI。 LOL ...
, u1 U7 ?1 D7 S/ x; l5 u' h
细说一下,听上去很不错,多谢。
作者: 三力思    时间: 2025-4-17 21:22
nanimarcus 发表于 2025-4-17 16:33
; M7 h/ O7 t9 Z细说一下,听上去很不错,多谢。
$ b1 C9 Z9 z; O' r4 }
直接问DS,“用C#,JAVA语言开发把PDF分成单页PDF并上传DS程序的源代码”
作者: nanimarcus    时间: 2025-4-17 21:55
本帖最后由 nanimarcus 于 2025-4-18 15:39 编辑 4 N: a" @0 P7 m- p0 k$ l
+ H" r! {; a9 j/ G) f% d0 K
已经搞定.
  m& i( Q3 ?# Q- e8 G$ S' v. r, r' Y4 x
首先 PDF 本身已经OCR了,Adobe Acrobat Pro中自带这个功能。
' G2 p4 x6 ~* L% q+ k" ]/ _) n& A5 s3 S' J5 l' U: Q
1, python + pypdf 按章节拆分小的PDF
5 o7 R% ~+ `3 n, j; ~/ g5 f/ T
/ t8 y: o- p% K- ]- f8 Q2, pdftotext -enc UTF-8 -nopgbrk -eol dos input outputfile: `7 U) A9 L  s1 f2 v5 g+ g8 Y( d

# T. U7 r% c- X$ Y得到text file
5 ~% H. [2 @, C) @* w
4 D. l3 Q0 M# t, d! V3, python 读取整个outputfile,丢给deepseek 矫正。2 H6 b4 i) J) h9 z2 _9 |( x
7 g5 W- x9 e7 o# e9 P$ c, x" `' i
模型是 deepseek-chat; X: w2 Z0 @) q4 v
  C, V3 @* O  v2 S. ?
max_tokens 最大是 8192,别的不用改。" C1 [! M- ?. f
/ M& T$ l7 Y; z' D4 d8 a
参考:
5 b- D( R1 b4 w7 y4 Mhttps://api-docs.deepseek.com/api/create-chat-completion# q. l4 ^( D7 N. Y! T5 o. ^( M

, k: `: r+ C# ^* D* o4,费用:
. ^4 Y4 [6 J2 Y0 ^+ C6 o' C9 J: h/ h9 z) }0 ?4 z$ c& u: b8 I
实测:2 ?8 D$ U9 P+ r3 t7 m/ l3 ?. O
5 q) P4 t* }, @8 w
296K 字母,用了 9 美分。
' R4 N* K& l( G/ V2 i; ^% @; P$ v" O8 A7 z8 k9 a
英文字母 到 token 用量大约 1/3
% v) v4 F; I/ x8 }. ]* ~" A2 K( A# A6 s  ~: v4 u/ B
tokens: total, 11782 completion,  3729 prompt,  8053 | s:  32899
" k9 \8 i) {, B
! P7 W9 H9 I, C5 i+ G32899 个字母花费 11782 tokens,包含输入输出的 tokens
- X+ r- K0 d  ~# ~6 E3 b, Y+ v7 P6 ?9 E  p; R
价钱,非常非常便宜了。5 P3 L! o) u! K
' N8 `# [, c. I
参考如下可以计算,懒得算了。
) W8 m; E5 i' l/ a  t
- ~: g* [( T9 {https://api-docs.deepseek.com/quick_start/pricing
# o( E, U. T/ {0 s/ R3 {2 i, F9 l
1M TOKENS INPUT (CACHE HIT)(4)                $0.07                $0.14, f0 o. G+ h/ Q# |! F
1M TOKENS INPUT (CACHE MISS)                  $0.27                $0.55& P; E8 K) @+ x4 h$ W3 K6 D3 T4 h3 m
1M TOKENS OUTPUT(5)                                              $1.10                $2.19
! h$ V8 x$ B: D
' x& _. C0 L; \+ y+ _: @( \+ \5, Balance
5 q: d" J; p1 P+ Y) \
7 F' M9 d. }6 o  V# C可以在程序里调用,知道每次运行结束后,balance还剩多少。  K( k2 e$ Q5 ]. d5 `& `8 k0 ^
参考:+ Y7 @8 s( Z5 H7 N6 j) Y  E4 W
https://api-docs.deepseek.com/api/get-user-balance
% w' A5 d  g. o7 f
5 |" N! v6 ?! ]* X6 f6, Models7 S: V, l% R/ I7 Q( [

0 b, G3 \! t6 a目前就两个
- I0 F3 }' E1 M' m* n" y# deepseek-chat5 O, y$ I$ E4 |% A! Z3 e: \+ e
# deepseek-reasoner/ j% K$ n9 K' Q' J0 A

# L) ], x8 y6 b$ z& g/ e- l参考:
; G- c1 ]* q+ K- y/ Ihttps://api-docs.deepseek.com/api/list-models
6 Z- k# d5 v, z$ s* S! d7 b- j- e, ^, a) g

# G4 \0 N) D" F& i+ ~: X7, 问题9 ?8 A( A0 v5 A9 Y( G. z, r3 K; g

/ S7 ?$ ^1 z/ U3 Q: R5 W; j# a3 mdeepseek 会将前后两段合成一段。
! s2 x9 m* L& W# L1 c% q  ?3 o特别是那种大量的对话的段落,deepseek会给你合成一大段。5 D9 o* z- N% G" t- Y
  x$ M  g# s2 N) X1 P& c
8, 钱说了算。. X/ q) l$ U; L5 l/ a+ ^

: c' A& @2 w* W6 T' S: v  j9 R3 adeepseek 如果是免费的网页版,有时候会出现超出范围的提示,不干了。8 M. ^) T( _5 |1 I/ l5 S
但是API就不会出现这种情况,毕竟我们给钱了。+ E: g1 B, r; Z4 `
chatgpt也是这样的。0 G) g2 h0 Y: w$ S0 U$ v/ j* m
1 D. l- f3 T/ |* N& |

! V' E2 p9 a1 I% r9 d




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