From a52b017e1ac81db13fdb410177d3bc799ff2fabd Mon Sep 17 00:00:00 2001
From: root <peng.alan@gmail.com>
Date: 星期六, 17 五月 2025 10:11:16 +0800
Subject: [PATCH] Add weaviate database service

---
 docker-deploy/deploy/.env                       |   11 +++++++++++
 docker-deploy/deploy/update_ruoyi-qi-sql.sh     |    2 ++
 docker-deploy/deploy/mysql-init/01_ruoyi-ai.sql |    2 +-
 docker-deploy/deploy/docker-compose.yaml        |   22 ++++++++++++++++++++++
 4 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/docker-deploy/deploy/.env b/docker-deploy/deploy/.env
index 6bd8fd7..76fc231 100644
--- a/docker-deploy/deploy/.env
+++ b/docker-deploy/deploy/.env
@@ -12,6 +12,17 @@
 REDIS_DATABASE=0
 REDIS_TIMEOUT=10s
 
+# Weaviate Configuration
+WEAVIATE_QUERY_LIMIT=25
+WEAVIATE_ANONYMOUS_ACCESS=true
+WEAVIATE_DATA_PATH=/var/lib/weaviate
+WEAVIATE_VECTORIZER_MODULE=none
+WEAVIATE_MODULES=text2vec-cohere,text2vec-huggingface,text2vec-palm,text2vec-openai,generative-openai,generative-cohere,generative-palm,ref2vec-centroid,reranker-cohere,qna-openai
+WEAVIATE_CLUSTER_HOSTNAME=node1
+WEAVIATE_PROTOCOL=http
+WEAVIATE_HOST=weaviate:8080
+WEAVIATE_CLASSNAME=LocalKnowledge
+
 # Backend Configuration
 BACKEND_SERVER_PORT=6039
 DB_URL=jdbc:mysql://mysql:3306/ruoyi-ai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
diff --git a/docker-deploy/deploy/docker-compose.yaml b/docker-deploy/deploy/docker-compose.yaml
index a12871a..8951e54 100644
--- a/docker-deploy/deploy/docker-compose.yaml
+++ b/docker-deploy/deploy/docker-compose.yaml
@@ -38,6 +38,28 @@
     networks:
       - ruoyi-net
 
+  weaviate:
+    image: semitechnologies/weaviate:1.30.0
+    container_name: ruoyi-ai-weaviate
+    env_file:
+      - ./.env
+    environment:  
+      - QUERY_DEFAULTS_LIMIT=${WEAVIATE_QUERY_LIMIT}  
+      - AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED=${WEAVIATE_ANONYMOUS_ACCESS}  
+      - PERSISTENCE_DATA_PATH=${WEAVIATE_DATA_PATH}  
+      - DEFAULT_VECTORIZER_MODULE=${WEAVIATE_VECTORIZER_MODULE}  
+      - ENABLE_MODULES=${WEAVIATE_MODULES}  
+      - CLUSTER_HOSTNAME=${WEAVIATE_CLUSTER_HOSTNAME}  
+    command: --host 0.0.0.0 --port 8080 --scheme http
+    ports:
+      - "50050:8080"
+      - "50051:50051"
+    volumes:
+      - ./data/weaviate:/var/lib/weaviate
+    restart: always
+    networks:
+      - ruoyi-net
+
   ruoyi-backend:
     image: ruoyi-ai-backend:v2.0.5
     container_name: ruoyi-ai-backend
diff --git a/docker-deploy/deploy/mysql-init/01_ruoyi-ai.sql b/docker-deploy/deploy/mysql-init/01_ruoyi-ai.sql
index ae38f07..c8caa3e 100644
--- a/docker-deploy/deploy/mysql-init/01_ruoyi-ai.sql
+++ b/docker-deploy/deploy/mysql-init/01_ruoyi-ai.sql
@@ -155,7 +155,7 @@
 INSERT INTO `chat_config` VALUES (1818270017648070657, 'stripe', 'prompt', 'This system is for demonstration only and does not currently support this feature!', '鎻愮ず璇�', 103, '2024-07-30 20:58:49', '1', '1', '2024-08-11 12:02:42', NULL, NULL, '0', NULL, 0);
 INSERT INTO `chat_config` VALUES (1818270017966837761, 'stripe', 'enabled', 'true', '寮�鍚敮浠�', 103, '2024-07-30 20:58:49', '1', '1', '2024-08-11 12:02:42', NULL, NULL, '0', NULL, 0);
 INSERT INTO `chat_config` VALUES (1897610056458412050, 'weaviate', 'protocol', 'http', '鍗忚', 103, '2025-03-06 21:10:02', '1', '1', '2025-03-06 21:10:31', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1897610056458412051, 'weaviate', 'host', '127.0.0.1:6038', '鍦板潃', 103, '2025-03-06 21:10:02', '1', '1', '2025-03-06 21:10:31', NULL, NULL, '0', NULL, 0);
+INSERT INTO `chat_config` VALUES (1897610056458412051, 'weaviate', 'host', 'weaviate:8080', '鍦板潃', 103, '2025-03-06 21:10:02', '1', '1', '2025-03-06 21:10:31', NULL, NULL, '0', NULL, 0);
 INSERT INTO `chat_config` VALUES (1897610056458412052, 'weaviate', 'classname', 'LocalKnowledge', '鍒嗙被鍚嶇О', 103, '2025-03-06 21:10:02', '1', '1', '2025-03-06 21:10:31', NULL, NULL, '0', NULL, 0);
 INSERT INTO `chat_config` VALUES (1897610056458412053, 'milvus', 'host', '127.0.0.1', '鍦板潃', 103, '2025-03-06 21:10:02', '1', '1', '2025-03-06 21:10:31', NULL, NULL, '0', NULL, 0);
 INSERT INTO `chat_config` VALUES (1897610056458412054, 'milvus', 'port', '19530', '绔彛', 103, '2025-03-06 21:10:02', '1', '1', '2025-03-06 21:10:31', NULL, NULL, '0', NULL, 0);
diff --git a/docker-deploy/deploy/update_ruoyi-qi-sql.sh b/docker-deploy/deploy/update_ruoyi-qi-sql.sh
new file mode 100755
index 0000000..82814ce
--- /dev/null
+++ b/docker-deploy/deploy/update_ruoyi-qi-sql.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+sed -i 's#127.0.0.1:6038#weaviate:8080#g' ./mysql-init/01_ruoyi-ai.sql

--
Gitblit v1.9.3