继开 | 博客

热爱生活,努力学习,实现自己的价值


  • 短诗的序

  • 迷途自渡

  • 寒星三两

  • 林深见鹿

  • 记昨日书

  • 顾探往昔

Docker Docker快速搭建ollama后台运行模型

发表于 2025-03-15
字数统计: 599 字 | 阅读时长 ≈ 2 min

ollama是什么

开源框架
‌Ollama是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计‌。
其主要特点和功能包括简化部署、轻量级与可扩展性、提供简洁的API支持、
包含预构建模型库、支持从多种平台导入模型、跨平台支持以及命令行工具和环境变量配置。‌

Ollama通过极简的命令行操作简化了模型管理流程,
支持离线运行、多模型并行、私有化部署等场景。
它还提供了一系列预先训练好的大型语言模型,
用户可以直接选用这些模型应用于自己的应用程序,
无需从头训练或自行寻找模型源。

此外,Ollama支持多种大型语言模型,如Llama 3、Mistral、Gemma 2等,
并且提供了详细的文档和社区支持,
使得用户能够轻松地在本地环境中高效利用大型语言模型进行自然语言处理任务。

官方网站: https://ollama.com/
官方github: https://github.com/ollama/ollama

注意访问需要科学上网 ,请自行解决

也可尝试使用手机流量开热点链接,此方法不保证完全可行

Docker安装 ollama

Ollama 支持 Docker 部署,可以使用 Docker 在后台运行。

1. 拉取镜像

1
docker pull ollama/ollama:latest

2. 运行容器

1
docker run -d -v /data/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

-d:在后台运行容器。
-v:挂载,宿主机挂载目录:容器内部挂载目录。
-p: 端口映射,宿主机端口:容器内需要映射端口,ollama对外提供服务端口为11434
–name:为容器指定名称。 

3.运行模型

1
docker exec -it ollama ollama run qwen2.5:1.5b

其中,qwen2.5:1.5b可在替换成需要的模型名称模型可在ollama

官网查找,https://ollama.com/library

关闭交互窗口,通过接口仍可以访问,可以集成到其他需要的系统中

4. 查看容器日志

1
docker logs ollama

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

ComfyUI ai一键画图工具ComfyUI 安装

发表于 2025-03-09
字数统计: 825 字 | 阅读时长 ≈ 3 min

‌ComfyUI是什么

‌ComfyUI‌是一个基于Stable Diffusion的节点式操作界面,主要用于图像生成和AI绘图。
它将Stable Diffusion的流程拆分为各个节点,用户可以通过自定义节点、
拖拽连线来实现精准的工作流定制与可靠复现,从而完成更复杂的、自由度更高的图像生成工作。

ComfyUI的核心特点包括:
‌自由度和拓展性高‌:用户可以通过自定义节点和拖拽连线来构建复杂的工作流程,实现高度定制化的AI图像生成‌
‌高效运行‌:相比传统的WebUI,ComfyUI更加轻量化,资源占用少,渲染速度更快‌
‌工作流程保存和调用便捷‌:用户可以将工作流保存为Json文件,也可以将生成的图片拖到操作界面,自动加载相应的工作流程‌
‌部分重新执行‌:在修改工作流程后,只有受影响的部分会重新执行,大大节省时间‌

ComfyUI支持丰富的插件生态,用户可以通过安装插件来扩展其功能。

官方网站: https://www.comfy.org/
官方github: https://github.com/comfyanonymous/ComfyUI

注意访问需要科学上网 ,请自行解决

也可尝试使用手机流量开热点链接,此方法不保证完全可行

‌ComfyUI安装

以windows系统为例,推荐 方法一

方法一,下载免安装包

  1. 在gitbub 下载界面, https://github.com/comfyanonymous/ComfyUI/releases
    选择,ComfyUI_windows_portable_nvidia.7z 下载

下载后解压
程序所有文件在 解压后的
ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable
文件下

2.下载模型
下载模型, v1-5-pruned-emaonly.safetensors
下载地址:
https://huggingface.co/genai-archive/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.fp16.safetensors?download=true

将 v1-5-pruned-emaonly.safetensors 模型保存到ComfyUI/models/checkpoints/

3 运行 ComfyUI: Nvidia GPU显卡用户运行 run_nvidia_gpu.bat;反之运行 run_cpu.bat

