Commit
·
7b69d79
verified
·
0
Parent(s):
Duplicate from gendisjawi/ollama-openwebui-colab
Browse filesCo-authored-by: Gendis Jawi <[email protected]>
- .gitattributes +35 -0
- Ollama_OpenWebUI_colab_v2.ipynb +136 -0
- download_model.sh +44 -0
- install_program.sh +38 -0
- start.sh +31 -0
.gitattributes
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
Ollama_OpenWebUI_colab_v2.ipynb
ADDED
@@ -0,0 +1,136 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"cells": [
|
3 |
+
{
|
4 |
+
"cell_type": "markdown",
|
5 |
+
"source": [
|
6 |
+
"##***Project `Ollama-OpenWebUI-colab`***\n",
|
7 |
+
"### Menjalankan large language model dengan ollama dan open-webui sebagai web server di google colab. Gratis tanpa spek PC gemink cukup pake hape saja.\n",
|
8 |
+
"###### Author: Yudhistira Ardhi\n",
|
9 |
+
"###### Last time updated: Feb 4, 2025"
|
10 |
+
],
|
11 |
+
"metadata": {
|
12 |
+
"id": "Ubw_-UYhKUcB"
|
13 |
+
}
|
14 |
+
},
|
15 |
+
{
|
16 |
+
"cell_type": "markdown",
|
17 |
+
"source": [
|
18 |
+
"### Cara Penggunaan\n",
|
19 |
+
"## Atur Runtime di Google Colab\n",
|
20 |
+
"- Klik menu Runtime di Google Colab.\n",
|
21 |
+
"- Pilih Change runtime type dan pastikan opsi T4 GPU dipilih."
|
22 |
+
],
|
23 |
+
"metadata": {
|
24 |
+
"id": "RXTgiBTuMZ59"
|
25 |
+
}
|
26 |
+
},
|
27 |
+
{
|
28 |
+
"cell_type": "code",
|
29 |
+
"source": [
|
30 |
+
"#@title 1. Jalankan dibawah ini: Cek Driver Nvidia\n",
|
31 |
+
"#@markdown tinggal di klik ikon segitiga\n",
|
32 |
+
"!nvidia-smi"
|
33 |
+
],
|
34 |
+
"metadata": {
|
35 |
+
"colab": {
|
36 |
+
"base_uri": "https://localhost:8080/"
|
37 |
+
},
|
38 |
+
"id": "MC-TH8SNwrbQ",
|
39 |
+
"outputId": "10eb82b2-2ce2-428b-d3c7-117c30a4e164",
|
40 |
+
"collapsed": true,
|
41 |
+
"cellView": "form"
|
42 |
+
},
|
43 |
+
"execution_count": null,
|
44 |
+
"outputs": [
|
45 |
+
{
|
46 |
+
"output_type": "stream",
|
47 |
+
"name": "stdout",
|
48 |
+
"text": [
|
49 |
+
"Tue Feb 4 02:52:49 2025 \n",
|
50 |
+
"+-----------------------------------------------------------------------------------------+\n",
|
51 |
+
"| NVIDIA-SMI 550.54.15 Driver Version: 550.54.15 CUDA Version: 12.4 |\n",
|
52 |
+
"|-----------------------------------------+------------------------+----------------------+\n",
|
53 |
+
"| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |\n",
|
54 |
+
"| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |\n",
|
55 |
+
"| | | MIG M. |\n",
|
56 |
+
"|=========================================+========================+======================|\n",
|
57 |
+
"| 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 |\n",
|
58 |
+
"| N/A 45C P8 9W / 70W | 0MiB / 15360MiB | 0% Default |\n",
|
59 |
+
"| | | N/A |\n",
|
60 |
+
"+-----------------------------------------+------------------------+----------------------+\n",
|
61 |
+
" \n",
|
62 |
+
"+-----------------------------------------------------------------------------------------+\n",
|
63 |
+
"| Processes: |\n",
|
64 |
+
"| GPU GI CI PID Type Process name GPU Memory |\n",
|
65 |
+
"| ID ID Usage |\n",
|
66 |
+
"|=========================================================================================|\n",
|
67 |
+
"| No running processes found |\n",
|
68 |
+
"+-----------------------------------------------------------------------------------------+\n"
|
69 |
+
]
|
70 |
+
}
|
71 |
+
]
|
72 |
+
},
|
73 |
+
{
|
74 |
+
"cell_type": "code",
|
75 |
+
"source": [
|
76 |
+
"#@title 2. Jalankan dibawah ini:\n",
|
77 |
+
"#@markdown ## Download dan install program yang diperlukan\n",
|
78 |
+
"#@markdown tinggal di klik icon segitiga. agak lama sih installnya.\n",
|
79 |
+
"!git clone https://huggingface.co/gendisjawi/ollama-openwebui-colab\n",
|
80 |
+
"!chmod +x ollama-openwebui-colab/install_program.sh ollama-openwebui-colab/download_model.sh ollama-openwebui-colab/start.sh\n",
|
81 |
+
"!./ollama-openwebui-colab/install_program.sh"
|
82 |
+
],
|
83 |
+
"metadata": {
|
84 |
+
"cellView": "form",
|
85 |
+
"id": "0xSHZwa8PDiv"
|
86 |
+
},
|
87 |
+
"execution_count": null,
|
88 |
+
"outputs": []
|
89 |
+
},
|
90 |
+
{
|
91 |
+
"cell_type": "code",
|
92 |
+
"source": [
|
93 |
+
"#@title 3. Jalankan dibawah ini:\n",
|
94 |
+
"#@markdown ## Download model dari repository ollama\n",
|
95 |
+
"#@markdown kalian bisa melihat list model yang ingin digunakan di web ollama yaitu di: https://ollama.com/search <br>\n",
|
96 |
+
"#@markdown cukup masukkan nama model disini, default = \"deepseek-r1:1.5b\" dengan ukuran 1.1gb\n",
|
97 |
+
"model_name = \"deepseek-r1:1.5b\" #@param {type: \"string\"}\n",
|
98 |
+
"!./ollama-openwebui-colab/download_model.sh --model {model_name}\n"
|
99 |
+
],
|
100 |
+
"metadata": {
|
101 |
+
"id": "bVvWniFqIS67",
|
102 |
+
"cellView": "form"
|
103 |
+
},
|
104 |
+
"execution_count": null,
|
105 |
+
"outputs": []
|
106 |
+
},
|
107 |
+
{
|
108 |
+
"cell_type": "code",
|
109 |
+
"source": [
|
110 |
+
"#@title 4. Jalankan dibawah ini\n",
|
111 |
+
"#@markdown ## Jalankan program\n",
|
112 |
+
"#@markdown tolong tunggu hingga link/url muncul, jangan di klik dulu soalnya masih loading lamaa sebenernya hehe. <br>jika sudah muncul maka daftarkan akun di situs tersebut baru bisa digunakan\n",
|
113 |
+
"!./ollama-openwebui-colab/start.sh"
|
114 |
+
],
|
115 |
+
"metadata": {
|
116 |
+
"cellView": "form",
|
117 |
+
"id": "D_bbexsqRy-C"
|
118 |
+
},
|
119 |
+
"execution_count": null,
|
120 |
+
"outputs": []
|
121 |
+
}
|
122 |
+
],
|
123 |
+
"metadata": {
|
124 |
+
"colab": {
|
125 |
+
"provenance": [],
|
126 |
+
"gpuType": "T4"
|
127 |
+
},
|
128 |
+
"kernelspec": {
|
129 |
+
"display_name": "Python 3",
|
130 |
+
"name": "python3"
|
131 |
+
},
|
132 |
+
"accelerator": "GPU"
|
133 |
+
},
|
134 |
+
"nbformat": 4,
|
135 |
+
"nbformat_minor": 0
|
136 |
+
}
|
download_model.sh
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/bin/bash
|
2 |
+
set -e
|
3 |
+
|
4 |
+
usage() {
|
5 |
+
echo "Usage: $0 --model <model_name>"
|
6 |
+
exit 1
|
7 |
+
}
|
8 |
+
|
9 |
+
MODEL=""
|
10 |
+
|
11 |
+
PARSED_ARGS=$(getopt -o '' --long model: -n "$0" -- "$@")
|
12 |
+
if [ $? -ne 0 ]; then
|
13 |
+
usage
|
14 |
+
fi
|
15 |
+
|
16 |
+
eval set -- "$PARSED_ARGS"
|
17 |
+
|
18 |
+
while true; do
|
19 |
+
case "$1" in
|
20 |
+
--model)
|
21 |
+
MODEL="$2"
|
22 |
+
shift 2
|
23 |
+
;;
|
24 |
+
--)
|
25 |
+
shift
|
26 |
+
break
|
27 |
+
;;
|
28 |
+
*)
|
29 |
+
break
|
30 |
+
;;
|
31 |
+
esac
|
32 |
+
done
|
33 |
+
|
34 |
+
if [ -z "$MODEL" ]; then
|
35 |
+
usage
|
36 |
+
fi
|
37 |
+
|
38 |
+
echo "Menjalankan 'ollama serve' di background..."
|
39 |
+
ollama serve > /dev/null 2>&1 &
|
40 |
+
|
41 |
+
sleep 2
|
42 |
+
|
43 |
+
echo "Mendownload model: $MODEL"
|
44 |
+
ollama pull "$MODEL"
|
install_program.sh
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/bin/bash
|
2 |
+
set -e
|
3 |
+
# Untuk menampilkan log
|
4 |
+
log() {
|
5 |
+
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*"
|
6 |
+
}
|
7 |
+
|
8 |
+
# 1. Install lshw pada Debian
|
9 |
+
log "Memperbarui daftar paket..."
|
10 |
+
apt-get update
|
11 |
+
|
12 |
+
log "Menginstall lshw..."
|
13 |
+
apt-get install -y lshw
|
14 |
+
|
15 |
+
# 2. Install ollama service
|
16 |
+
log "Menginstall ollama service..."
|
17 |
+
curl -fsSL https://ollama.com/install.sh | sh
|
18 |
+
|
19 |
+
# 3. Install uvx
|
20 |
+
log "Menginstall uvx..."
|
21 |
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
22 |
+
|
23 |
+
# 4. Install cloudflared
|
24 |
+
CLOUDFLARED_DEB="cloudflared-linux-amd64.deb"
|
25 |
+
log "Mengunduh cloudflared..."
|
26 |
+
curl -L "https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb" -o "${CLOUDFLARED_DEB}"
|
27 |
+
|
28 |
+
log "Menginstall cloudflared..."
|
29 |
+
dpkg -i "${CLOUDFLARED_DEB}" || apt-get install -f -y
|
30 |
+
|
31 |
+
log "Membersihkan file installer cloudflared..."
|
32 |
+
rm -f "${CLOUDFLARED_DEB}"
|
33 |
+
|
34 |
+
# 5. Install open-webui
|
35 |
+
log "Menginstall open-webui..."
|
36 |
+
DATA_DIR=$PWD/open-webui uvx --python 3.11 open-webui@latest
|
37 |
+
|
38 |
+
log "Instalasi selesai!"
|
start.sh
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/bin/bash
|
2 |
+
set -e
|
3 |
+
|
4 |
+
# 1. Jalankan ollama serve di background terlebih dahulu
|
5 |
+
echo "Menjalankan ollama serve di background..."
|
6 |
+
ollama serve > /dev/null 2>&1 &
|
7 |
+
|
8 |
+
# 2. Jalankan open-webui dengan uvx di background
|
9 |
+
echo "Menjalankan open-webui di background..."
|
10 |
+
DATA_DIR=$PWD/open-webui uvx --python 3.11 open-webui@latest serve --port 8090 > /dev/null 2>&1 &
|
11 |
+
|
12 |
+
echo "Tunggu..."
|
13 |
+
sleep 20
|
14 |
+
|
15 |
+
# # 3. Jalankan Cloudflared Tunnel
|
16 |
+
# echo "Menjalankan cloudflared tunnel..."
|
17 |
+
# cloudflared tunnel --url http://localhost:8090
|
18 |
+
|
19 |
+
# 3. Download dan ekstrak Bore
|
20 |
+
echo "Mengunduh dan mengekstrak Bore..."
|
21 |
+
wget -qO- "https://github.com/ekzhang/bore/releases/download/v0.5.2/bore-v0.5.2-x86_64-unknown-linux-musl.tar.gz" | tar -xz
|
22 |
+
|
23 |
+
# 4. Jalankan Bore
|
24 |
+
echo "Menjalankan bore tunnel..."
|
25 |
+
./bore local 8090 --to bore.pub | while read line; do
|
26 |
+
if echo "$line" | grep -q 'bore.pub'; then
|
27 |
+
port=$(echo "$line" | grep -o 'bore.pub:[0-9]*')
|
28 |
+
echo "Ini situsnya, silahkan di klik http://$port"
|
29 |
+
echo "Tolong tunggu agak lama ya"
|
30 |
+
fi
|
31 |
+
done
|