-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathrestore.sh
More file actions
166 lines (130 loc) · 4.92 KB
/
Copy pathrestore.sh
File metadata and controls
166 lines (130 loc) · 4.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#!/bin/bash
# === AI Agent 操作系统恢复脚本 ===
# 功能:初期为了避免厂商提供的sandbox无法恢复,集成 pnpm、.NET 8、Python 、 Unsloth 、 Docker、 btrace 相关环境,持续补充中。
set -e # 出错时立即中止执行
# ========================================
# 0. Ollama和npm,一般都有
# ========================================
echo "🔍 检查 pnpm 是否已安装..."
pnpm --version || echo "⚠️ 未检测到 pnpm,请手动安装。"
echo "🚀 安装 Ollama..."
cd /home/ubuntu && curl -fsSL https://ollama.com/install.sh | sh
# ========================================
# 1. 安装 .NET 8 SDK
# ========================================
echo "⚙️ 安装 .NET 8 SDK..."
cd /home/ubuntu
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
chmod +x ./dotnet-install.sh
./dotnet-install.sh --version latest --channel 8.0
echo "⚙️ 设置全局dotnet"
echo 'export PATH="$PATH:/home/ubuntu/.dotnet"' >> /home/ubuntu/.bashrc
echo 'export DOTNET_ROOT=/home/ubuntu/.dotnet' >> /home/ubuntu/.bashrc
source ~/.bashrc
cd /home/ubuntu/
dotnet --version
cd /home/ubuntu/ai-agent && cd /home/ubuntu/ai-agent/platform/backend
dotnet --version
# ========================================
# 2. 安装 Python 与系统依赖项
# ========================================
echo "🐍 安装 Python 和系统依赖项..."
sudo apt-get update
sudo apt-get install -y \
python3-dev \
python3-pip \
python3-venv \
build-essential \
cmake \
git \
wget \
curl \
libopenblas-dev \
libomp-dev
echo "✅ 系统依赖项安装完成。"
# ========================================
# 3. 安装 Docker 和 btrace(适用于 Ubuntu)
# ========================================
echo "🐳 安装 Docker..."
# 移除旧版本(如果存在)
sudo apt-get remove -y docker docker-engine docker.io containerd runc || true
# 安装依赖工具
sudo apt-get install -y ca-certificates curl gnupg
# 添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 添加 Docker 官方仓库
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新并安装 Docker 引擎
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 验证 Docker 安装
docker --version
echo "✅ Docker 安装完成。"
echo "⚙️ 安装 bpftrace(eBPF)..."
cd /home/ubuntu && sudo apt-get update && sudo apt-get install -y bpftrace
bpftrace --version
echo "✅ bpftrace(eBPF) 安装完成。"
# ========================================
# 4. 还原 .NET 与前端依赖
# ========================================
echo "📦 恢复 .NET 和 pnpm 项目依赖..."
dotnet restore /home/ubuntu/ai-agent/apps/agent-api/Agent.Api/Agent.Api.csproj
cd /home/ubuntu/ai-agent/apps/agent-ui
pnpm install
# ========================================
# 5. 安装 Unsloth 和 LoRA 微调依赖
# ========================================
echo "🧪 设置 Unsloth 和 LoRA 微调环境..."
if [ ! -d "finetune/venv" ]; then
python3 -m venv finetune/venv
fi
source finetune/venv/bin/activate
echo "🔥 安装支持 CUDA 的 PyTorch..."
pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu121
echo "📥 安装 Unsloth..."
pip install unsloth
echo "🔧 安装其他微调相关依赖..."
pip install \
transformers==4.36.2 \
datasets==2.16.1 \
peft==0.7.1 \
accelerate==0.25.0 \
bitsandbytes==0.41.3 \
trl==0.7.4 \
wandb==0.16.1 \
sentencepiece==0.1.99 \
gradio==4.12.0 \
pandas numpy matplotlib scikit-learn
echo "📝 保存当前环境到 requirements.txt..."
pip freeze > finetune/requirements.txt
echo "✅ 安装全部完成!"
echo "💡 若需再次激活微调环境,请执行:source finetune/venv/bin/activate"
# ========================================
# 6. git部分需要手动进行(参考自己的情况来执行)
# ========================================
exit
ssh-keygen -t RSA -C "@"
if [ ! -d "/home/ubuntu/ai-agent" ]; then
mkdir -p /home/ubuntu/ai-agent
fi
cd /home/ubuntu/ai-agent
echo "1. 初始化"
git init
echo "2. 添加远程remote"
git remote add origin "git@github.com:xxx/xxx.git"
git config --global user.email ""
git config --global user.name ""
echo "3. 确保指纹,用于本linux与github官网确保安全连接,防止被盗用,known_hosts,优先执行第一个。"
ssh -vT git@github.com
ssh -T git@github.com
echo "4. 拉取最新变更"
git fetch origin
echo "5. 切换到 main 分支"
git checkout -b main origin/main
echo "6. 确保本地 跟踪"
git branch --set-upstream-to=origin/main