运行之后,浏览器访问:http://127.0.0.1:8188/

就可在界面使用

方法二,下载安装包程序安装

在下载界面,直接下载安装即可
https://www.comfy.org/download

安装后,有应用图表点击运行

提示下载模型,按照提示下载即可

‌ComfyUI 使用

在 http://127.0.0.1:8188/界面 ,若安装用户则直接打开程序,以下步骤一致

在界面找到checkpoint加载器(简易),点击checkpoint名称,的箭头,切换我们下载的v1-5-pruned-emaonly.safetensors
模型,
然后点击下面的执行,则按照实例程序就可以画一个图

图像生成的速度,取决于电脑的GPU性能,若没有GPU则取决于cpu的性能,

若想改变画图的内容,则修改上面的clip文本编码,注意使用英文,可以将自己的描述,通过翻译软件翻译成英文,放到clip文本编码器中运行
若想改变大小,则修改空Latent图像中的,高度宽度,以及可生成图像的数量

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

Ollama Ollama 安装下载使用模型集成到Dify

发表于 2025-03-02
字数统计: 764 字 | 阅读时长 ≈ 3 min

ollama是什么

开源框架
‌Ollama是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计‌。
其主要特点和功能包括简化部署、轻量级与可扩展性、提供简洁的API支持、
包含预构建模型库、支持从多种平台导入模型、跨平台支持以及命令行工具和环境变量配置。‌

Ollama通过极简的命令行操作简化了模型管理流程,
支持离线运行、多模型并行、私有化部署等场景。
它还提供了一系列预先训练好的大型语言模型,
用户可以直接选用这些模型应用于自己的应用程序,
无需从头训练或自行寻找模型源。

此外,Ollama支持多种大型语言模型,如Llama 3、Mistral、Gemma 2等,
并且提供了详细的文档和社区支持,
使得用户能够轻松地在本地环境中高效利用大型语言模型进行自然语言处理任务。

官方网站: https://ollama.com/
官方github: https://github.com/ollama/ollama

注意访问需要科学上网 ,请自行解决

也可尝试使用手机流量开热点链接,此方法不保证完全可行

ollama安装

以windows系统为例

在下载界面,直接下载安装即可
https://ollama.com/download

安装后,有应用图表点击运行即可

运行之后,浏览器访问:http://ip:11434/

提示Ollama is running

ollama下载模型

以千问1.5b 为例
在模型界面,找到qwen2.5 点进去 切换qwen2.5:1.5b

https://ollama.com/library/qwen2.5:1.5b

给出的模型下载代码,直接放到windows 的cmd 命令行运行

ollama run qwen2.5:1.5b

第一次下载比较慢,后续可直接运行

ollama 配置

Ollama默认只监听本地请求(localhost)。
为了开放局域网访问,需要设置环境变量OLLAMA_HOST为0.0.0.0,使其监听所有网络接口。
打开环境变量设置:
右键点击“此电脑”或“计算机”,选择“属性”。
在左侧点击“高级系统设置”。
在弹出的窗口中,点击“环境变量”。
添加环境变量:
在“系统变量”部分,点击“新建”。
在“变量名”输入框中输入OLLAMA_HOST。
在“变量值”输入框中输入0.0.0.0,然后点击“确定”。
重启Ollama服务:
关闭并重新启动Ollama服务,以使环境变量生效。

dify 配置

注意dify 的模型选的ollama ,同时名称必须与ollama run qwen2.5:1.5b 中的qwen2.5:1.5b一致,若不一致会报授权问题

地址填写http://ip:11434

这样就可以在dify 中调用qwen 模型了

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

Docker Docker-compose快速搭建dify大语言模型LLM应用开发平台

发表于 2025-03-01
字数统计: 1,569 字 | 阅读时长 ≈ 7 min

dify是什么

Dify
是一个开源的大语言模型(LLM)应用开发平台,旨在简化和加速生成式AI应用的创建和部署。Dify结合了后端即服务(Backend as Service, BaaS)和LLMOps的理念,为开发者提供了一个用户友好的界面和一系列强大的工具,使他们能够快速搭建生产级的AI应用‌。

