【全栈开发】—— Paddle OCR 文字识别 + deepseek接入(基于python 最新!!!)
所有源码都在文章中,大家不要私信来要源码,当然,评论区欢迎交流技术
目录
Paddle OCR
配置环境
示例
deepseek接入
环境配置
api 调用代码
sliconflow
Paddle OCR
配置环境
清华源下载 paddlepaddle:
pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple
清华源下载 paddlehub:
pip install paddlehub -i https://pypi.tuna.tsinghua.edu.cn/simple
飞桨官网安装:
开始使用_飞桨-源于产业实践的开源深度学习平台
根据自己电脑的配置进行选择,选择 GPU 或者 CPU,GPU 要选择 CUDA 版本,可在cmd输入指令查看:
nvcc --version
release 后面的就是 CUDA 版本,还未下载 CUDA 的可以看我之前配置 YOLO8GPU 环境,有CUDA 、Cudnn教程:
CV -- 基于GPU版CUDA环境+Pycharm YOLOv8 目标检测_python+yolo+opencv+cuda-CSDN博客
官网复制适合自己的指令,在控制台下载(我这只是示例):
python -m pip install paddlepaddle-gpu==3.0.0rc1 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
下载完后再下载 paddleocr
pip install paddleocr
示例
配置完成,下面进行一个简单示例(官方示例):
from paddleocr import PaddleOCR
import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'#我的电脑因为报某些错误需要加上这个
# Paddleocr目前支持的多语言语种可以通过修改lang参数进行切换
# 例如`ch`, `en`, `fr`, `german`, `korean`, `japan`
ocr = PaddleOCR(use_angle_cls=True, lang="ch",use_gpu = True) # need to run only once to download and load model into memory use_gpu 开启gpu(显卡)进行推理
img_path = 'F:\全栈\Django\YOLO_django\\app01\static\img\\2.jpg'
result = ocr.ocr(img_path, cls=True)
for idx in range(len(result)):res = result[idx]for line in res:print(line)
原图片是这样的:
运行代码,识别文字:
识别是一行一行来的,第一个数据是该文字在图片的位置信息是,第二个是文字识别的内容,第三个则是置信度。
可以看到,由于我识别的图片拍的比较清晰,所有文字的识别置信度都在0.998之上,大家也可以放点不清晰的看看效果咋样。
deepseek接入
环境配置
先去 deepseek 官网注册,申请 api:
DeepSeek
这样获取的 api 是没有免费额度的:
但我们也试试代码。
api 调用代码
安装 openai
pip install openai
运行代码:
from openai import OpenAIclient = OpenAI(api_key='你的api',base_url="https://api.deepseek.com")
response = client.chat.completions.create(model="deepseek-chat",messages=[{"role":"system","content":"你好呀"},{"role":"user","content":"很好"}],stream=False,
)
print(response.choices[0].message.content)
这样是会报错的:
因为自己 deepseek 官网没有 token 请求次数,大部分小伙伴又不想花钱,API就没办法调用。当然,大大家有能力也可以自己去充值,充值了就有 token 使用权力,就可以正常调用 api。
sliconflow
没超能力就无法调用 deepseek 了吗?当然不是,大家也可注册获取使用Deepseek模型的平台 sliconflow:
去这个网站注册,注册即送两千万 token,白飘党的福利:Models
新建密钥:
使用硅基平台的 api 时,在调用时,需要修改部分代码,修改如下:
base_url="http://api.siliconflow.cn/v1"model="deepseek-ai/DeepSeek-V3"
完整代码如下:
from openai import OpenAIclient = OpenAI(api_key='你的api密钥',base_url="http://api.siliconflow.cn/v1")
response = client.chat.completions.create(model="deepseek-ai/DeepSeek-V3",messages=[{"role":"system","content":"我是DeepSeek Chat,由深度求索公司(DeepSeek)创造的人工智能助手!"},{"role":"user","content":"怎么去重庆"}],stream=False,
)
print(response.choices[0].message.content)
message 中是上下文,model 可以根据 message 生成结果,role 是发送消息的对象,content 是内容,这里 role 有系统和用户,系统就是 model 上次的回答,用户则是你自己 。当然 message 中也可以不止放这两行上下文,能放很多。
运行代码:
可以看到是能给出推理的,这里也欢迎大家去重庆旅游哈哈(本人重庆的)。
下文更新,在Django中使用图像识别、deepseek,尽情交互!!!