mexicanamerican gendisjawi commited on
Commit
7b69d79
·
verified ·
0 Parent(s):

Duplicate from gendisjawi/ollama-openwebui-colab

Browse files

Co-authored-by: Gendis Jawi <[email protected]>

.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