零基础入门:GLM-OCR在Ubuntu 20.04系统上的详细部署教程
零基础入门:GLM-OCR在Ubuntu 20.04系统上的详细部署教程
你是不是也遇到过这种情况:手头有一堆图片,里面全是文字,需要手动一个个敲进电脑,费时费力还容易出错。或者,想给自己的项目加个自动识别图片文字的功能,却不知道从何下手?
今天,我就带你从零开始,在Ubuntu 20.04系统上,把GLM-OCR这个强大的文字识别工具给“装”起来。整个过程就像搭积木,跟着步骤走,就算你之前没怎么用过Linux,也能搞定。我们不用去研究复杂的算法原理,目标就一个:让服务跑起来,能识别图片里的字。
我会把每一步要输入的命令都列出来,并解释清楚这行命令是干嘛的,帮你避开所有我当初踩过的坑。准备好了吗?咱们开始吧。
1. 动手前的准备工作
在开始安装任何软件之前,先把咱们的“工作台”——也就是Ubuntu系统——收拾利索,这是保证后续步骤顺利的关键。
1.1 更新系统软件包
打开你的终端(快捷键Ctrl+Alt+T),咱们输入的第一条命令是更新软件源列表。你可以把它理解为去超市购物前,先刷新一下商品目录,确保知道最新、最全的货品在哪。
sudo apt update输入这行命令后,系统可能会让你输入密码。注意,输入密码时屏幕上不会有任何显示(连星号*都没有),这是Linux终端的安全设计,你正常输入后按回车就行。
接下来,我们把系统里已经安装的软件都升级到最新版本:
sudo apt upgrade -y这里的-y参数是个“偷懒”选项,意思是对于升级过程中所有“是否继续?”的询问,都自动回答“是”。整个过程可能需要几分钟,取决于你的网络速度和需要更新的软件数量。
1.2 安装必要的依赖工具
GLM-OCR通常以Docker镜像的方式提供,这样能保证在任何系统上运行的环境都是一致的。所以,我们需要先安装Docker。
首先,安装一些让apt(软件包管理器)可以通过HTTPS下载软件的工具:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common然后,添加Docker官方的软件源密钥,这就像取得一个可信仓库的进门许可:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -接着,将Docker的软件仓库地址添加到系统的源列表里:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"现在,我们再次更新软件源列表,这次列表里就包含Docker的仓库了:
sudo apt update最后,安装Docker引擎:
sudo apt install -y docker-ce docker-ce-cli containerd.io安装完成后,为了让当前用户不用每次都输入sudo来执行docker命令(更方便),我们把当前用户加入到docker用户组:
sudo usermod -aG docker $USER重要提示:执行完上面这行命令后,你需要完全退出当前终端,并重新打开一个新的终端窗口,这个分组变更才会生效。你可以直接关掉终端再开一个,或者输入exit命令退出登录。
在新的终端里,运行一个简单的测试,看看Docker是否安装成功:
docker --version如果看到类似Docker version 20.10.12, build e91ed57的输出,恭喜你,Docker安装好了!
2. 获取并运行GLM-OCR镜像
环境准备好了,现在就去把GLM-OCR这个“核心部件”请过来。
2.1 拉取GLM-OCR镜像
这里假设你已经从相关的镜像平台(例如CSDN星图镜像广场)获得了GLM-OCR镜像的具体名称。拉取镜像就像从云端下载一个已经配置好的、包含所有运行环境的软件包。
docker pull [这里替换为你的GLM-OCR镜像名]例如,镜像名可能是registry.cn-hangzhou.aliyuncs.com/your_namespace/glm-ocr:latest。你需要将其替换成你实际要使用的镜像地址。
这个下载过程的时间取决于镜像大小和你的网速,耐心等待即可。完成后,可以用下面的命令查看本地已有的镜像:
docker images你应该能在列表里看到刚刚下载的GLM-OCR镜像。
2.2 启动OCR服务容器
下载好的镜像只是一个静态的模板。我们需要根据这个模板,创建一个正在运行的“实例”,也就是容器。
docker run -d --name glm-ocr -p 8000:8000 [你的GLM-OCR镜像名]我来拆解一下这行命令:
docker run:命令Docker运行一个容器。-d:让容器在“后台”运行,这样终端就不会被占用,你可以继续做其他事情。--name glm-ocr:给这个容器起个名字叫“glm-ocr”,方便我们后续管理。-p 8000:8000:这是端口映射,非常关键。它把容器内部的8000端口,“映射”到你Ubuntu电脑的8000端口上。这样,你通过访问http://你的UbuntuIP:8000,就能访问到容器里的服务了。- 最后跟上你的镜像名。
运行后,可以用下面的命令查看容器是否在正常运行:
docker ps如果看到状态(STATUS)是Up,就说明服务已经在后台跑起来了。
3. 测试你的OCR服务
服务跑起来了,但它到底能不能用,识别得准不准?我们来亲手测试一下。
3.1 准备一张测试图片
首先,我们得有一张带文字的图片。你可以在系统里随便找一张,或者自己用截图工具截一段文字。为了测试方便,我建议在桌面创建一个专门的测试文件夹:
mkdir ~/Desktop/ocr_test cd ~/Desktop/ocr_test然后,把你的测试图片(比如叫test.jpg)放到这个文件夹里。或者,我们用一个更简单的方法,直接让命令行下载一张示例图片(这里以一张简单的英文示例图链接为例,实际操作时请确保你有权使用的图片链接):
# 示例命令,请替换为实际可用的图片URL # wget -O test.jpg https://example.com/sample-text-image.jpg3.2 发送请求进行识别
GLM-OCR服务通常会提供一个HTTP API接口。最常见的用法是,我们向这个接口发送一张图片,它返回识别出的文字。
我们使用curl这个命令行工具来发送请求。假设我们的服务运行在本机(localhost),端口是8000,识别接口是/ocr。
curl -X POST -F "image=@test.jpg" http://localhost:8000/ocr解释一下:
-X POST:表示这是一个POST请求。-F "image=@test.jpg":表示以表单形式上传文件,字段名是image,文件是当前目录下的test.jpg。那个@符号很重要,意思是“这是文件”。http://localhost:8000/ocr:这是我们GLM-OCR服务的地址和接口路径。
请注意:实际的接口路径(比如是/ocr,还是/v1/ocr)需要根据你拉取的GLM-OCR镜像的具体文档来确定。如果上面命令返回错误,你可能需要检查一下接口地址是否正确。
3.3 理解返回结果
如果一切顺利,你会看到终端里打印出一段JSON格式的文字,大概长这样:
{ "code": 0, "msg": "success", "data": { "text": "这是从图片中识别出来的文字内容...", "confidence": 0.98 } }code为0通常表示成功。msg是状态信息。data.text里面就是OCR识别出的核心结果——文字内容。confidence可能表示识别置信度,值越高代表模型越有信心。
看到这个,就大功告成了!你的GLM-OCR服务已经部署成功,并且可以正常工作了。
4. 可能遇到的问题和小技巧
第一次部署,难免会遇到点小波折。这里我列几个常见的情况和解决办法。
问题1:docker pull或docker run时提示权限错误(Permission denied)。
- 检查:你是否在执行
usermod命令后,没有重新打开终端?请务必关闭当前终端,新开一个再试。 - 检查:你也可以临时用
sudo前缀执行命令,比如sudo docker ps,但这只是临时解决方案,最好还是让用户加入docker组。
问题2:运行docker ps看不到容器,或者状态是Exited。
- 检查:用
docker logs glm-ocr查看容器的日志输出,里面通常会有具体的错误信息,比如端口冲突、缺少某个依赖等。这是排查问题最直接的方法。
问题3:curl测试时连接被拒绝(Connection refused)。
- 检查:确认容器是否真的在运行 (
docker ps)。 - 检查:确认你映射的端口是否正确。容器内部端口和主机端口都是8000吗?服务是否真的监听在8000端口?有些镜像可能使用其他端口如8080,你需要根据镜像说明调整
-p参数,例如-p 8000:8080。 - 检查:防火墙是否屏蔽了8000端口?在Ubuntu上可以暂时关闭防火墙测试:
sudo ufw disable(测试完记得开启:sudo ufw enable)。
问题4:如何停止、重启或删除这个服务?
- 停止容器:
docker stop glm-ocr - 启动已停止的容器:
docker start glm-ocr - 重启容器:
docker restart glm-ocr - 删除容器(容器需先停止):
docker rm glm-ocr - 删除镜像:
docker rmi [你的镜像名]
小技巧:让服务开机自启如果你希望每次Ubuntu系统重启后,这个OCR服务都能自动运行,可以在创建容器时加上--restart unless-stopped参数:
docker run -d --name glm-ocr --restart unless-stopped -p 8000:8000 [你的GLM-OCR镜像名]5. 总结
走完这一遍,你会发现,在Ubuntu上部署一个像GLM-OCR这样的AI服务,其实并没有想象中那么复杂。核心步骤就是三板斧:准备好系统环境(装Docker) -> 拉取现成的镜像 -> 运行并映射端口。Docker把最麻烦的环境依赖问题都打包解决了,我们要做的就是学会怎么使用它。
现在你的本地已经有了一个随时可用的文字识别服务。接下来你可以做什么呢?比如,写一个简单的Python脚本,批量处理一个文件夹里的所有图片;或者把它集成到你的网站后台,让用户上传图片就能提取文字。从“能用”到“好用”,中间还有很大的探索空间。
部署过程中最大的经验就是,多看日志。无论是Docker容器的日志,还是服务返回的错误信息,都能给你最直接的线索。别怕出错,每一个错误提示都是通往成功的路标。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
