Dify+华为昇腾服务器ARM架构摆设环境准备

打印 上一主题 下一主题

主题 831|帖子 831|积分 2493

一、问题背景

(1) 内网服务器与互联网物理隔离
(2) 华为昇腾服务器、麒麟sp2利用系统、aarch64、Linux环境、Docker 26.0.0
(3) 自己可以连网的条记本属于AMD架构,拉取的镜像没有办法直接移植。
二、办理方案:

1、拉取对应arm64架构的镜像文件并导入内网服务器

(1)拉取arm64架构对应的镜像
  
  1. #拉取对应arm64架构版本的镜像
  2. docker pull --platform linux/arm64 <image name>
复制代码
(2)确认镜像文件架构
  
  1. docker inspect <imageID> | grep Architecture
  2. 确认好该image是arm64架构
复制代码
(3)打包指定镜像到指定文件夹
  
  1. docker save <image_name>:<tag> -o <path>
复制代码
(4)内网服务器加载镜像文件
  
  1. docker load -i XX.tar
复制代码
一样平常至此都不会有任何bug。
2、开始卡bug并办理

(1)docker-compose up -d 之后,体现container无法正常创建,报错信息为

  
  1. Error response from daemon:
  2. failed to create task for container:
  3. failed to create shim task:
  4. OCI runtime create failed:
  5. container_linux.go:328:
  6. starting container process caused “permission denied” : unknown
复制代码
  1. 这里一开始各种怀疑权限问题,各种检查不是权限问题。最后发现竟然是因为麒麟系统自带的podman和docker冲突导致的,卸载podman之后就OK了。
复制代码
(2)办理完上述问题后,访问localhost,体现502 bad gateway的错误

一开始一直以为是Nginx服务的问题,就按照Dify官方给的办理方案各种利用发现根本没有用。

后来发现是Nginx服务依赖的API服务不正常,docker logs dify-api-1检察报错信息为
  
  1. [FATAL:partition_root.cc(863)] Check failed: (internal::SystemPageSize() == (size_t{1} << 12)) || (internal::SystemPageSize() == (size_t{1} << 14)).
  2. Running migrations
  3. None of PyTorch, TensorFlow >= 2.0, or Flax have been found. Models won't be available and only tokenizers, configuration and file/data utilities can be used.
  4. Preparing database migration...
复制代码
这个时间直接问ChatGPT这是什么bug,怎么办理真的很容易被带沟里,都是血泪!!!
真的很难想象这个错误竟然如此埋伏,在翻阅了半天dify的issue之后终于发现了有人和我遇到了同样的问题。此处贴上发现的办理方案:

原来是因为我最开始拉取的dify项目是0.11.2的,有这个问题,就按内里的方式,把pypdfium2下载下来后重新build谁人api的镜像就可以办理了。
其实dify新版本里已经把这个bug办理掉了,后来升级到了0.14.1,重新拉取对应arm64架构的镜像文件并导入内网服务器就乐成办理了。
说明dify这个开源项目还是有许多问题的,要实时更新最新版本。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

涛声依旧在

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表