主要功能和特点
低代码/无代码开发:Dify通过可视化的方式允许开发者轻松定义Prompt、上下文和插件等,无需深入底层技术细节。
模块化设计:Dify采用模块化的设计,每个模块都有清晰的功能和接口,开发者可以根据需求选择性地使用这些模块来构建自己的AI应用。
丰富的功能组件:平台提供了包括AI工作流、RAG管道、Agent、模型管理等丰富功能组件,帮助开发者从原型到生产的全过程。
支持多种大语言模型:Dify已支持主流的模型,如Claude3、OpenAI等,开发者能够根据自己的需求选择最适合的模型来构建AI应用。
应用场景
‌聊天助手:基于LLM的对话助手,能够与用户进行自然语言交互,理解用户的问题、请求或指令,并给出相应的回答或执行相应的操作。
文本生成:专注于各种文本生成任务,如撰写故事、新闻报道、文案、诗歌等创意写作,以及文本分类、翻译等任务‌。
智能代理:具备对话能力和任务分解、推理、工具调用等高级能力,能够理解复杂的指令,将任务分解为多个子任务,并调用相应的工具或API来完成这些子任务。
工作流程:根据用户定义的流程编排,灵活地组织和控制LLM的工作流程。

官方网站: https://cloud.dify.ai/apps
官方文档:https://docs.dify.ai/zh-hans
官方github: https://github.com/langgenius/dify
官方体验:https://cloud.dify.ai/apps

注意访问需要科学上网 ,请自行解决

也可尝试使用手机流量开热点链接,此方法不保证完全可行

dify搭建

安装 Dify 之前, 请确保你的机器已满足最低安装要求:

CPU >= 2 Core

RAM >= 4 GiB

克隆 Dify 代码仓库
克隆 Dify 源代码至本地环境。

假设当前最新版本为 0.15.3

1
git clone https://github.com/langgenius/dify.git --branch 0.15.3

启动 Dify
进入 Dify 源代码的 Docker 目录

1
cd dify/docker

复制环境配置文件

1
cp .env.example .env

启动 Docker 容器

根据你系统上的 Docker Compose 版本,选择合适的命令来启动容器。你可以通过 $ docker compose version 命令检查版本,详细说明请参考 Docker 官方文档:

如果版本是 Docker Compose V2,使用以下命令:

1
docker compose up -d

如果版本是 Docker Compose V1,使用以下命令:

1
docker-compose up -d

运行命令后,你应该会看到类似以下的输出,显示所有容器的状态和端口映射:

1
2
3
4
5
6
7
8
9
10
11
12
[+] Running 11/11
✔ Network docker_ssrf_proxy_network Created 0.1s
✔ Network docker_default Created 0.0s
✔ Container docker-redis-1 Started 2.4s
✔ Container docker-ssrf_proxy-1 Started 2.8s
✔ Container docker-sandbox-1 Started 2.7s
✔ Container docker-web-1 Started 2.7s
✔ Container docker-weaviate-1 Started 2.4s
✔ Container docker-db-1 Started 2.7s
✔ Container docker-api-1 Started 6.5s
✔ Container docker-worker-1 Started 6.4s
✔ Container docker-nginx-1 Started 7.1s

最后检查是否所有容器都正常运行:

1
docker compose ps

在这个输出中,你应该可以看到包括 3 个业务服务 api / worker / web,以及 6 个基础组件 weaviate / db / redis / nginx / ssrf_proxy / sandbox 。

1
2
3
4
5
6
7
8
9
10
NAME                  IMAGE                              COMMAND                   SERVICE      CREATED              STATUS                        PORTS
docker-api-1 langgenius/dify-api:0.6.13 "/bin/bash /entrypoi…" api About a minute ago Up About a minute 5001/tcp
docker-db-1 postgres:15-alpine "docker-entrypoint.s…" db About a minute ago Up About a minute (healthy) 5432/tcp
docker-nginx-1 nginx:latest "sh -c 'cp /docker-e…" nginx About a minute ago Up About a minute 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp
docker-redis-1 redis:6-alpine "docker-entrypoint.s…" redis About a minute ago Up About a minute (healthy) 6379/tcp
docker-sandbox-1 langgenius/dify-sandbox:0.2.1 "/main" sandbox About a minute ago Up About a minute
docker-ssrf_proxy-1 ubuntu/squid:latest "sh -c 'cp /docker-e…" ssrf_proxy About a minute ago Up About a minute 3128/tcp
docker-weaviate-1 semitechnologies/weaviate:1.19.0 "/bin/weaviate --hos…" weaviate About a minute ago Up About a minute
docker-web-1 langgenius/dify-web:0.6.13 "/bin/sh ./entrypoin…" web About a minute ago Up About a minute 3000/tcp
docker-worker-1 langgenius/dify-api:0.6.13 "/bin/bash /entrypoi…" worker About a minute ago Up About a minute 5001/tcp

