ollama 在启动时拉取模型,或者无需要求服务,

yqyhoc1h  于 2个月前  发布在  其他
关注(0)|答案(3)|浏览(126)

你想做什么?

为了在容器化环境中部署带有模型的Ollama时增强用户体验,通过自定义Dockerfile将模型预嵌入到镜像中或在启动Ollama时通过指定参数或环境变量拉取模型是有好处的。这消除了容器启动后需要API请求的需求。

我们应该如何解决这个问题?

  • ollama serve --pull [models]
  • OLLAMA_PULL=model1,model2 ollama serve
  • ollama pull 而不使用 ollama serve (实现起来稍微困难一些,但可以超越拉取模型创建自定义镜像的能力)

不解决这个问题会有什么影响?

对于托管Ollama来说,这是一个显著的改进。如果不这样做,特别是在生产环境中部署Ollama,将会更加具有挑战性。

还有其他问题吗?

相关:

mf98qq94

mf98qq941#

这在docker-compose.yaml中非常有用,包括在容器启动后自动创建多个模型。我看到在Kubernetes的helm中有这样的条目:

ollama:
  gpu
:
    # -- Enable GPU integration
    enabled: true
    
    # -- GPU type: 'nvidia' or 'amd'
    type: 'nvidia'
    
    # -- Specify the number of GPU to 2
    number: 2
   
  # -- List of models to pull at container startup
  models: 
    - mistral
    - llama2

no values.yaml
如何在docker-compose.yaml中实现这个功能?

ee7vknir

ee7vknir2#

将拉取与服务解耦也将对在启动服务器之前设置需求非常有帮助。我希望看到这个实现。

but5z9lq

but5z9lq3#

你可以在Dockerfile中添加以下内容:

RUN ollama serve & sleep 5 ; 
ollama pull $model_name ; 
echo "kill 'ollama serve' process" ; 
ps -ef | grep 'ollama serve' | grep -v grep | awk '{print $2}' | xargs -r kill -9

相关问题