零基础入门:GLM-OCR在Ubuntu 20.04系统上的详细部署教程
零基础入门GLM-OCR在Ubuntu 20.04系统上的详细部署教程你是不是也遇到过这种情况手头有一堆图片里面全是文字需要手动一个个敲进电脑费时费力还容易出错。或者想给自己的项目加个自动识别图片文字的功能却不知道从何下手今天我就带你从零开始在Ubuntu 20.04系统上把GLM-OCR这个强大的文字识别工具给“装”起来。整个过程就像搭积木跟着步骤走就算你之前没怎么用过Linux也能搞定。我们不用去研究复杂的算法原理目标就一个让服务跑起来能识别图片里的字。我会把每一步要输入的命令都列出来并解释清楚这行命令是干嘛的帮你避开所有我当初踩过的坑。准备好了吗咱们开始吧。1. 动手前的准备工作在开始安装任何软件之前先把咱们的“工作台”——也就是Ubuntu系统——收拾利索这是保证后续步骤顺利的关键。1.1 更新系统软件包打开你的终端快捷键CtrlAltT咱们输入的第一条命令是更新软件源列表。你可以把它理解为去超市购物前先刷新一下商品目录确保知道最新、最全的货品在哪。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 [archamd64] 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 imagetest.jpg http://localhost:8000/ocr解释一下-X POST表示这是一个POST请求。-F imagetest.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. 可能遇到的问题和小技巧第一次部署难免会遇到点小波折。这里我列几个常见的情况和解决办法。问题1docker pull或docker run时提示权限错误Permission denied。检查你是否在执行usermod命令后没有重新打开终端请务必关闭当前终端新开一个再试。检查你也可以临时用sudo前缀执行命令比如sudo docker ps但这只是临时解决方案最好还是让用户加入docker组。问题2运行docker ps看不到容器或者状态是Exited。检查用docker logs glm-ocr查看容器的日志输出里面通常会有具体的错误信息比如端口冲突、缺少某个依赖等。这是排查问题最直接的方法。问题3curl测试时连接被拒绝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星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。