简介 什么是 ollama 官网:https://ollama.com/ 看官网介绍非常的简洁:启动并运行大语言模型 因此 ollama 的定位就是:简化大型语言模型(LLMs)的本地部署和使用。如果没有 ollama,我们想在本地部署一个大模型,还是会比较费劲的,从 Deepseek 检索到需要这么多步骤: 1. 选择模型:首先确定你想运行的模型,如 LLaMA、GPT 等,并获取其预训练权重或模型文件。 2. 环境配置:安装必要的软件和库,如 Python、PyTorch 或 TensorFlow,并确保你的硬件(如 GPU)支持模型运行。 3. 模型加载:编写代码加载模型权重,并初始化模型架构。这一步可能需要根据模型的具体实现进行调整。 4. 数据处理:准备输入数据,并进行必要的预处理(如分词、编码等),以便模型能够理解和处理。 5. 运行推理:将处理后的数据输入模型,执行推理任务(如文本生成、分类等),并获取输出结果。 6. 优化与调试:根据运行结果,可能需要调整模型参数、优化代码或处理硬件瓶颈,以确保模型高效运行。 7. 部署:如果需要长期使用,可以考虑将模型部署到服务器或云平台上,以便随时访问和调用。 可以看到,没有算法基础的开发者,将会很难去本地部署。 ollama可以做什么 最常用的一个作用:在自己电脑上部署大语言模型,比如 Deepseek、通义千问、Gemma 等各种开源的大语言模型。 重点:受限于我们家用电脑的性能,在本地部署大模型这件事情,更多的目标在于体验、探索和研究,而很难去真正的代替其他比如官方的服务来日常使用。因为同一个大模型,也会区分为不同的参数版本,参数越高,越智能,而官网的或者说满血的指的都是参数最高的那个版本,并且在网上进行对比的时候,也都是拿着最高参数的版本来评比,然而,高参数版本几乎都需要很高的算力,简单说就是对显卡的要求非常高,不是我们普通家用电脑能跑起来的。 所以,大家不要期望着自己在自己电脑上部署了一个之后,就可以免费平替 ChatGPT 或者 Deepseek 了。并且现在如果是日常查询使用、有很多免费的满血大模型,效果肯定是比自己的要好。 ollama部署 ollama 可以帮助我们快速部署大模型,但是它是一个后端服务,也就是说部署成功之后,我们可以在控制台里面有它进行交互。这样的体验还是很差劲的,因此我们可以同时部署一个对应的 web-ui 来进行可视化使用,就跟 Deepseek、ChatGPT 官网那样的聊天页面。 而这个 web-ui 就可以使用 open-webui(https://github.com/open-webui/open-webui) 为什么用这个呢,因为这个开源项目中直接还提供了包含 ollama 的 docker compose 部署,并且这个项目之前就叫做:ollama-webui(估计作者最初就是希望给 ollama 做一个前端页面,后面适配了其他的后端服务,改名为了open) 部署前提 Linux 操作系统(WSL也可) 已经安装 Docker 并且已经可以正常 pull 下镜像 不一定非得按照我前几期的教程来搞,只要满足上面条件即可,如果有问题,可以参考之前的教程,来让一个普普通通的 Windows 系统,达到上述条件: ...
Docker日常使用方案分享
安装 基础的 Linux 环境,可以参考之前的《wsl2下安装ArchLinux系统并进行常用配置》,https://blog.chunxiao.site/posts/wsl2-arch/ 安装docker sudo pacman -S docker 如果安装我上面文章提到的方式安装的 ArchLinux 的话,应该没有任何报错,直接安装即可,不过有可能遇到一些 kerying 等相关的报错,可以详细再去看一下上面文章中关于系统初始化那部分: 开启docker服务 # 启动服务 这一步我电脑上卡了好久 - 可以耐心等待几分钟 sudo systemctl start docker # 配置开机启动 sudo systemctl enable docker # 检查启动状态 sudo systemctl status docker 安装docker compose 直接命令安装即可 sudo pacman -S docker-compose 下面介绍常见用法 常见用法 我们先来安装一个可视化的服务,正好作为我们的第一个服务。 portainer:https://hub.docker.com/r/portainer/portainer-ce 拉取镜像 sudo docker pull portainer/portainer-ce 相信大家跟我一样,报错了~ 所以我们现在还要来解一个现实中的实际问题,怎么走代理拉取镜像。 代理配置 之前的时候,有许多国内的镜像地址,这样的话直接配置源就行了,但不知道什么原因,现在都不行了(不稳定),那其实我们用起来就很困难。 可以去看下官方文档关于代理的介绍:https://docs.docker.com/engine/cli/proxy/ 简单来说的话,分为两大部分 Docker CLI 或 Docker Engine 本身的代理设置,这个就是我们常用的比如 pull 时候需要的代理 配置容器的代理环境变量,也就是容器内访问的时候使用的代理 针对两种情况,配置的方式也不一样,大多数情况下我们只需要配置第一种情况即可,比如我们能正常 pull 下来即可, ...
饥荒服务器可视化搭建
简介 此篇文章介绍饥荒联机版服务器可视化管理后台的部署以及使用方式。 功能是这位开源大佬做的:[dst-admin-go] 简单介绍下有了这个之后,可以通过页面完成哪些事情: 启动 / 停止服务 世界配置(世界个性化配置) 房间设置(人数、黑白名单等) 模组设置(订阅、启 / 禁用、选项配置) 备份 / 还原存档 等等还有许多,大家可以自行研究,并且作者还在更新中。 方案 前面我们已经完成的环境:WSL2 + ArchLinux + Docker 后面的系列教程,只要基于 Docker 环境的,其实就不依赖于我们前面的那些了。 只要能做到这样即可: 有 Docker 环境 能正常使用 Docker,拉镜像 因此,这次我分享的使用方案这样: 先直接启动 Docker 使用 Docker cp 命令把文件全部映射到本地 再使用 Docker Compose 启动部署 定期备份存档,后面只要保证我们的存档还在,即使服务重装了,导入存档即可无缝衔接使用 下面进行演示,以及相关代码 演示 从我的 WSL2 中的 ArchLinux 开始 准备 提前把代理打开准备好。如果还没设置过,可以参考上篇关于 Docker 日常使用部分 Docker日常使用方案分享 进入自己打算放的目录,比如我的:/home/chunxiao.li/dockers/dst-admin 根目录下创建:docker-compose.yaml文件,内容如下: services: dst-admin-go: image: hujinbo23/dst-admin-go:1.5.0 restart: unless-stopped ports: - "8082:8082" - "10999:10999/udp" - "10998:10998/udp" 此时,所有数据都没持久化,先运行起来,把文件生成,执行命令: ...
Wsl2下安装ArchLinux系统并进行常用配置
0 开场白 这篇博客给大家介绍一下在 wsl2 下安装 ArchLnux 的简化方法。好几年前,安装过一次,比较麻烦,当时印象中还得使用 libreoffice 并且当时 systemctl 还不能用,总之,用起来呐,也能用,只是麻烦一些,后面换电脑或者在其他电脑上整的话,还得再来一遍,还是比较麻烦的。 最近无意中发现 github 上有人提供简化安装方式,这里给大家尝试一下。 https://github.com/yuk7/ArchWSL 1 安装 1.1 前提条件 想使用wsl2,基础的 windows 环境必不可少。 1.1.1 启用 Linux 子系统的功能 1.1.2 更新到 wsl2 并设置默认 # 更新wsl wsl --update # 将默认版本设置为2 wsl --set-default-version 2 1.2 下载安装 使用起来很简单啊,先去下载 zip 压缩包,各位直接去下载最新的即可 https://github.com/yuk7/ArchWSL/releases/ 然后解压到自己的目录中,按照要求该目录必须可写入文件,因此建议放普通的D盘中,比如:D:\wsls 解压后长这样,可以把Arch.exe换个名字,这样就可以同时运行多个,我为了演示就又搞了一个 以上完成后,直接运行 Arch.exe 即可安装,当然了,这里都是默认设置好的一些安装,玩 ArchLinux 的都知道,安装 ArchLinux 是一个不小的事情,自己安装的话。分区、安装、网络、GRUB等等,给一个官方中文参考:https://wiki.archlinuxcn.org/wiki/%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97。 强烈建议,自己照着文档在虚拟机上面安装试试,对理解 Linux 非常有帮助,不太建议直接在 wsl2 上直接拿这个练手,影响因素太多。 好了,废话不多说,继续。 双击运行 Arch.exe 之后,长这样: ...
Server About
介绍一下服务器、以及遇到的一些问题,算是杂项汇总吧 问题-docker磁盘清理 现象:可能会遇到查看磁盘占用时候 df -h,遇到好多 overlay字样的占用,并且还很高,如: 实际上是 Docker 的占用较高,可能是日志文件或者无效的镜像等,可参考如下方式: docker system df 结果比如: TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 58 14 12.07GB 7.043GB (58%) Containers 14 13 137.2MB 753.1kB (0%) Local Volumes 41 3 2.464GB 2.461GB (99%) Build Cache 160 0 3.324GB 3.324GB Images:所有镜像占用的空间,包括拉取下来的镜像,和本地构建的。 Containers:运行的容器占用的空间,表示每个容器的读写层的空间。 Local Volumes:容器挂载本地数据卷的空间。 Build Cache:镜像构建过程中产生的缓存空间 (只有在使用 BuildKit 时才有,Docker 18.09 以后可用)。 最后的 RECLAIMABLE 是可回收大小,可以用此命令进行回收: 注意:会清理掉未运行的镜像,慎重 docker system prune -a 系统会给提示: WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all images without at least one container associated to them - all build cache Are you sure you want to continue? [y/N] 操作后效果如下: ...
Unraid Proxy
先整理一下代理部分,这个目前达到了一个可用的状态 重启后 wget 可自动生效 如果需要下载应用,通过插件设置切换为代理即可 无需调整IP 最开始肯定还是要先借助外部的 Proxy 相关文件 /boot/config/go 这个文件开机会执行,因此一些开机启动的就放在这儿了 Tips:注意,unraid 是通过 U 盘启动的,所以放在其他位置如 /root 下的文件开机后就都没了 整个硬盘是通过 mount 挂载到系统上的 /root/.wgetrc 这个是 root 账号通过 wget 下载的时候的环境变量配置,配置之后实时生效 unraid 安装插件主要靠这个 配置如下: use_proxy=yes http_proxy=http://0.0.0.0:7890 https_proxy=http://0.0.0.0:7890 wait=10 首次借助外部 proxy 时候,把 ip 换成局域网内其他机器的。后期在 unraid 上安装了 clash 之后,就可以采用该配置 配置之后,应该就可以了 /boot/config/plugins/community.applications/proxy.cfg 应用市场的代理,点击应用时候会用到这个文件。前提是安装好了应用市场这个插件,也就是通过上面的 wget 方式 配置如下: tunnel=1 port=7890 proxy=http://0.0.0.0 IP 逻辑同上 /etc/docker/daemon.json docker 镜像源,即使用了代理,拉取 docker 可能还是慢,建议直接配置上国内源 配置内容如下: { "registry-mirrors": ["https://xxx.mirror.aliyuncs.com","https://hub-mirror.c.163.com"] } 跟在其他系统上配置 docker 源一致,建议使用阿里云的镜像,其中xxx需要自己去阿里云控制台上看,登录控制台之后,找镜像,大致如下: 配置之后需要重启 docker 才能生效 unraid –> 设置 –> docker –> 启用 –> 否 / 是 ...
Letsencrypt
说明 Let’s Encrypt 是一个免费、自动化、开放的证书颁发机构 (CA),为网站提供数字证书以启用 HTTPS ( SSL/TLS )。它的存在解决了获取、安装和维护证书的复杂性,从而为每个网站提供了一个安全的互联网。 所以是可以自己免费完成的,网上有一些网站,看着跟这个很像(来此加密),需要注册登录,也可以,可以自己去试试。我还是建议自己完成,毕竟也不难。 安装客户端 Cerbot 自己申请 letsencrypt 需要客户端:Certbot 只考虑在 Linux 下使用,任意一台 Linux 机器即可,无需是在自己的服务器上,我本人就是在 WSL 上完成的 具体软件的安装,自己去搜索即可,这里提供几个常用系统的命令 Ubuntu 上: sudo apt-get install certbot CentOS 上: sudo yum install certbot 我自己使用的 ArchLinux 上: sudo pacman -S cerbot 其他系统可参考 Cerbot 官方文档:https://certbot.eff.org/instructions 申请泛域名证书 申请单域名证书一般都会配置上自动续约,我这里不写了。因为我自己没有用过那种的,自己服务器的一般都直接用泛型的了。 泛型的不支持自动续约,所以,到了有效期(三个月)之后,需要手动重新申请,替换 找一台 Linux 机器,可以使用 WSL,本人使用的就是 WSL 装的 ArchLinux 执行命令: sudo certbot certonly --manual --preferred-challenges=dns -d "*.yourdomain.com" 解释: certonly:仅获取证书 --manual:手动操作 --preferred-challenges=dns:验证方式使用 DNS,也就是需要在域名解析那里配置一个 TXT 类型的解析 操作后,会提示如下信息: ...
Win-Env-Part2
继续 Oh-my-posh 第一次看到这个名字的时候,感觉挺亲切的~ 毕竟每次 LInux 使用的时候 oh-my-zsh 都是必装的 贴上官网:https://ohmyposh.dev/docs 安装 手动安装就不说了,可以直接在 microsoft store 中安装即可 这里记录下 scoop 的命令 scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json 字体 主题里面用到了各种的图标,所以需要用到专门的字体: Nerd Font 进入这个字体网站后可以找自己喜欢的下载,比如我们熟悉的:JetBrainsMono Nerd Font 这个就是基于 JetBrainsMono 生成的支持 icon 的 Nerd 字体 下载后安装(下载后是个压缩包,解压后全选字体,右键安装, 可安装全部) 安装后,可更改 windows terminal 的字体设置 打开 windows terminal 的设置(ctrl + shift + 逗号) 差不多这个位置: defaults 后面大括号里面填上: "font": { "face": "JetBrainsMono Nerd Font" } 改完后这样: 新装的字体可能需要重启电脑,才可以用 如果感觉字体有点儿大的话,可以改下字体大小 还是刚才那里: "font": { "face": "JetBrainsMono Nerd Font", "size": 10 } 主题 使用 oh-my-posh,需要先创建一个配置文件 ...
Win-Env-Part1
缘起 Linux 关于读音 http://blog.itpub.net/69981670/viewspace-2711734/ 程序员要有一套自己的生活和开发环境 硬件 、 软件 之前一直希望基于 Linux 打造 但生态的缺乏性,以及日常对软件的依赖性导致需要各种尝试 双系统 - 办公无用 主 Linux,虚拟机安装 Windows - 办公成本较高 主 Windows,虚拟机安装 Linux - 意义不大 WSL2 - 装了几次,没找到使用场景 所以暂时放弃了之前基于 LInux 打造的一部分环境 考虑不使用 Linux 如果大家想要入坑,可以考虑一套组合:ArchLinux + i3wm ~~### Typora 一切开始之前,需要先进行记录。也就是得有个记录工具 还得是 Typora 但是自己只是简单用,并且也还是在尝试中。先不去付费支持了 文件我放到自己的谷歌云盘了,但是自己基本不用其他的网盘,也没办法分享出来 更多的是自用 Scoop 参考:https://zhuanlan.zhihu.com/p/489898732 设置允许 PowerShell 执行本地脚本 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser 安装 Scoop iwr -useb get.scoop.sh | iex 常用命令 scoop search - 搜索软件 scoop install - 安装软件 scoop info - 查看软件详细信息 scoop list - 查看已安装软件 scoop uninstall - 卸载软件,-p删除配置文件 scoop update - 更新 scoop 本体和软件列表 scoop update - 更新指定软件 scoop update * - 更新所有已安装的软件 添加 bucket ,类似于 ArchLinux 的 AUR ...
Minio
这篇文章介绍了文件存储工具Minio的基础使用方式 安装方式 现在习惯使用 docker-compose,首先去 hub.docker.com上找找有没有流行度比较高的镜像 果然找到了 https://hub.docker.com/r/bitnami/minio 就用这个了 贴上我的 docker-compose 文件: version: '2' services: minio: image: docker.io/bitnami/minio:2023 ports: - '9000:9000' - '9001:9001' environment: - MINIO_ROOT_USER=账号 - MINIO_ROOT_PASSWORD=密码 volumes: - '/root/minio_data:/data' 这样的话,所有的文件都在目录 /root/minio_data 中 注意事项 执行 docker-compose 之前提前建好本地目录,比如 mkdir /root/minio_data 然后赋予权限: chown -R 1001:1001 /root/minio_data/ 随后再去执行 docker-compose 命令 docker-compose up -d 使用 9001 端口用来 web 访问,后台管理使用 9000 端口用来访问文件 设置共享链接 新建桶,设置权限为public即可 访问路径: ip:9000/bucket/file 如我在桶public-pics下放了一个图片名叫做:a.png,假如我的 ip 为 192.168.10.11,则该图片的访问路径为: http://192.168.10.11:9000/public-pics/a.png ...