通过这些步骤,你应该可以成功在本地安装 Dify。

更新 Dify
进入 dify 源代码的 docker 目录,按顺序执行以下命令:

1
2
3
4
5
cd dify/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d

Dify 使用

浏览器访问:http://ip:80/

创建账号进行登录,然后,可进行使用
注意第一次创建的管理员账号密码不要忘记
忘记之后,按照官网办法重置密码并不成功

需要删除所有容器,删除docker 目录下的volumes/ 然后重启
相当于重新安装

问题解决

出现问题

1
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

解决办法

https://blog.csdn.net/wufaqidong1/article/details/144476399

1.备份原来的配置文件

1
cp /etc/docker/daemon.json{,.bak}

2.删除或修改daemon.json 文件, 并添加如下配置

1
rm -rf /etc/docker/daemon.json

1
sudo tee /etc/docker/daemon.json<<-'EOF' { "registry-mirrors":[ "https://docker.1ms.run", "https://doublezonline.cloud", "https://dislabaiot.xyz", "https://docker.fxxk.dedyn.io", "https://dockerpull.org", "https://docker.unsee.tech", "https://hub.rat.dev", "https://docker.1panel.live", "https://docker.nastool.de", "https://docker.zhai.cm", "https://docker.5z5f.com", "https://a.ussh.net", "https://docker.udayun.com", "https://hub.geekery.cn" ,"https://docker.1ms.run","https://docker.1panel.live/"] } EOF

重启docker

1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

Linux Du 命令记录

发表于 2024-07-20
字数统计: 593 字 | 阅读时长 ≈ 2 min

简介

du,是一个linux 命令,用于统计目录(或文件)所占磁盘空间大小
du,是show disk usage 的简称

常用的参数

-a或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或–total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。
-D或–dereference-args 显示指定符号连接的源文件大小。
-h或–human-readable 以K,M,G为单位,提高信息的可读性。
-H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。
-k或–kilobytes 以1024 bytes为单位。
-l或–count-links 重复计算硬件连接的文件。
-L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
-m或–megabytes 以1MB为单位。
-s或–summarize 仅显示总计,即当前目录的大小。
-S或–separate-dirs 显示每个目录的大小时,并不含其子目录的大小。
-x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。
–exclude=<目录或文件> 略过指定的目录或文件。
–max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
–help 显示帮助。
–version 显示版本信息。
-sh *显示当前目录内文件夹及文件的大小。

常用命令记录

显示当前目录内文件夹及文件的大小

1
du -sh *

通过以1024字节为单位显示一个目录树及其每个子树的磁盘使用情况

1
du -k /home

以MB为单位显示一个目录树及其每个子树的磁盘使用情况

1
du -m /home

查看当前目录下所有目录以及子目录的大小

1
du -h .

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

部署的一些命令记录

发表于 2024-05-04
字数统计: 565 字 | 阅读时长 ≈ 3 min

设置定时任务每30分钟重启一次

crontab -e

若出现选择框,选择编辑器,选择2 vim

将下面这段代码放到最后,进行重启服务器

*/30 * * * * /usr/bin/kubectl rollout restart deploy/smartvoice-llm-worker-taichu -n robotgpt >> /tmp/restart.log

执行日志在 /tmp/restart.log 查看

在线安装Anaconda

wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh
bash Anaconda3-2022.10-Linux-x86_64.sh
conda create -n triton_client python=3.10
conda activate triton_client

容器挂在文件并打开命令行,临时安装和使用

nerdctl run -it –rm –entrypoint=”” -v /root/offline_dependency_library:/offline_dependency_library jfrog.tecorigin.net/tecotp-docker/release/ubuntu22.04/x86_64/tecoinferencelm:1.0.0 bash

nerdctl run -it –rm –entrypoint=”” -v /root/perf_debug/:/perf_debug jfrog.tecorigin.net/tecotp-docker/release/ubuntu22.04/x86_64/tecoinferencelm:1.0.0 bash

