运维
使用 CPU 推理 llama 结构的大模型
· ☕ 4 分钟
1. 本地容器运行 启动 LLM 1 docker run --security-opt apparmor=unconfined --security-opt seccomp=unconfined --rm -p 8000:8000 shaowenchen/chinese-alpaca-2-7b-gguf:Q2_K 在 http://localhost:8000/docs 页面即可看到接口文档,如下图: 部署一个简单的 Chat UI 这里需要注意的是 OPENAI_API_HOST 参数,需要设置为你的宿主机 IP 地址,而不是 localhost 127.0.0.1,否则无法访问。 1 docker run --security-opt apparmor=unconfined --security-opt seccomp=unconfined -e OPENAI_API_HOST=http://{YOUR_HOST_IP}:8000 -e OPENAI_API_KEY=random -p 3000:3000 ghcr.io/mckaywrigley/chatbot-ui:main 页面效果如下: 2. K8s 快速部

使用云上基础设施遇到的一些坑
· ☕ 4 分钟
1. 配额限制 每种云上的资源,能用多少是有限制的。 这是云厂为了防止资源滥用,降低租户之间的相互影响。 比如,一个账户下的企业项目数、弹性主机的数量、弹性公网 IP 的数量、弹性公网 IP 带宽的大小等。 因配额不够导致的资源申请失败,很常见;但在弹性业务高峰期

使用 Upptime 无成本监控服务可用性
· ☕ 4 分钟
1. 什么需要拨测服务 今年 GPT 大火,我也部署、开发了几个应用、小程序进行学习。当然,秉承帮助厂商测试功能的原则,目前只有 GPT 3.5 的 API 每天有少许费用,服务器、数据库、带宽都是免费的。 为了节省成本,我没有测试环境,每次提交代码,只要能编译成功就会直接发布

使用 Alpine 镜像常见问题
· ☕ 1 分钟
1. DNS 请求超时 原因: alpine 使用的是 musl 库,在 DNS 解析上会有一些限制[1] 解决方式: 不使用 apline 镜像,并在容器 resolv.conf 文件中增加 options single-request-reopen 配置。因为 single-request-reopen 配置项只对 glibc 库生效,但是 apline 镜像使用的是 musl 库 2. Docker 下无法解析 hosts 原因: alpine 没有 /etc/nsswitch.conf,导致依赖 hosts

流水线构建时,凭证作用域问题
· ☕ 2 分钟
在 client 中已经看到 Docker CLI 在给 Docker Daemon 发生构建上下文时,通过设置 X-Registry-Config 传递凭证,但在最近的构建反馈中,还是会出现一些无法解释的现象,本篇主要是进行一些基础的测试,以便于更好排查问题。 1. 宿主机 Docker 下构建 Docker Daemon 以 root 用户权限启动。 未登录任何账户 1 2 3 4 su ansible echo "FROM harbor.chenshaowen.com/private/test:v1" | sudo