LLM: RAG ollama menggunakan open-webui dan postgresql docker

From OnnoWiki
Jump to navigation Jump to search

Untuk menginstal Ollama, Node.js, Open WebUI, dan PostgreSQL tanpa Docker di Ubuntu 24.04, serta menyimpan dokumen Retrieval-Augmented Generation (RAG) di basis data vektor, Anda dapat mengikuti langkah-langkah berikut:

Apa Itu?

  • Ollama = backend LLM yang jalan lokal (support model seperti LLaMA3, Mistral, dll)
  • Open WebUI = antarmuka web seperti ChatGPT, tapi open-source dan bisa pakai Ollama.
  • PostgreSQL = digunakan sebagai backend database (default-nya pakai SQLite, tapi bisa kita ganti ke PostgreSQL untuk skalabilitas & multi-user).


1. Instalasi Ollama dan Model LLM:

Ollama adalah alat untuk mengelola dan menjalankan model bahasa besar (LLM) secara lokal.

  • Unduh dan Instal Ollama:
sudo apt install curl net-tools
sudo curl -fsSL https://ollama.com/install.sh | sh
  • Buat file layanan systemd untuk Ollama:
sudo nano /etc/systemd/system/ollama.service

Isi dengan:

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

[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3

[Install]
WantedBy=default.target

Kemudian, aktifkan dan mulai layanan:

sudo systemctl daemon-reload
sudo systemctl enable ollama
sudo systemctl start ollama
  • Unduh Model LLM:

Misalnya, untuk mengunduh model DeepSeek Coder V2 16b:

ollama pull llama3
ollama pull bge-m3:latest

Optional,

ollama pull gemma3:4b
ollama pull deepseek-r1:7b
ollama pull llama3.2:1b
ollama pull qwen2.5-coder:7b  # untuk coding

ollama pull adijayainc/bhsa-deepseek-r1-1.5b
ollama pull adijayainc/bhsa-llama3.2
ollama pull rizkiagungid/deeprasx
ollama pull fyandono/chatbot-id
ollama pull rexyb10/codeai
ollama pull fahlevi20/DeepSeek-R1-TechSchole-Indonesia

2. Install Open WebUI via Docker Compose

Buat file `docker-compose.yml`:

version: '3.8'
services:
  webui:
    image: ghcr.io/open-webui/open-webui:main
    ports:
      - "3000:8080"
    volumes:
      - open-webui-data:/app/backend/data
    environment:
      - OLLAMA_BASE_URL=http://host.docker.internal:11434
      - DATABASE_URL=postgresql://postgres:password@postgresdb:5432/webui
    depends_on:
      - postgresdb

  postgresdb:
    image: postgres:14
    restart: always
    environment:
      POSTGRES_DB: webui
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
    volumes:
      - pgdata:/var/lib/postgresql/data

volumes:
  open-webui-data:
  pgdata:

Ubah username/password sesuai kebutuhan. `host.docker.internal` hanya untuk Windows/Mac. Di Linux, ganti ke IP lokal host atau `172.17.0.1`.

3. Jalankan dengan Docker Compose

docker compose up -d

Tunggu beberapa detik. Lalu akses:

http://localhost:3000

Tes

  • Login/register di WebUI.
  • Pilih model `llama3` atau model lain dari Ollama.
  • Coba chat → Open WebUI akan mengirim prompt ke Ollama via REST API.

Tips Tambahan

Ganti model

ollama run mistral

Lalu di WebUI, ganti ke `mistral`.

Expose PostgreSQL ke aplikasi lain (misalnya pgAdmin) Tambahkan port:

ports:
  - "5432:5432"

di service `postgresdb`.

Troubleshooting

Masalah ! Solusi
WebUI tidak connect ke Ollama Cek `OLLAMA_BASE_URL` benar (localhost vs host.docker.internal vs IP)
PostgreSQL gagal connect Pastikan DB name, username, password cocok
WebUI stuck loading Cek log: `docker compose logs -f webui`




Untuk model lainnya, sesuaikan perintah di atas.

2. Instalasi Node.js:

Node.js diperlukan untuk menjalankan aplikasi JavaScript di sisi server.

  • Menggunakan Node Version Manager (NVM):

Instal NVM:

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

Muat ulang shell:

source ~/.bashrc

Instal Node.js versi terbaru:

nvm install node

3. Instalasi Open WebUI:

Open WebUI adalah antarmuka pengguna web untuk berinteraksi dengan model AI.

  • Clone Repository dan Instal Dependensi:

Directly (Non-Docker): If not using Docker, you can set the DATABASE_URL environment variable when running Open WebUI. Code

DATABASE_URL="postgresql://<username>:<password>@<host>:<port>/<database_name>" python -m open_webu

i

git clone https://github.com/open-webui/open-webui.git
cd open-webui
npm install
  • Jalankan Open WebUI:
npm start

4. Instalasi PostgreSQL tanpa Docker:

PostgreSQL adalah sistem manajemen basis data relasional open-source.

  • Tambahkan Repository Resmi PostgreSQL dan Instal:
sudo apt update
sudo apt install -y postgresql
  • Verifikasi Instalasi:
sudo systemctl status postgresql

5. Penyimpanan Dokumen RAG di Basis Data Vektor:

Untuk menyimpan dokumen RAG di basis data vektor, Anda dapat menggunakan ekstensi seperti pgvector untuk PostgreSQL.

  • Instal pgvector:
psql -d nama_database -c "CREATE EXTENSION vector;"


  • Buat Tabel dengan Kolom Vektor:
CREATE TABLE items (
  id bigserial PRIMARY KEY,
  embedding vector(1536)
);


  • Masukkan Data dengan Vektor:
INSERT INTO items (embedding) VALUES ('[0.1, 0.2, ..., 0.1536]');

Dengan mengikuti langkah-langkah di atas, Anda dapat mengatur lingkungan yang mendukung Ollama, Node.js, Open WebUI, dan PostgreSQL tanpa Docker di Ubuntu 24.04, serta menyimpan dokumen RAG di basis data vektor.





Kalau kamu mau aku bantu generate semua file siap pakai (dengan template password dan setting), tinggal bilang aja ya.