周末检查博客草稿,发现了这篇。记得当时是与 的方案,由于之前试过 Ollama[1],感觉使用起来也更加友好,而且 Ollama 同样提供了 对 OpenAI API 的支持[2],索性改成用 Ollama 吧。
介绍 k8sgpt-operator 的文章发布后,有小伙伴反馈 OpenAI 的使用门槛,这个问题确实比较棘手,但也不是不能解决。不过本文并不是介绍如何解决这种问题的,而是介绍 OpenAI 的替代方案:Ollama。
对 k8sgpt 和 k8sgpt-operator 就不做过多介绍了,有兴趣的可以看回 。
1. 安装 Ollama
brew install ollama
当前最新的版本是 0.1.44。
ollama -v
Warning: could not connect to a running Ollama instance
Warning: client version is 0.1.44
在 Linux 上也可以通过官方的脚本一键安装。
curl -sSL https://ollama.com/install.sh | sh
启动 Ollama,通过环境变量将 Ollama 的监听地址设置为 0.0.0.0
,便于后面从容器或者 K8s 集群访问。
OLLAMA_HOST=0.0.0.0 ollama start
...
time=2024-06-16T07:54:57.329+08:00 level=INFO source=routes.go:1057 msg="Listening on 127.0.0.1:11434 (version 0.1.44)"
time=2024-06-16T07:54:57.329+08:00 level=INFO source=payload.go:30 msg="extracting embedded files" dir=/var/folders/9p/2tp6g0896715zst_bfkynff00000gn/T/ollama1722873865/runners
time=2024-06-16T07:54:57.346+08:00 level=INFO source=payload.go:44 msg="Dynamic LLM libraries [metal]"
time=2024-06-16T07:54:57.385+08:00 level=INFO source=types.go:71 msg="inference compute" id=0 library=metal compute="" driver=0.0 name="" total="21.3 GiB" available="21.3 GiB"
2. 下载并运行大模型
Llama3 流行的大模型之一,由 Meta 在 4 月开源。Llama3 有两个版本:8B 和 70B。
我是在 macOS 上运行,所以选择 8B 的版本。8B 的版本大小 4.7 GB,网速快的话 3-4 分钟就可以完成下载。
ollama run llama3
我是 m1 pro + 32g 内存,启动 12s 多。
time=2024-06-17T09:30:25.070+08:00 level=INFO source=server.go:572 msg="llama runner started in 12.58 seconds"
执行一次 query 的时间在 14s 左右。
curl http://localhost:11434/api/generate -d '{
"model": "llama3",
"prompt": "Why is the sky blue?",
"stream": false
}'
....
"total_duration":14064009500,"load_duration":1605750,"prompt_eval_duration":166998000,"eval_count":419,"eval_duration":13894579000}
3. 配置 K8sGPT CLI 后端
如果你想测试 k8sgpt-operator,可以跳过这一步。
我们将使用 Ollama REST API 作为 k8sgpt 的后端,作为推理的 provider,这里后端类型选择 localai
。因为 LocalAI[4] 与 Ollama 同样兼容 OpenAI API,真正的 provider 还是 Ollama 运行的 Llama。
k8sgpt auth add --backend localai --model llama3 --baseurl http://localhost:11434/v1
同时将其设置成默认的 provider。
k8sgpt auth default --provider localai
Default provider set to localai
测试:
我们在 k8s 上创建一个 pod,使用镜像 image-not-exit
。
kubectl get po k8sgpt-test
NAME READY STATUS RESTARTS AGE
k8sgpt-test 0/1 ErrImagePull 0 6s
使用 k8sgpt 对错误进行分析。
ollama -v
Warning: could not connect to a running Ollama instance
Warning: client version is 0.1.44
0
4. 部署并配置 k8sgpt-operator
k8sgpt-operator 可以在集群中开启自动化的 k8sgpt。可以通过 Helm 来安装
ollama -v
Warning: could not connect to a running Ollama instance
Warning: client version is 0.1.44
1
k8sgpt-operator 提供了两个 CRD:K8sGPT
配置 k8sgpt;Result
输出分析结果。
ollama -v
Warning: could not connect to a running Ollama instance
Warning: client version is 0.1.44
2
配置 K8sGPT
,这里 baseUrl
要使用 Ollama 的 IP 地址。
ollama -v
Warning: could not connect to a running Ollama instance
Warning: client version is 0.1.44
3
创建 CR K8sGPT
之后,operator 会自动为其创建 Pod。检查 CR Result
也可以看到同样的结果。
ollama -v
Warning: could not connect to a running Ollama instance
Warning: client version is 0.1.44
4
Ollama: https://ollama.com
[2]对 OpenAI API 的支持: https://github.com/ollama/ollama/blob/main/docs/openai.md
[3]多种流量的大模型: https://ollama.com/library
[4]LocalAI: https://localai.io
(版权归原作者所有,侵删)
免责声明:本文内容来源于网络,所载内容仅供参考。转载仅为学习和交流之目的,如无意中侵犯您的合法权益,请及时联系Docker中文社区!
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...