跳至主要内容

設定指引

Kuwa GenAI OS 可分成前端 Multi-chat WebUI 與後端的 Kuwa Kernel 與 Kuwa Executors。本文件紀錄了各個元件的設定方式。

Multi-chat WebUI

設定檔

Multi-chat 的主要設定檔位於 multi-chat/.env ,可以參考 multi-chat/.env.dev 調整設定以符合您的需求。

APP_NAME="Kuwa Chat"  # 整個網站的名稱,會套用到網站Title、信件名稱等
APP_ENV=production # 開發時用"local",正式上線改為"production"
APP_KEY= # Cookie 與 Session 的金鑰,由安裝程式自動產生,不須手動設定
APP_DEBUG=false # 是否印出除錯訊息
APP_URL=http://127.0.0.1/ # 網站可公開存取的URL
API_Key= # 內部呼叫自身 API 用的金鑰,由安裝程式自動產生,不須手動設定

Email_Required=true # 登入時是否會強制要求用信箱,通常保持true就好,除非須自己改寫登入驗證方式

# 日誌紀錄設定
# 詳情見參考資料: https://laravel.com/docs/10.x/logging
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

# 資料庫設定
# 詳情見參考資料: https://laravel.com/docs/10.x/database
DB_CONNECTION=sqlite
# DB_HOST=
# DB_PORT=
# DB_DATABASE=
# DB_USERNAME=
# DB_PASSWORD=

# 郵件寄送設定,用來寄送忘記密碼的驗證信
# 詳情見參考資料: https://laravel.com/docs/10.x/mail
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="YOUR MAIL HERE"
MAIL_FROM_NAME="${APP_NAME}"

# 服務佇列設定,用來暫存送到後端的服務請求
# 詳情見參考資料: https://laravel.com/docs/10.x/redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

# LDAP設定,用來串接其他權限管理系統
# 詳情見參考資料: https://ldaprecord.com/docs/laravel/v3/configuration/#using-an-environment-file-env
LDAP_LOGGING=false
LDAP_CONNECTION=default
LDAP_HOST=
LDAP_USERNAME="uid=root,cn=users,dc=test,dc=com"
LDAP_PASSWORD=
LDAP_PORT=389
LDAP_BASE_DN="dc=test,dc=com"
LDAP_TIMEOUT=5
LDAP_SSL=false
LDAP_TLS=false
LDAP_SASL=false

INFORMATION_URL='https://kuwaai.org/' # 顯示在功能列的「更多資訊」中,讓使用者能快速進入
# ALLOWED_IPS= # 限制能使用網站的來源 IP 位址,可以填寫多個逗號分隔的 CIDR,包括 IPv4 與 IPv6
# ALLOWED_EMAIL= # 限制註冊時可以使用的 Email 結尾,使用逗號分隔。例如nuk.edu.tw,則mail.nuk.edu.tw、nuk.edu.tw等都可以註冊
# DEFAULT_GROUP= # 預設的群組邀請碼,在沒有填寫邀請碼或邀請碼不存在的情況下,會加入這個邀請碼對應的群組

# 網站開放切換的語言,用JSON格式填寫
# 如 '{"en_us":"English","zh_tw":"中文 (台灣)"}' 可以限制只能中英文切換
# en_us 及 zh_tw 為 multi-chat\lang 下的語系檔名稱
# LANGUAGES='{"en_us":"English","zh_tw":"中文 (台灣)","zh_cn":"中文(中国)","ja_jp":"日本語 (日本)","de":"Deutsch (Deutschland)","cs_cz":"Čeština (Česká republika)","fr_fr":"Français (France)","ko_kr":"한국어 (대한민국)"}'
locale=en_us # 預設語系,如果是en_us則預設進來就是英文、zh_tw預設就會是中文
fallback_locale=en_us # 當語系檔翻譯有缺失時要退回到到哪一個語言

客製化元件

Multi-chat 支援客製化 UI 元件,可在 multi-chat/resources/views/components/custom/ 下建立屬於自己的 UI 元件,會取代 components/ 下的同名稱預設元件。
目前支援客製化應用程式的主要標誌、首頁與維修頁面的大標誌、首頁的主要內容、首頁的頁尾內容等 UI 元件

應用程式的主要標誌

  • 元件名稱: application-logo.blade.php

首頁與維修頁面的大標誌

  • 元件名稱: logo.blade.php

首頁的主要內容

  • 元件名稱: welcome_body.blade.php

首頁的頁尾內容

  • 元件名稱: welcome_footer.blade.php

Kuwa Kernel

目前 Kernel 主要設定檔位於 genai-os/kernel/src/variable.py 下。

version = "v1.0"    # Kuwa Kernel 版本,勿修改
data = {} # 內部資料,勿修改
log_folder = "logs" # 日誌紀錄目錄
record_file = "records.pickle" # Kuwa Kernel 內部資料的永久儲存位置,用於重起 Kernel 時保留資料

port = 9000 # Kernel 監聽的連接阜
ip = "0.0.0.0" # Kernel 監聽的 IP 位址

# 以下為安全過濾 (SafetyGuard) 功能的相關設定
os.environ['SAFETY_GUARD_MANAGER_URL'] = 'http://localhost:8000' # Manager 元件位址
os.environ['SAFETY_GUARD_DETECTOR_URL'] = 'grpc://localhost:50051' # Detector 元件位址
safety_guard_update_interval_sec = 30 # 過濾列表更新週期

Kuwa Executors

請參考 GitHub 中的設定說明