IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    linux 本地部署ollama和docker版openwebui+deepseek

    C1G发表于 2025-03-03 05:11:41
    love 0

    windows 本地部署ollama+deepseek 可见前面文章.

    linux 安装ollama

    这里使用virtualbox 安装了rocky9.3

    cat /etc/redhat-release
    Rocky Linux release 9.3 (Blue Onyx)

    一健安装

    curl -fsSL https://ollama.com/install.sh | sh
    自动化安装,但可能下载不了
    注意:应该至少有8GB的可用内存来运行7B模型,16GB的可用内存来运行13B模型,以及32GB的内存来运行33B模型。

    手动安装

    https://github.com/ollama/ollama/blob/main/docs/linux.md
    sudo rm -rf /usr/lib/ollama

    1.8g左右
    curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
    sudo tar -C /usr -xzf ollama-linux-amd64.tgz

    Start Ollama:
    ollama serve

    In another terminal, verify that Ollama is running:

    验证安装:

    ollama -v
    ollama version is 0.5.1

    添加用户限配置

    useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
    usermod -a -G ollama $(whoami)

    修改ollama的运行端口

    对于每个环境变量,在[Service]部分下添加一行Environment.

    Environment="OLLAMA_HOST=0.0.0.0:11434"
    Environment="OLLAMA_ORIGINS=*"
    Environment="OLLAMA_DEBUG=1"
    Environment="OLLAMA_FLASH_ATTENTION=1"

    Ollama 提供了多种环境变量以供配置:

    OLLAMA_DEBUG:是否开启调试模式,默认为 false。
    OLLAMA_FLASH_ATTENTION:是否闪烁注意力,默认为 true。
    OLLAMA_HOST:0.0.0.0:11434 修改默认端口 11434 端口
    OLLAMA_KEEP_ALIVE:设置模型加载到内存中保持 24 个小时(默认情况下,模型在卸载之前会在内存中保留 5 分钟)
    OLLAMA_LLM_LIBRARY:LLM 库,默认为空。
    OLLAMA_MAX_LOADED_MODELS:设置同时加载多个模型,默认为 1。
    OLLAMA_MAX_QUEUE:最大队列数,默认为空。
    OLLAMA_MAX_VRAM:最大虚拟内存,默认为空。
    OLLAMA_MODELS:/mnt/data/.ollama/models 模型默认下载路径,默认为空。
    OLLAMA_NOHISTORY:是否保存历史记录,默认为 false。
    OLLAMA_NOPRUNE:是否启用剪枝,默认为 false。
    OLLAMA_NUM_PARALLEL:设置用户并发请求,默认为 1。
    OLLAMA_ORIGINS:允许的来源,默认为空。
    OLLAMA_RUNNERS_DIR:运行器目录,默认为空。
    OLLAMA_SCHED_SPREAD:调度分布,默认为空。
    OLLAMA_TMPDIR:临时文件目录,默认为空。

    Linux 的 tmp 目录设置为 noexec
    如果你的系统将 Ollama 存储临时可执行文件的 tmp 目录设置为了 “noexec”,你可以通过设置 OLLAMA_TMPDIR 来指定一个用户可写的替代位置。例如 OLLAMA_TMPDIR=/usr/share/ollama/

    配置为系统服务

    cat <<EOF | tee /etc/systemd/system/ollama.service >/dev/null
    [Unit]
    Description=Ollama Service
    After=network-online.target
    
    [Service]
    Environment="OLLAMA_HOST=0.0.0.0:11434"
    Environment="OLLAMA_ORIGINS=*"
    Environment="OLLAMA_DEBUG=1"
    Environment="OLLAMA_FLASH_ATTENTION=1"
    ExecStart=\$BINDIR/ollama serve
    User=ollama
    Group=ollama
    Restart=always
    RestartSec=3
    Environment="PATH=\$PATH"
    
    [Install]
    WantedBy=default.target
    EOF

    重新加载 systemd 并重启 Ollama

    systemctl daemon-reload #重载服务
    systemctl enable ollama #开机启动
    systemctl start ollama #启动服务
    systemctl restart ollama #重启服务
    systemctl status ollama #查看服务状态

    运行模型

    一旦您下载了模型,就可以使用 Ollama 的 run 命令来运行它们。

    拉取模型

    ollama pull llama3.2:3b
    ollama pull qwen2:1.5b
    ollama pull deepseek-r1:1.5b
    1.5b的运行速度比较快,也不卡,但比较笨,如果追求性能,可以尝试7b及以上的.

    运行千问模型

    ollama run qwen2:1.5b

    >>> hello world
    Hello! It's nice to meet you. Is there anything else you would like assistance with?
    Use Ctrl + d or /bye to exit.
    >>>

    运行deepseek推理模型

    ollama run deepseek-r1:7b

    修改模型的存储目录

    默认情况下,ollama模型的存储目录如下:

    macOS: `~/.ollama/models` 
    Linux: `/usr/share/ollama/.ollama/models`  
    Windows: `C:\Users\<username>\.ollama\models`

    如需修改,vi /etc/systemd/system/ollama.service
    在[Service]下面加入一行新的Environment,新一行:

    Environment="OLLAMA_MODELS=/path/to/ollama/models" 

    mkdir -p /data/ollama/
    chown -R ollama:ollama /data/ollama
    chmod 0777 /data/ollama

    mv /usr/share/ollama/.ollama/models /data/ollama/

    重启服务

    systemctl daemon-reload
    systemctl restart ollama.service

    查看日志

    journalctl -u ollama | grep -i ‘prompt=’
    /set verbose #设置以查看token速度

    测试

    curl http://localhost:11434
    Ollama is running

    配制web ui

    安装docker

    yum install docker
    docker version

    Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
    Client:       Podman Engine
    Version:      5.2.2
    API Version:  5.2.2
    Go Version:   go1.22.7 (Red Hat 1.22.7-2.el9_5)
    Built:        Tue Nov 12 20:34:59 2024
    OS/Arch:      linux/amd64

    Open-WebUI

    Open WebUI是一个可扩展、功能丰富、用户友好的自托管 WebUI,旨在完全离线操作。它支持各种LLM运行程序,包括 Ollama 和 OpenAI 兼容的 API。Open WebUI 适配了 Ollama 接口,提供了 web 的方式来访问 Ollama API。

    拉取 Open WebUI 镜像

    通过以下命令,从 Open WebUI 官方 GitHub Container Registry (GHCR) 仓库拉取镜像

    docker pull ghcr.io/open-webui/open-webui:main
    如果速度慢可以使用国内镜像再改名
    docker pull ghcr.nju.edu.cn/open-webui/open-webui:main
    docker tag ghcr.nju.edu.cn/open-webui/open-webui:main ghcr.io/open-webui/open-webui:main

    或者使用自已的代理加速服务器
    export https_proxy=’192.168.244.1:8080′

    查看默认配制
    cat /etc/containers/registries.conf

    先创建一个用于 Open WebUI 容器本地存储的本地目录

    mkdir /opt/openwebui

    通过以下命令启动容器, 映射本地3000 端口到容器内8080, 并挂载本地目录 /opt/openwebui 到容器的 /app/backend/data

    docker run -d -p 3000:8080 –add-host=host.docker.internal:host-gateway -v /opt/openwebui:/app/backend/data –name openwebui ghcr.io/open-webui/open-webui:main

    设为自动启动

    docker update –restart always openwebui

    手动启动

    docker start openwebui

    查看服务

    netstat -lntp

    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      2303/conmon
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1183/sshd: /usr/sbi
    tcp6       0      0 :::11434                :::*                    LISTEN      1589/ollama
    tcp6       0      0 :::22                   :::*                    LISTEN      1183/sshd: /usr/sbi

    防火墙

    firewall-cmd –get-default-zone
    firewall-cmd –zone=public –add-port=3000/tcp –permanent
    firewall-cmd –zone=public –add-port=11434/tcp –permanent

    查看已经开启的防火墙端口
    firewall-cmd –list-ports
    firewall-cmd –get-services

    重启防火墙修改才会生效
    firewall-cmd –reload

    在虚拟机设置nat,映射宿主机127.0.0.1:3000端口到虚拟机 192.158.244.9:3000端口.
    在浏览器访问http://127.0.0.1:3000 可以显示webui界面.

    注册账号密码,创建管理员账号。
    godamen01@163.com/Pass1234

    如果不习惯英文界面,可以设置成中文界面

    现在,我们就可以用本地部署的 千问或deepseek-r1 模型进行聊天了。

    The post linux 本地部署ollama和docker版openwebui+deepseek first appeared on C1G军火库.



沪ICP备19023445号-2号
友情链接