我想知道“为什么我的聊天机器人比正常情况更晚生成并输入每个问题的答案?”我在下面更详细地向您解释:
我创建了具有以下依赖项的聊天机器人应用程序:
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
包含所有依赖项安装过程、暴露聊天机器人端口等。start.sh
也会被执行。start.sh
包含 Ollama 的名称(在容器内启动 Ollama 服务)、Ollama 模型,并且它们将在执行 start.sh
文件时被拉取。最后,在我的本地计算机上,当我执行命令
docker-compose up --build
时,它会执行容器化过程,安装 Ollama,启动 ollama 服务器并将 ollama 模型拉入 docker 容器内。在该过程结束时,我打开 http://localhost:8501 来启动聊天机器人应用程序。然后我上传文档,写下问题并按 Enter 键以获得答案。
关于答案:与我在没有 Docker 容器的本地计算机上使用聊天机器人应用程序的场景相比,我在很长一段时间后收到了相应问题的答案。这对我来说有点奇怪。
与没有 docker 容器的应用程序执行相比,当我在 docker 容器上执行应用程序时很晚才执行答案时,为什么我很晚才收到答案。
对于限制资源,您有什么具体选择吗? 比如:
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 桥接网络存在一些问题