nerdctl run -it –rm –entrypoint=”” -v /root/perf_debug/:/perf_debug -v /root/offline_dependency_library:/offline_dependency_library jfrog.tecorigin.net/tecotp-docker/release/ubuntu22.04/x86_64/tecoinferencelm:1.0.0 bash

测试联通性
python triton_request_stream.py -u 172.25.5.10:31611 -i grpc -rn 1

镜像压缩包加载并使用

加载镜像

nerdctl -n k8s.io load -i smartvoice-llm-worker-taichu.v0.1.1.jar

查看镜像

nerdctl -n k8s.io images |grep smartvoice

查看pod

kubectl get pod -A|grep smartvoice

查看pod配置信息

kubectl describe pod -n robot gpt smartvoice-llm-worker-taichu-594f9cc76b-7bpsl

修改pod配置信息(修改pod服务的配置信息)

kubectl -n robotgpt edit deploy smartvoice-llm-worker-taichu

对镜像重新打标签

nerdctl -n k8s.io tag clcee07986f3 harbor.cloudminds.com/smartvoice/smartvoice-llm-worker-taichu:v0.1.1

查看pod日志信息

kubectl -n robotgpt logs -f smartvoice-llm-worker-taichu-5b4989d458-bsxgr

检查当前卷组的可用空间:

sudo lvdisplay
扩展卷组(如果物理卷(VG)有足够的空间):

sudo vgextend ubuntu-vg /dev/sdx
这里/dev/sdx是要添加到卷组的物理卷。

扩展逻辑卷:

sudo lvextend -l +100%FREE /dev/mapper/ubuntu–vg-ubuntu–lv /dev/sda3
这里/dev/sdx是要用于扩展逻辑卷的空闲空间,+100%FREE指扩展到最大可用空间。

扩展文件系统:

如果是ext4文件系统,使用:

sudo resize2fs /dev/mapper/ubuntu–vg-ubuntu–lv
如果是xfs文件系统,使用:

sudo xfs_growfs /dev/mapper/ubuntu–vg-ubuntu–lv

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

Sealos快速离线安装kubernetes

发表于 2024-05-03
字数统计: 1,735 字 | 阅读时长 ≈ 8 min

简介

以下来自官方文档

什么是sealos?

Sealos 是一个基于 Kubernetes 内核的云操作系统发行版。
它采用云原生方式,摒弃传统的云计算架构,转向以 Kubernetes 为云内核的新架构。
这使得企业可以像使用个人计算机一样毫不费力地使用云。

用户只需单击一个按钮即可在 Kubernetes 上安装任何高可用性分布式应用程序,类似于使用个人计算机。
它实际上不需要专业交付或运营成本。
同时,利用独特的集群成像功能,用户可以将任何分布式应用打包到 OCI 映像中,自由组合各种分布式应用,并轻松定制所需的云。
强大而灵活的应用商店功能,可以满足各种用户的多样化需求。

Sealos的功能

应用程序管理:在应用商店中轻松管理和快速发布可公开访问的分布式应用程序。
数据库管理:秒级创建高可用数据库,支持MySQL、PostgreSQL、MongoDB和Redis。
云通用性:在公有云和私有云中同样有效,支持传统应用程序向云的无缝过渡。

Sealos的优点

高效且经济:只需为您使用的容器付费;自动扩展可防止资源浪费并大幅降低成本。
高通用性和易用性:专注于您的核心业务活动,而不必担心系统复杂性;涉及的学习成本可以忽略不计。
敏捷性和安全性:独特的多租户共享模型确保了有效的资源分割和协作,所有这些都在安全的框架下进行。
下面开始一步步的小白式部署吧!

环境准备

有网络的环境下准备安装包

下载和安装 sealos

下载命令行工具 jp

1
apt install jq

查看当前的sealos命令行工具版本

1
curl --silent "https://api.github.com/repos/labring/sealos/releases" | jq -r '.[].tag_name'

选其中的稳定版

1
2
3
4
5
6
7
8
9
10
v5.0.0-beta5
v5.0.0-beta4
v4.4.0-beta3
v5.0.0-beta3
v5.0.0-beta2
v5.0.0-beta1
v4.3.7
v5.0.0-alpha2
v4.3.7-rc1
v4.3.6

用最新的稳定版4.3.7

下载

1
wget https://github.com/labring/sealos/releases/download/v4.3.7/sealos_4.3.7_linux_amd64.tar.gz

