发布时间:2025-06-24 20:12:52  作者:北方职教升学中心  阅读量:715


AnythingLLM 的灵活性和定制性意味着用户可以根据自己的特定业务场景和需求,创建和优化 AI 解决方案,从而在保证数据安全和隐私的同时,实现更加个性化和高效的服务。

  • environment: 用于设置环境变量,这里open-webui服务设置了OLLAMA_BASE_URL环境变量,指向ollama服务。AnythingLLM 的多用户支持和精细的权限管理,使得团队协作变得更加简单和安全。
  • -p 3014:3001 \将容器的3014端口映射到宿主机的3001端口。
  • --privileged=true 使容器以特权模式运行,这将给予容器几乎相同于宿主机的权限。Open WebUI 和 AnythingLLM 的结合,为用户提供了一个从模型提供到界面交互,再到个性化定制的完整解决方案,使得构建和部署 AI 大模型变得更加容易、如果你想停止服务,可以使用:

    docker-composedown

    这将停止并移除容器,但不会删除卷。

  • --name anythingllm 为容器指定一个名称。

    Ollama部署

    1. 获取Ollama镜像:

      • 使用Docker从镜像仓库拉取Ollama镜像:
        dockerpull ollama/ollama
    2. 创建Ollama宿主机挂载目录:

      • 在宿主机上创建一个目录用于Ollama数据的持久化存储:
        mkdir-p/data/docker/ollama/data
      • 修改目录权限
        chmod-R777/data/docker/ollama
    3. 启动Ollama容器

      • 使用以下命令启动Ollama容器,并将数据目录挂载到容器中:
        dockerrun \-d\--restartalways \--nameollama \--privileged=true \-p11434:11434 \-v/data/docker/ollama/data:/root/.ollama \ollama/ollama
        其中:
        • -d表示后台运行容器。
        • --name open-webui为容器指定一个名称。

          Open WebUI则进一步增强了用户体验,它提供了一个高度可视化和用户友好的对话界面。

          要使用此docker-compose.yml文件启动服务,你需要在包含该文件的目录中打开终端,然后运行:

          docker-composeup -d

          这将按照文件中定义的配置启动所有服务。

        • --privileged=true 使容器以特权模式运行,这将给予容器几乎相同于宿主机的权限。这些模型拥有处理和生成复杂语言任务的能力,为各种应用场景提供了强大的基础。
        • mintplexlabs/anythingllm指定要使用的AnythingLLM镜像和版本(latest)。
        • --restart always设置容器的重启策略。这不仅提高了工作效率,还增强了决策支持的能力。
        • --restart always设置容器的重启策略。如果你需要重新构建服务或者对配置进行了更改,可以使用:

          docker-composeup --build

          这将重建任何已更改的服务的镜像。

        请确保将/data/docker/...路径替换为实际的宿主机路径,或者根据需要创建这些目录。这个界面不仅美观,而且功能丰富,使用户能够轻松地与背后的大模型进行交互,无论是通过文本聊天还是其他交互方式。

        总的来说,Ollama、

      • --name ollama 为容器指定一个名称。
      • -p 3000:8080 \将容器的3000端口映射到宿主机的8080端口。
      • --restart always设置容器的重启策略。
      • -v /data/docker/anythingllm/data:/app/server/storage将宿主机的数据目录挂载到容器中。端口映射和卷挂载。高效和安全。

        AnythingLLM则是在这个基础上的一个创新工具,它允许用户利用 Ollama 提供的大模型能力,并结合本地数据,构建和定制符合个人或企业特定需求的 AI 大模型。

  • 测试Ollama服务:

    • 进入Ollama容器:
      dockerexec-itollama /bin/bash
    • 从Ollama仓库拉取gemma模型, 可从官网查看有哪些模型
      ollama pull gemma:2b
    • 查看本地有哪些模型
      ollma list
    • 使用gemma:2b大模型, 然后与开启对话
      ollama run gemma:2b
  • WebUI部署

    1. 获取open-webui镜像:

      • 使用Docker从镜像仓库拉取open-webui镜像:
        dockerpull m.daocloud.io/ghcr.io/open-webui/open-webui:main
    2. 创建open-webui宿主机挂载目录:

      • 在宿主机上创建一个目录用于open-webui数据的持久化存储:
        mkdir-p/data/docker/open-webui/data
      • 修改目录权限
        chmod-R777/data/docker/open-webui	 
    3. 启动AnythingLLM容器

      • 使用以下命令启动open-webui容器,并将数据目录挂载到容器中:
        dockerrun \-d\--restartalways \--nameopen-webui \--privileged=true \-p3000:8080 \-eOLLAMA_BASE_URL="http://{ollma服务IP}:11434"-v/data/docker/open-webui/data:/app/backend/data \m.daocloud.io/ghcr.io/open-webui/open-webui:main
        其中:
        • -d表示后台运行容器。

          通过 AnythingLLM,用户可以轻松地将本地文档、

        • -v /data/docker/ollama/data:/root/.ollama将宿主机的数据目录挂载到容器中。open-webuianythingllm。容器名称、资料和数据集成到 AI 模型中,实现智能检索、问答系统等多样化功能。
    4. 测试AnythingLLM服务:

      • 通过浏览器输入http://{宿主机IP}:3041即可开始访问

    Docker-Compose部署管理所有容器

    将上面的docker run命令转换为docker-compose.yml文件,并设置open-webui和anythingllm服务依赖于ollama服务,方便管理

    version:'3.8'services:ollama:image:ollama/ollama    container_name:ollama    restart:always    privileged:trueports:-"11434:11434"volumes:-/data/docker/ollama/data:/root/.ollama    networks:-llm_network  open-webui:image:m.daocloud.io/ghcr.io/open-webui/open-webui:main    container_name:open-webui    restart:always    privileged:trueports:-"3000:8080"environment:OLLAMA_BASE_URL:"http://ollama:11434"volumes:-/data/docker/open-webui/data:/app/backend/data    depends_on:-ollama    networks:-llm_network  anythingllm:image:mintplexlabs/anythingllm    container_name:anythingllm    restart:always    cap_add:-SYS_ADMIN    privileged:trueports:-"3014:3001"volumes:-/data/docker/anythingllm/data:/app/server/storage      -/data/docker/anythingllm/env/env.txt:/app/server/.env    depends_on:-ollama    networks:-llm_networknetworks:llm_network:driver:bridge

    这个docker-compose.yml文件中定义了三个服务:ollama

  • --cap-add SYS_ADMIN添加SYS_ADMIN能力给容器,这意味着容器将获得更多的系统管理权限,比如进行磁盘管理、
  • ollama/ollama指定要使用的ollama镜像和版本(latest)。
  • depends_on: 此选项用于指定服务依赖,确保open-webuianythingllm服务在ollama服务启动后再启动。内容生成、
  • -v /data/docker/open-webui/data:/app/backend/data将宿主机的数据目录挂载到容器中。重启策略、
  • m.daocloud.io/ghcr.io/open-webui/open-webui:main指定要使用的open-webui镜像
  • 测试open-webui服务:

    • 通过浏览器输入http://{宿主机IP}:3000/auth即可开始访问
  • AnythingLLM部署

    1. 获取AnythingLLM镜像:

      • 使用Docker从镜像仓库拉取AnythingLLM镜像:
        dockerpull mintplexlabs/anythingllm
    2. 创建AnythingLLM宿主机挂载目录:

      • 在宿主机上创建一个目录用于AnythingLLM数据的持久化存储:
        mkdir-p/data/docker/anythingllm/data
      • 在宿主机上创建一个目录用于存放AnythingLLM的环境变量信息
        mkdir-p/data/docker/anythingllm/env
      • 修改目录权限
        chmod-R777/data/docker/anythingllm
    3. 创建环境变量文件

      • 创建配置文件env.txt
        cd/data/docker/anythingllm/envtouchenv.txt
      • 增加环境变量信息
        SERVER_PORT=3001STORAGE_DIR="/app/server/storage"UID='1000'GID='1000'
    4. 启动AnythingLLM容器

      • 使用以下命令启动AnythingLLM容器,并将数据目录挂载到容器中:
        dockerrun \-d\--restartalways \--nameanythingllm \--cap-add SYS_ADMIN \--privileged=true \-p3014:3001 \-v/data/docker/anythingllm/data:/app/server/storage \-v/data/docker/anythingllm/env/env.txt:/app/server/.env \mintplexlabs/anythingllm
        其中:
        • -d表示后台运行容器。网络配置等
        • --privileged=true 使容器以特权模式运行,这将给予容器几乎相同于宿主机的权限。
        • -p 11434:11434 \将容器的11434端口映射到宿主机的11434端口。每个服务都有自己的配置,包括镜像、

          小结

          参考文章

          ollam官网

    特权模式、

    文章目录

      • 概要
      • Ollama部署
      • WebUI部署
      • AnythingLLM部署
      • Docker-Compose部署管理所有容器
      • 小结
      • 参考文章

    概要

    Ollama是一个强大的大模型提供者,它通过开源的方式,为开发者和企业提供了先进的大型语言模型(LLM)。

  • /data/docker/anythingllm/env/env.txt:/app/server/.env将宿主机的配置文件挂载到容器中。

  • 下一篇:504 GATEWAY