前言:
ChatGLM3-main(代码) ChatGLM3-6B(模型)
背景
ChatGLM3-main 在外网的环境已经成功运行,现在需要部署到内网环境中,采用的是 Anaconda3 来管理 python 环境,我使用的方法是直接拷贝 anaconda3 安装目录下的 envs 里面的(ChatGLM3-38)环境,到服务器上对应的位置,有时候需要改一下服务器的 envs 目录的用户权限(需要完全控制)。网上还有其他方法,将对应环境打包…(下方的:方法二)
正文
如果看报错解决方法,直接看第4步即可
- 在内网机打开 Anaconda Prompt 命令行工具,执行
conda info -e
查询目前的环境 - 切换工作环境,执行
activate 环境名
,环境名不用区分大小写
- 查询一下当前环境有的包
conda list
- 先测一下 streamlit 能不能正常使用
streamlit hello
;这里出现过两个问题 ,1.steramlit 不是内部命令 (解决办法:应该是环境变量没有配置,配置对应的环境变量);2.下图报的错,出现这个问题,排查当前环境是否存在streamlit
这个包,如果存在还是报这个问题,在无网的环境下,先pip uninstall streamlit
卸载掉这个包,再去外网这里包的下载地址:https://pypi.tuna.tsinghua.edu.cn/simple/streamlit/ 下载对应版本的包(声明一下,这个地址如果去掉后边 streamlit 可以看所有,目前是报错了,但是直接替换 streamlit 换为别的包的名称,可以进到对应包的下载地址中);将其拷贝到内网环境中,执行pip install xxxx.whl
,就成功安装了;再去执行streamlit hello
,成功运行。
以上是我在内网部署过程中碰到的最大的问题,特此记录
方法二:
通过命令生成 requirements.txt
文件,并下载对应的 .whl
文件
1. 生成 txt 文件, 在对应的环境下执行:
pip freeze > requirements.txt
2.下载 .whl 文件,执行下列命令,packUrl 是包保存的路径
pip download -r requirements.txt -d packUrl -i https://pypi.tuna.tsinghua.edu.cn/simple/
- 将上述的 txt 与 pack 文件夹,拷贝到另一个机器上,先切换到要使用的环境,再执行
pip install --no-index --find-links=packUrl -r requirements.txt
-----------------------------------------------------------------------------------------------
针对当前项目(ChatGLM3)记录下其他问题
1. torch 去官网找对应的版本下载,有GPU的下载GPU,没有的下载CPU
2. modelscope 包也报过上述存在的问题,同样先卸载,再重新 install 一下就可以了
-----------------------------------------------------------------------------------------------
笔记:
- modelscope 可以替换 transfromers 所有内容都包含;(如下图)
- 模型的路径是可以替换为本体的路径,如上图