与没有 Docker 的聊天机器人执行相比,在我的计算机中运行的 Docker 容器中执行聊天机器人时,它很晚才生成答案

问题描述 投票:0回答:1

我想知道“为什么我的聊天机器人比正常情况更晚生成并输入每个问题的答案?”我在下面更详细地向您解释:

我创建了具有以下依赖项的聊天机器人应用程序:

python 3.10.10
ollama 0.3.6 (https://ollama.com/)
chromadb==0.5.3
streamlit==1.36.0
langchain_core==0.2.9
langchain_community==0.2.5
PyPDF2
pypdf==4.2.0
langdetect==1.0.9

由于我的目标是在服务器上运行应用程序,所以我已经完成了 Docker 容器化。为此,我创建了

Dockerfile
docker-compose.yml
start.sh

  • Dockerfile
    包含所有依赖项安装过程、暴露聊天机器人端口等。
  • docker-compose.yml 包含两个服务的组合。第一个用于 Ollama 容器,第二个用于聊天机器人应用程序。在 Ollama Service 中,文件
    start.sh
    也会被执行。
  • start.sh
    包含 Ollama 的名称(在容器内启动 Ollama 服务)、Ollama 模型,并且它们将在执行
    start.sh
    文件时被拉取。

最后,在我的本地计算机上,当我执行命令

docker-compose up --build
时,它会执行容器化过程,安装 Ollama,启动 ollama 服务器并将 ollama 模型拉入 docker 容器内。在该过程结束时,我打开 http://localhost:8501 来启动聊天机器人应用程序。然后我上传文档,写下问题并按 Enter 键以获得答案。

关于答案:与我在没有 Docker 容器的本地计算机上使用聊天机器人应用程序的场景相比,我在很长一段时间后收到了相应问题的答案。这对我来说有点奇怪。

与没有 docker 容器的应用程序执行相比,当我在 docker 容器上执行应用程序时很晚才执行答案时,为什么我很晚才收到答案。

docker docker-compose deployment chatbot ollama
1个回答
0
投票

对于限制资源,您有什么具体选择吗? 比如:

  resources:
    limits:
      cpus: '0.5'       # Limit to 50% of one CPU
      memory: 512M      # Limit to 512 MB of memory

如果您想尝试将容器设置为特权模式:

services:
  my_service:
    image: my_image
    privileged: true  # Enable privileged mode for the container

如果这对您没有帮助,可能是 docker 桥接网络存在一些问题

© www.soinside.com 2019 - 2024. All rights reserved.