1、Podman安装
参考:https://www.cnblogs.com/a120608yby/p/17896138.html
2、Ollama安装
# 下载部署脚本 wget https://ollama.ai/install.sh # 执行安装脚本 # sh ./install.sh >>> Installing ollama to /usr/local >>> Downloading Linux amd64 bundle ########################################################################################################################################################################### 100.0%########################################################################################################################################################################### 100.0% >>> Creating ollama user... >>> Adding ollama user to render group... >>> Adding ollama user to video group... >>> Adding current user to ollama group... >>> Creating ollama systemd service... >>> Enabling and starting ollama service... Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service. >>> The Ollama API is now available at 127.0.0.1:11434. >>> Install complete. Run "ollama" from the command line. WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode. # 查看服务状态 systemctl status ollama # 查看端口监听情况 ss -napt | grep ollama # 修改端口监听地址并重启服务 # vim /etc/systemd/system/ollama.service [Unit] Description=Ollama Service After=network-online.target [Service] Environment="OLLAMA_HOST=0.0.0.0" #第6行增加 ExecStart=/usr/local/bin/ollama serve ... systemctl daemon-reload systemctl restart ollama.service # 下载模型 # 下载llama3 8B模型 ollama pull llama3:8b # 下载微软phi3模型 ollama pull phi3 # 下载谷歌Gemma模型 ollama pull gemma # 下载IBM Granite Code模型 ollama pull granite-code:8b # 下载阿里云Qwen2.5模型 ollama pull qwen2.5:7b # 使用模型 ollama run llama3:8b ollama run phi3 ollama run gemma ollama run qwen2.5:7b # 通过Ollama API使用模型 # curl http://localhost:11434/api/chat -d '{ "model": "gemma", "stream": false, "messages": [ { "role": "user", "content": "当诸葛亮和猪八戒相遇会发生什么?" } ] }' {"model":"gemma","created_at":"2024-09-13T10:09:36.935197131Z","message":{"role":"assistant","content":"诸葛亮和猪八戒相遇会发生以下可能性:\n\n**1. 合作与共存:**\n\n* 诸葛亮以其睿智和策略能力,可以帮助猪八戒解决一些困境。\n* 猪八戒可以提供诸葛亮关于 monastic生活和佛教思想的见解。\n* 他们可以彼此学习,共同解决问题。\n\n**2. 冲突与对立:**\n\n* 诸葛亮以追求卓越和理性和方法论著称,而猪八戒则更注重精神和直觉。\n* 他们的价值观和方法可能会产生冲突。\n* 诸葛亮可能会试图将猪八戒约束于他的逻辑和方法中。\n\n**3. 尊重与共同成长:**\n\n* 诸葛亮可以认可猪八戒的精神能力和直觉,并尊重他的观点。\n* 猪八戒可以认可诸葛亮的人理和策略能力,并从他的方法中学习。\n* 他们可以互相尊重,共同成长。\n\n**具体情况的可能性:**\n\n* 如果诸葛亮与猪八戒 mutual respect,并尝试理解彼此的观点,他们可以建立一个强大的合作关系。\n* 如果诸葛亮试图控制猪八戒,或猪八戒试图打破诸葛亮的方法,他们可能会发生冲突。\n\n最终的结果取决于诸葛亮和猪八戒的具体行为和态度。"},"done_reason":"stop","done":true,"total_duration":105130720831,"load_duration":25978118434,"prompt_eval_count":38,"prompt_eval_duration":4825198000,"eval_count":289,"eval_duration":74283620000} # curl http://127.0.0.1:11434/api/chat -d '{ "model": "phi3", "stream": false, "messages": [ { "role": "user", "content": "1加1有可能会等于3么?" } ] }' {"model":"phi3","created_at":"2024-09-13T10:10:51.787029427Z","message":{"role":"assistant","content":"在数学上,基本规则仍然适用。在一个标准的数字体系中,1是一个基本的单位数字,而三是两倍大于1的整数值。因此,如果我们按照标准算法进行加法操作(1加1等于2),1加1就不会等于3。然而,在特定情境下,如果我们将\"1加1有可能等于3\"看作是一种抛篮型的数学问题或者幽默表达式,这样我们就可以认为这个陈述在特定情境下是成立的。例如:\n\n- 如果我们关于数字“1”引入了一些非标准或外星文化的解释,其中\"1\"可能有不同的意义或属性。\n- 如果在某种幽默或讨论的场景下,我们提出这个问题,供人们玩谜或开篇讨论。\n- 在某种抛篮型的方式,如幽默表达或故意的错误引入,我们可以说“1加1等于3”是成立的。\n\n这里我们不会逻赋予任何非标准或抛篮型的解释给数字“1”,因此按照标准算法来看,1加1等于2。"},"done_reason":"stop","done":true,"total_duration":51918876515,"load_duration":54541099,"prompt_eval_count":21,"prompt_eval_duration":1192978000,"eval_count":424,"eval_duration":50628413000}
3、拉取Open WebUI镜像并启动
# 拉取镜像 podman pull ghcr.io/open-webui/open-webui:main # 启动 # podman run -d -p 3000:8080 --add-host=host.containers.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main 或者 # vim open-webui/docker-compose.yml services: open-webui: image: ghcr.io/open-webui/open-webui:main container_name: open-webui restart: always ports: - "3000:8080" extra_hosts: - "host.containers.internal:host-gateway" volumes: - open-webui:/app/backend/data volumes: open-webui:
4、访问和测试
访问地址:http://部署主机IP:3000/