安装

1
tar zxvf sealos_4.3.7_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin

查看一下是否能使用,查看sealos镜像

1
2
root:/data/sealos# sealos images
REPOSITORY TAG IMAGE ID CREATED SIZE
k8s集群安装与打离线包

拉取

1
2
3
sealos pull registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.28.0  \
registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 \
registry.cn-shanghai.aliyuncs.com/labring/calico:v3.25.0

查看拉取的镜像

1
2
3
4
5
root:/data/sealos# sealos images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.cn-shanghai.aliyuncs.com/labring/kubernetes v1.28.0 6ab50f9b0559 2 weeks ago 641 MB
registry.cn-shanghai.aliyuncs.com/labring/calico v3.25.0 89e401f61ae6 16 months ago 365 MB
registry.cn-shanghai.aliyuncs.com/labring/helm v3.9.4 3376f6822067 19 months ago 46.4 MB

导出镜像

1
2
3
sealos save -o kubernetes.tar registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.28.0
sealos save -o helm.tar registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4
sealos save -o calico.tar registry.cn-shanghai.aliyuncs.com/labring/calico:v3.25.0
准备的离线安装包如下
1
2
3
4
5
6
7
8
root:/data/sealos# ll
total 902388
drwxr-xr-x 2 root root 4096 May 16 06:47 ./
drwxr-xr-x 3 root root 4096 May 14 09:17 ../
-rw-r--r-- 1 root root 362235904 May 16 03:13 calico.tar
-rw-r--r-- 1 root root 14699008 May 16 03:13 helm.tar
-rw-r--r-- 1 root root 405593088 May 16 03:13 kubernetes.tar
-rw-r--r-- 1 root root 62963267 May 14 09:36 sealos_4.3.7_linux_amd64.tar.gz

无网络单机服务器环境准备

将上面的四个安装包放到无网络的单机服务器环境中

1
2
3
4
5
6
7
8
root:/data/sealos# ll
total 902388
drwxr-xr-x 2 root root 4096 May 16 06:47 ./
drwxr-xr-x 3 root root 4096 May 14 09:17 ../
-rw-r--r-- 1 root root 362235904 May 16 03:13 calico.tar
-rw-r--r-- 1 root root 14699008 May 16 03:13 helm.tar
-rw-r--r-- 1 root root 405593088 May 16 03:13 kubernetes.tar
-rw-r--r-- 1 root root 62963267 May 14 09:36 sealos_4.3.7_linux_amd64.tar.gz
禁用防火墙
1
2
systemctl stop firewalld
systemctl disable firewalld
禁用selinux

临时禁用

1
setenforce 0

永久禁用,编辑配置文件修改该行

1
2
vim /etc/selinux/config
SELINUX=disabled
禁用所有swap交换分区

注:最好是安装虚拟机时就不要创建swap交换分区

1
2
3
4
5
6
7
root@master:~#  swapoff -a							#禁用所有swap交换分区
root@master:~# free -h
total used free shared buff/cache available
Mem: 1.8G 280M 1.2G 9.6M 286M 1.4G
Swap: 0B 0B 0B
root@master:~# vim /etc/fstab #永久禁用swap,删除或注释掉/etc/fstab里的swap设备的挂载命令即可
#/swap.img none swap sw 0 0
设置主机名
1
2
3
cat >> /etc/hosts <<EOF
192.168.231.128 master
EOF

此步骤可以不用做,但是节点hostname 会显示不那么清晰

安装

安装 sealos

安装sealos命令

1
tar zxvf sealos_4.3.7_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin

查看一下是否能使用,查看sealos镜像

1
2
root:/data/sealos# sealos images
REPOSITORY TAG IMAGE ID CREATED SIZE

安装 k8s

1
2
root@ywadmin:/data/sealos# sealos run kubernetes.tar helm.tar calico.tar --cluster='k8s-cluster-test' \
> --masters=192.168.231.128

查看一下k8s是否可以使用

1
2
3
root:/data/sealos# kubectl get nodes 
NAME STATUS ROLES AGE VERSION
ywadmin Ready control-plane 78s v1.28.0

到此为止,单机版的k8s 安装完成

其他命令记录

sealos集群管理常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 添加工作节点
sealos add --nodes 192.168.0.111,192.168.0.112

# 添加主节点
sealos add --masters 192.168.0.106,192.168.0.107

