- Docker Compose V2 以上,測試過的版本
- 2.24.6
- 2.24.7
- Docker Engine 18.06.0 以上,測試過的版本
- 25.0.3 (git commit: f417435)
- 25.0.4 (git commit: 061aa95)
以下指令皆在 Ubuntu 22.04 LTS 測試,若您使用不同 Linux 發行版,請自行參考相關文件。
若您有使用 NVIDIA GPU 進行模型推論的需求,請安裝 CUDA 與 NVIDIA Container Toolkit。
參考文件: NVIDIA CUDA Installation Guide for Linux
# Install the header of current running kernel
sudo apt install -y linux-headers-$(uname -r)
# or for auto-upgrade
sudo apt install -y linux-headers-generic
# Install the keyring
distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g')
wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
rm cuda-keyring_1.1-1_all.deb
sudo apt update
# Install the NVIDIA driver without any X Window packages
sudo apt install -y --no-install-recommends cuda-drivers
sudo reboot
# Verify the version of installed driver
cat /proc/driver/nvidia/version
# Output sample:
# NVRM version: NVIDIA UNIX x86_64 Kernel Module 545.23.08 Mon Nov 6 23:49:37 UTC 2023
# GCC version: gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)
參考文件: Install Docker Engine on Ubuntu
# Add official GPG key
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
# Setup repository
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# Install necessary package
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Enable the service
sudo systemctl --now enable docker
# Enable unattended-update
cat << EOT | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-docker
Unattended-Upgrade::Origins-Pattern {
"origin=Docker";
};
EOT
參考文件: Installing the NVIDIA Container Toolkit
# Setup GPG key
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
# Setup the repository
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
# Configure the NVIDIA runtime to be the default docker runtime
sudo nvidia-ctk runtime configure --runtime=docker --set-as-default
sudo systemctl restart docker
# Verify
sudo docker pull nvidia/cuda:12.2.0-base-ubuntu22.04
sudo docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu22.04 nvidia-smi
複製.admin-password.sample
, .db-password.sample
, .env.sample
, run.sh.sample
並把 .sample
副檔名去掉
檔案說明如下:
.admin-password
: 預設管理者密碼,建議不要維持預設值.db-password
: 系統自帶資料庫密碼,建議設定成足夠長度的隨機字串.env
: 其餘系統環境變數,最小設定值如下DOMAIN_NAME=localhost # 網站域名,若要公開提供服務,請設定成你的公開域名 PUBLIC_BASE_URL="http://${DOMAIN_NAME}/" # 網站基礎 URL ADMIN_NAME="Kuwa Admin" # 網站預設管理者名稱 ADMIN_EMAIL="admin@${DOMAIN_NAME}" # 網站預設管理者登入電子郵件,可為不存在的電子郵件
Warning
請使用 Docker Compose V2 以上的版本。
Ubuntu APT 中的 docker-compose
套件為 Docker Compose V1,無法使用,請參考前面章節安裝新版 Docker Compose
使用以下腳本啟動基礎 Kuwa GenAI OS 系統,包含 Gemini-Pro Executor, Document QA, WebQA, Search QA
可以透過更改 ./run.sh
中的 confs
陣列內容調整要啟動的元件,元件設定都在 docker/compose
目錄中
./run.sh
Docker 版本預設不會在 Multi-Chat 網頁前端顯示任何錯誤訊息,若您遇到錯誤可以將 ./run.sh
中的 # "dev"
前方註解取消,
並重新執行以下指令,即可啟動除錯模式
./run.sh
每種 Executor 的設定都已寫在 docker/compose
目錄下對應的 YAML 檔案中 (gemini.yaml, chatgpt.yaml, huggingface.yaml, llamacpp.yaml, ...),請參考這些設定檔按照您的需求擴充。
您可能需要參考 Executor 說明文件。
並將所需的 YAML 設定檔新增至 ./run.sh
中的 confs
陣列中。
完成設定檔後可使用以下指令啟動整個系統
./run.sh
若您資料庫不小心遺失或毀損,可透過強置更新重置資料庫。
請先確定系統正在運作中,再使用以下指令強制更新資料庫。
docker exec -it kuwa-multi-chat-1 docker-entrypoint force-upgrade
自 v0.3.4 起,預設會從 Docker Hub 下載預先建置好的 Kuwa Docker Image,
若您想從原始碼建立映像,請確保您的 genai-os
目錄下已包含 .git
目錄。接著,可使用以下指令建立 Kuwa 映像:
cd docker
./run.sh build
執行此指令會建立 kuwaai/model-executor
、kuwaai/multi-chat
、kuwaai/kernel
、以及 kuwaai/multi-chat-web
等四個映像。