1    到autodl的算力市场里开一台机器

镜像选择:PyTorch  2.3.0 、Python  3.12(ubuntu22.04) 、Cuda  12.1

我本来选择的Cuda12.4,但版本过高疑似会使ollama不使用GPU而只用CPU,后来换个镜像就好了

  2   下载lightrag

从lightrag的GitHub界面下载zip

开机,上传zip,解压到autodl-tmp/lightrag下

安装依赖,在文件夹下:pip install -e .

  3   安装ollama

参考了https://github.com/ollama/ollama/blob/main/docs/linux.md

可直接在autodl的终端里使用 curl -fsSL https://ollama.com/install.sh | sh 进行下载,但网速不好会很慢

或者下载安装包后进行解压:

https://ollama.com/download/ollama-linux-amd64.tgz在这里下载ollama安装包,传到服务器的auto-tmp/ollama目录下

然后解压:tar -xzf ollama-linux-amd64.tgz

然后创建ollama.service文件:

vi /etc/systemd/system/ollama.service

写入:

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/root/autodl-tmp/ollama/bin/ollama serve
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"
Environment="OLLAMA_MODELS=/data/ollama/.ollama/models"
# ExecStart=/usr/local/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
Environment="PATH=$PATH"
Environment="OLLAMA_MODELS=/root/autodl-tmp/ollama/models
Environment="OLLAMA_HOST=0.0.0.0:11434"

[Install]
WantedBy=default.target

修改完后刷新:systemctl daemon-reload  (报错可忽略)

然后配置全局环境变量:vi /etc/profile.d/ollama.sh

写入:

PATH=$PATH:/autodl-tmp/ollama/bin
export PATH

然后刷新:source /etc/profile

由于AutoDL只能开放6006端口,所以我们要想在本地电脑访问到Ollama接口,必须手动设置Ollama端口为6006;同时将Ollama的模型保存地址也修改到autodl-tmp文件夹下。

编辑/etc/profile文件:vim /etc/profile

export OLLAMA_HOST="0.0.0.0:6006"
export OLLAMA_MODELS=/root/autodl-tmp/models

然后输入以下命令使得配置生效:source /etc/profile

检查配置是否生效:echo $OLLAMA_HOST

出现下列显示说明配置生效:。。。0.0.0.0:6006 

参考:https://blog.csdn.net/qq_46078469/article/details/141818022

  4   下载模型

输入:ollama serve,然后在另一个终端去下载模型

出现ollama command not found,说明环境变量没添加上,可以cd 到ollama/bin下,在终端用 ./ollama serve进行操作

到https://ollama.com找合适的模型,复制下载指令

#llm
ollama run deepseek-r1:7b

#embed
ollama pull nomic-embed-text

raise ResponseError(e.response.text, e.response.status_code) from None
ollama._types.ResponseError: {} (status code: 500)    

疑似embedding模型出错,我本来用的shaw/dmeta-embedding-zh,改用nomic-embed-text就正常了,有的embedding模型就是不能用

ollama相关命令

1.判断ollama状态:systemctl status ollama.service

2.关闭ollama:systemctl stop ollama.service(不一定能用)

或者:sudo ps -ef | grep -v color | grep ollama,手动kill -9 <pid>

  5   streamlit安装

1.pip install streamlit

2.在自己电脑的cmd上输入
ssh -CNg -L 8501:127.0.0.1:8501 root@connect.yza1.seetacloud.com -p 28133
最后的28133根据autodl的登录指令进行修改

SSH时出现WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!


此报错是由于远程的主机的公钥发生了变化导致的。 
ssh服务是通过公钥和私钥来进行连接的,它会把每个曾经访问过计算机或服务器的公钥(public key),记录在~/.ssh/known_hosts 中,当下次访问曾经访问过的计算机或服务器时,ssh就会核对公钥,如果和上次记录的不同,OpenSSH会发出警告。


解决方法:打开 known_hosts 文件,删除与远程主机相关的行。
在 Windows 上,known_hosts 文件通常位于:
C:\Users\<你的用户名>\.ssh\known_hosts
找到文件中与 [connect.yza1.seetacloud.com]:28133 相关的行(通常是第一行),删除它。
重新连接远程服务器,SSH 会提示你接受新的主机密钥。

3.使用的时候,打开ollama服务,streamlit run xx.py,ssh连接,在浏览器127.0.0.1:8501即可使用

  6   其它

nvidia-smi查看显卡状态

在jupyter运行代码出现event loop is already running:

添加import nest_asyncio、nest_asyncio.apply()

判断GPU是否正常:

# 在终端执行以下命令,然后到实例监控观察GPU的使用情况(注意该代码是Torch代码)
# 如果GPU使用率不为0,则证明你的代码可能未调用GPU进行计算,请检查调试代码。
wget http://autodl-public.ks3-cn-beijing.ksyun.com/debug/dp_res18.py
python dp_res18.py

如果该代码运行时GPU正常占用,但是自己项目GPU不动,可以试试降低镜像版本

握草啊,搞了3天,,autodl几十kb的上传速度真是恶心坏了;再一个,代码模型差一点都不管用,难评 

更多推荐