# 删除工作节点
sealos delete --nodes 192.168.0.111,192.168.0.112

# 删除主节点
sealos delete --masters 192.168.0.106,192.168.0.107

# 清理集群
sealos reset

# 查看镜像
sealos images

# 拉取镜像
sealos pull registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.28.0

# 导出镜像
sealos save -o kubernetes.tar registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.28.0
# 将导出镜像镜像加载
sealos load -i



# 离线安装,有主节点和子节点情况
sealos run kubernetes.tar helm.tar calico.tar --cluster='k8s-cluster-test' \
--masters=192.168.0.109,192.168.0.111 \
--nodes=192.168.0.110 \
-p admin123
# 如果配置了ssh免密则不需要加-p参数,在线安装不需要pull跟save的过程,直接run对应镜像就可

报错说明

1
error Applied to cluster error: render env to rootfs failed: failed to create template: /var/lib/containers/storage/overlay/424890351b0bc1f56a1f1cd8a371bdf29747b15c30d6b529929570a78d56d313/merged/etc/10-kubeadm.conf.tmpl template: 10-kubeadm.conf.tmpl:10: function "semverCompare" not defined

解决办法

升级版本4.3.7解决

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

Python 图像截屏公式识别——LaTeX-OCR安装与使用

发表于 2024-05-02
字数统计: 765 字 | 阅读时长 ≈ 3 min

LaTeX-OCR是什么

LaTeX-OCR 是一个开源的光学字符识别(OCR)软件,专为 LaTeX 文档提供支持。
其主要目的是帮助用户将扫描的文档转换为 LaTeX 编辑器可以使用的可编辑文本,从而方便进行修改、编辑和排版。
LaTeX广泛用于科技、数学、工程等领域的文档编写。
而 OCR 技术则用于将图像中的文字转换为计算机可编辑的文本。
LaTeX-OCR 的结合使得用户能够更方便地将扫描得到的文档内容转换为 LaTeX 格式,为文档的后续编辑和排版提供了便利。
源码地址:https://github.com/lukas-blecher/LaTeX-OCR

环境

直接使用pip进行安装,为了方便管理环境,这里使用conda创建虚拟环境。

1.环境安装

1
2
3
conda create -n latex python=3.10
activate latex
pip install "pix2tex[gui]"

2.启动与使用

1
latexocr

第一次启动的时候,会下载两个模型,可能会很慢,建议使用科学上网。
如果下载不下来,可以直接去官网下载后,放到指定的目录。

启动完成之后,出现UI交互界面,使用快捷键或者直接点击截屏识别

3.识别

识别一个复杂一点的公式,如果识别得不精准,可以自己手动调节Temperature值,最大调整到1 越大耗费时间越长

生成的LaTeX 表示方法,把它复制到支持LaTeX 表示方法的编辑器可以现实公示了

4.代码调用

1
2
3
4
5
6
from PIL import Image
from pix2tex.cli import LatexOCR

img = Image.open('path/to/image.png')
model = LatexOCR()
print(model(img))

该模型在较小分辨率的图像上表现最佳 。
为了提高其效果,添加了一个预处理步骤。在这一步中,另一个神经网络会预测输入图像的最佳分辨率。
随后,定制图像会被自动调整大小,以更好地匹配训练数据的特征。
这个方法旨在提升模型在真实场景中遇到的图像的性能。
然而,需要注意的是,该模型可能不能在处理极大图像时达到最佳效果。
因此,在拍摄图片之前,不建议进行过度放大。

报错解决

报错1

运行latexocr时,报错

1
Cannot mix incompatible Qt library (6.7.1) with this library (6.7.0)

这是安装latexocr后运行时出现的问题。

解决方法

命令行窗口输入代码:

1
pip install PySide6==6.7.0

将对应的版本号改成报错问题的版本号就行,
比如,版本号是6.7.0。
更新完后,再在命令行窗口输入latexocr,软件界面弹出。

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

123…38

继开

一辈子很短,努力的做好两件事就好:第一件事是热爱生活,好好的去爱身边的人;第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱。

303 日志
171 标签
RSS
gitee E-Mail
0%
鲁ICP备18007712号
© 2025 继开 | 站点字数统计: 262.2k
博客使用 Hexo 搭建
|
主题 — NexT.Mist v5.1.4
人访问 次查看