【Dify学习笔记】:dify通过ollama加载DeepSeek-R1-32B模型无法加载!终于解决了!!
dify通过ollama加载DeepSeek-R1-32B模型无法加载
前提概要:本机ubuntu 22.04使用docker启动dify,本地部署ollama,dify通过ollama配置deepseek模型,查看官方文档API配置,成功添加模型,但在工作流中使用32B模型报错,无法运行(1.5B和8B能正常运行,甚至最开始只有1.5B模型能运行,问题解决一半,8B也能运行,32B就是无法运行),尝试调整dify的配置文件.env,网上查看没查看具体“模型加载超时”参数,github上看issues没看到类似的情况,疯狂查问题可能原因,各种方式,终于成功运行!!
特此记录这次调bug的记录(痛哭!!)
零、报错记录
报错:Run failed: [models] Server Unavailable Error, (‘Connection aborted.’, RemoteDisconnected(‘Remote end closed connection without response’))
报错:Run failed: [models] Connection Error, HTTPConnectionPool(host=‘xxx.xxx.x.xx’, port=11434): Read timed out. (read timeout=300)
报错:Run failed: [ollama] Error: PluginDaemonInternalServerError: killed by timeout
一、ollama进程配置
1. 检查ollama进程杀死原因:
# 查看进程杀死日志
sudo dmesg | grep -i "killed process"
如果显示以下报错,表示内存不够,系统强制杀死了进程:
[28237.936149] Out of memory: Killed process 1336788 (ollama) ...
2. 检查进程占用信息
# 查看进程
top
显示如下:
top - 17:42:26 up 8:18, 3 users, load average: 0.99, 1.78, 3.61
任务: 756 total, 1 running, 733 sleeping, 17 stopped, 5 zombie
%Cpu(s): 0.6 us, 1.1 sy, 0.0 ni, 98.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 31852.5 total, 14115.5 free, 10233.7 used, 7503.4 buff/cache
MiB Swap: 2048.0 total, 3.5 free, 2044.5 used. 20786.9 avail Mem
查看到Swap用满了,3.5 free
3. 增加Swap内存大小
如果Swap的free很低,可以尝试增加交换分区内存大小,一般32B可以设置为8~16G的交换分区大小
# 检查当前Swap大小
free -h
# 设置Swap为8G
sudo swapoff -a
sudo rm /swapfile
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# 再次检查当前Swap大小
free -h
应当看到:
Swap: 8.0G 0B 8.0G
二、dify环境配置
.env文件修改参数
# 插件机制默认值是 600s
PLUGIN_MAX_EXECUTION_TIMEOUT=1800
# 后端 WSGI 超时时间默认值是 200
GUNICORN_TIMEOUT=900
重启dify
docker compose down
docker compose up -d
三、提前加载模型
使用接口加载
curl http://192.168.1.60:11434/api/generate \-H "Content-Type: application/json" \-d '{"model": "deepseek-r1:32b","prompt": "你好","stream": false}'
输出
{"model":"deepseek-r1:32b","created_at":"2025-05-22T11:11:21.505766068Z","response":"\u003cthink\u003e\n\n\u003c/think\u003e\n\n你好!很高兴见到你,有什么我可以帮忙的吗?","done":true,"done_reason":"stop","context":[151644,108386,151645,151648,271,151649,271,108386,6313,112169,104639,56568,3837,104139,109944,106128,9370,101037,11319],"total_duration":1090144181907,"load_duration":14164561,"prompt_eval_count":4,"prompt_eval_duration":1056432709073,"eval_count":17,"eval_duration":33696235890}