From 38b05fbf095af7ab785f9de702630d435d42e578 Mon Sep 17 00:00:00 2001 From: ageer <ageerle@163.com> Date: 星期二, 18 三月 2025 22:30:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/main' --- ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorizer/LocalModelsVectorization.java | 92 +++++ script/sql/ruoyi-ai.sql | 386 ++++++++++++++++----- script/docker/localModels/app.py | 116 ++++++ ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/localModels/SearchService.java | 25 + ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/SysModelController.java | 11 ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorizer/VectorizationType.java | 15 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/LocalModelsSearchResponse.java | 20 + ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/localModels/LocalModelsofitClient.java | 198 +++++++++++ ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/LocalModelsSearchRequest.java | 38 ++ ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorizer/OpenAiVectorization.java | 72 +++ script/docker/localModels/requirements.txt | 5 script/docker/localModels/remade.md | 4 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/util/DesensitizationUtil.java | 19 + script/docker/localModels/Dockerfile | 26 + 14 files changed, 917 insertions(+), 110 deletions(-) diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/LocalModelsSearchRequest.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/LocalModelsSearchRequest.java new file mode 100644 index 0000000..4ca71ba --- /dev/null +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/LocalModelsSearchRequest.java @@ -0,0 +1,38 @@ +package org.ruoyi.common.chat.entity.models; + +import lombok.Data; + +import java.util.List; + +/** + * @program: RUOYIAI + * @ClassName LocalModelsSearchRequest + * @description: + * @author: hejh + * @create: 2025-03-15 17:22 + * @Version 1.0 + **/ +@Data +public class LocalModelsSearchRequest { + + private List<String> text; + private String model_name; + private String delimiter; + private int k; + private int block_size; + private int overlap_chars; + + // 鏋勯�犲嚱鏁般�丟etter 鍜� Setter + public LocalModelsSearchRequest(List<String> text, String model_name, String delimiter, int k, int block_size, int overlap_chars) { + this.text = text; + this.model_name = model_name; + this.delimiter = delimiter; + this.k = k; + this.block_size = block_size; + this.overlap_chars = overlap_chars; + } + + +} + + diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/LocalModelsSearchResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/LocalModelsSearchResponse.java new file mode 100644 index 0000000..12025d5 --- /dev/null +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/LocalModelsSearchResponse.java @@ -0,0 +1,20 @@ +package org.ruoyi.common.chat.entity.models; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +import java.util.List; + +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +public class LocalModelsSearchResponse { + @JsonProperty("topKEmbeddings") + + private List<List<List<Double>>> topKEmbeddings; // 澶勭悊涓夊眰宓屽鏁扮粍 + + // 榛樿鏋勯�犲嚱鏁� + public LocalModelsSearchResponse() {} + + + +} diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/localModels/LocalModelsofitClient.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/localModels/LocalModelsofitClient.java new file mode 100644 index 0000000..606a7c2 --- /dev/null +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/localModels/LocalModelsofitClient.java @@ -0,0 +1,198 @@ +package org.ruoyi.common.chat.localModels; + +import io.micrometer.common.util.StringUtils; +import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; +import org.ruoyi.common.chat.entity.models.LocalModelsSearchRequest; +import org.ruoyi.common.chat.entity.models.LocalModelsSearchResponse; +import org.springframework.stereotype.Service; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; + +import java.util.List; +import java.util.concurrent.CountDownLatch; + +@Slf4j +@Service +public class LocalModelsofitClient { + private static final String BASE_URL = "http://127.0.0.1:5000"; // Flask 鏈嶅姟鐨� URL + private static Retrofit retrofit = null; + + // 鑾峰彇 Retrofit 瀹炰緥 + public static Retrofit getRetrofitInstance() { + if (retrofit == null) { + OkHttpClient client = new OkHttpClient.Builder() + .build(); + + retrofit = new Retrofit.Builder() + .baseUrl(BASE_URL) + .client(client) + .addConverterFactory(JacksonConverterFactory.create()) // 浣跨敤 Jackson 澶勭悊 JSON 杞崲 + .build(); + } + return retrofit; + } + + /** + * 鍚� Flask 鏈嶅姟鍙戦�佹枃鏈悜閲忓寲璇锋眰 + * + * @param queries 鏌ヨ鏂囨湰鍒楄〃 + * @param modelName 妯″瀷鍚嶇О + * @param delimiter 鏂囨湰鍒嗛殧绗� + * @param topK 杩斿洖鐨勭粨鏋滄暟 + * @param blockSize 鏂囨湰鍧楀ぇ灏� + * @param overlapChars 閲嶅彔瀛楃鏁� + * @return 杩斿洖璁$畻寰楀埌鐨� Top K 宓屽叆鍚戦噺鍒楄〃 + */ + + public static List<List<Double>> getTopKEmbeddings( + List<String> queries, + String modelName, + String delimiter, + int topK, + int blockSize, + int overlapChars) { + + modelName = (!StringUtils.isEmpty(modelName)) ? modelName : "msmarco-distilbert-base-tas-b"; // 榛樿妯″瀷鍚嶇О + delimiter = (!StringUtils.isEmpty(delimiter) ) ? delimiter : "."; // 榛樿鍒嗛殧绗� + topK = (topK > 0) ? topK : 3; // 榛樿杩斿洖 3 涓粨鏋� + blockSize = (blockSize > 0) ? blockSize : 500; // 榛樿鏂囨湰鍧楀ぇ灏忎负 500 + overlapChars = (overlapChars > 0) ? overlapChars : 50; // 榛樿閲嶅彔瀛楃鏁颁负 50 + + // 鍒涘缓 Retrofit 瀹炰緥 + Retrofit retrofit = getRetrofitInstance(); + + // 鍒涘缓 SearchService 鎺ュ彛 + SearchService service = retrofit.create(SearchService.class); + + // 鍒涘缓璇锋眰瀵硅薄 LocalModelsSearchRequest + LocalModelsSearchRequest request = new LocalModelsSearchRequest( + queries, // 鏌ヨ鏂囨湰鍒楄〃 + modelName, // 妯″瀷鍚嶇О + delimiter, // 鏂囨湰鍒嗛殧绗� + topK, // 杩斿洖鐨勭粨鏋滄暟 + blockSize, // 鏂囨湰鍧楀ぇ灏� + overlapChars // 閲嶅彔瀛楃鏁� + ); + + final CountDownLatch latch = new CountDownLatch(1); // 鍒涘缓涓�涓� CountDownLatch + final List<List<Double>>[] topKEmbeddings = new List[]{null}; // 浣跨敤鏁扮粍鏉ュ瓨鍌ㄧ粨鏋滐紙鍥犱负 Java 涓嶆敮鎸佺洿鎺ヤ慨鏀� List锛� + + // 鍙戣捣寮傛璇锋眰 + service.vectorize(request).enqueue(new Callback<LocalModelsSearchResponse>() { + @Override + public void onResponse(Call<LocalModelsSearchResponse> call, Response<LocalModelsSearchResponse> response) { + if (response.isSuccessful()) { + LocalModelsSearchResponse searchResponse = response.body(); + if (searchResponse != null) { + topKEmbeddings[0] = searchResponse.getTopKEmbeddings().get(0); // 鑾峰彇缁撴灉 + log.info("Successfully retrieved embeddings"); + } else { + log.error("Response body is null"); + } + } else { + log.error("Request failed. HTTP error code: " + response.code()); + } + latch.countDown(); // 璇锋眰瀹屾垚锛屽噺灏戣鏁� + } + + @Override + public void onFailure(Call<LocalModelsSearchResponse> call, Throwable t) { + t.printStackTrace(); + log.error("Request failed: ", t); + latch.countDown(); // 璇锋眰澶辫触锛屽噺灏戣鏁� + } + }); + + try { + latch.await(); // 绛夊緟璇锋眰瀹屾垚 + } catch (InterruptedException e) { + e.printStackTrace(); + } + + return topKEmbeddings[0]; // 杩斿洖缁撴灉 + } + +// public static void main(String[] args) { +// // 绀轰緥璋冪敤 +// List<String> queries = Arrays.asList("What is artificial intelligence?", "AI is transforming industries."); +// String modelName = "msmarco-distilbert-base-tas-b"; +// String delimiter = "."; +// int topK = 3; +// int blockSize = 500; +// int overlapChars = 50; +// +// List<List<Double>> topKEmbeddings = getTopKEmbeddings(queries, modelName, delimiter, topK, blockSize, overlapChars); +// +// // 鎵撳嵃缁撴灉 +// if (topKEmbeddings != null) { +// System.out.println("Top K embeddings: "); +// for (List<Double> embedding : topKEmbeddings) { +// System.out.println(embedding); +// } +// } else { +// System.out.println("No embeddings returned."); +// } +// } + + +// public static void main(String[] args) { +// // 鍒涘缓 Retrofit 瀹炰緥 +// Retrofit retrofit = LocalModelsofitClient.getRetrofitInstance(); +// +// // 鍒涘缓 SearchService 鎺ュ彛 +// SearchService service = retrofit.create(SearchService.class); +// +// // 鍒涘缓璇锋眰瀵硅薄 LocalModelsSearchRequest +// LocalModelsSearchRequest request = new LocalModelsSearchRequest( +// Arrays.asList("What is artificial intelligence?", "AI is transforming industries."), // 鏌ヨ鏂囨湰鍒楄〃 +// "msmarco-distilbert-base-tas-b", // 妯″瀷鍚嶇О +// ".", // 鍒嗛殧绗� +// 3, // 杩斿洖鐨勭粨鏋滄暟 +// 500, // 鏂囨湰鍧楀ぇ灏� +// 50 // 閲嶅彔瀛楃鏁� +// ); +// +// // 鍙戣捣璇锋眰 +// service.vectorize(request).enqueue(new Callback<LocalModelsSearchResponse>() { +// @Override +// public void onResponse(Call<LocalModelsSearchResponse> call, Response<LocalModelsSearchResponse> response) { +// if (response.isSuccessful()) { +// LocalModelsSearchResponse searchResponse = response.body(); +// System.out.println("Response Body: " + response.body()); // Print the whole response body for debugging +// +// if (searchResponse != null) { +// // If the response is not null, process it. +// // Example: Extract the embeddings and print them +// List<List<List<Double>>> topKEmbeddings = searchResponse.getTopKEmbeddings(); +// if (topKEmbeddings != null) { +// // Print the Top K embeddings +// +// } else { +// System.err.println("Top K embeddings are null"); +// } +// +// // If there is more information you want to process, handle it here +// +// } else { +// System.err.println("Response body is null"); +// } +// } else { +// System.err.println("Request failed. HTTP error code: " + response.code()); +// log.error("Failed to retrieve data. HTTP error code: " + response.code()); +// } +// } +// +// @Override +// public void onFailure(Call<LocalModelsSearchResponse> call, Throwable t) { +// // 璇锋眰澶辫触锛屾墦鍗伴敊璇� +// t.printStackTrace(); +// log.error("Request failed: ", t); +// } +// }); +// } + +} diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/localModels/SearchService.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/localModels/SearchService.java new file mode 100644 index 0000000..3fa131e --- /dev/null +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/localModels/SearchService.java @@ -0,0 +1,25 @@ +package org.ruoyi.common.chat.localModels; + + + +import org.ruoyi.common.chat.entity.models.LocalModelsSearchRequest; +import org.ruoyi.common.chat.entity.models.LocalModelsSearchResponse; +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.POST; +/** + * @program: RUOYIAI + * @ClassName SearchService + * @description: 璇锋眰妯″瀷 + * @author: hejh + * @create: 2025-03-15 17:27 + * @Version 1.0 + **/ + + +public interface SearchService { + @POST("/vectorize") // 涓� Flask 鏈嶅姟涓殑璺敱鍖归厤 + Call<LocalModelsSearchResponse> vectorize(@Body LocalModelsSearchRequest request); +} + + diff --git a/ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorizer/LocalModelsVectorization.java b/ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorizer/LocalModelsVectorization.java new file mode 100644 index 0000000..d7dff25 --- /dev/null +++ b/ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorizer/LocalModelsVectorization.java @@ -0,0 +1,92 @@ +package org.ruoyi.knowledge.chain.vectorizer; + +import jakarta.annotation.Resource; +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.ruoyi.common.chat.config.ChatConfig; +import org.ruoyi.common.chat.localModels.LocalModelsofitClient; +import org.ruoyi.common.chat.openai.OpenAiStreamClient; +import org.ruoyi.knowledge.domain.vo.KnowledgeInfoVo; +import org.ruoyi.knowledge.service.IKnowledgeInfoService; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; + +@Component +@Slf4j +@RequiredArgsConstructor +public class LocalModelsVectorization { + @Resource + private IKnowledgeInfoService knowledgeInfoService; + + @Resource + private LocalModelsofitClient localModelsofitClient; + + @Getter + private OpenAiStreamClient openAiStreamClient; + + private final ChatConfig chatConfig; + + /** + * 鎵归噺鍚戦噺鍖� + * + * @param chunkList 鏂囨湰鍧楀垪琛� + * @param kid 鐭ヨ瘑 ID + * @return 鍚戦噺鍖栫粨鏋� + */ + + public List<List<Double>> batchVectorization(List<String> chunkList, String kid) { + logVectorizationRequest(kid, chunkList); // 鍦ㄥ悜閲忓寲寮�濮嬪墠璁板綍鏃ュ織 + openAiStreamClient = chatConfig.getOpenAiStreamClient(); // 鑾峰彇 OpenAi 瀹㈡埛绔� + KnowledgeInfoVo knowledgeInfoVo = knowledgeInfoService.queryById(Long.valueOf(kid)); // 鏌ヨ鐭ヨ瘑淇℃伅 + // 璋冪敤 localModelsofitClient 鑾峰彇 Top K 宓屽叆鍚戦噺 + try { + return localModelsofitClient.getTopKEmbeddings( + chunkList, + knowledgeInfoVo.getVector(), + knowledgeInfoVo.getKnowledgeSeparator(), + knowledgeInfoVo.getRetrieveLimit(), + knowledgeInfoVo.getTextBlockSize(), + knowledgeInfoVo.getOverlapChar() + ); + } catch (Exception e) { + log.error("Failed to perform batch vectorization for knowledgeId: {}", kid, e); + throw new RuntimeException("Batch vectorization failed", e); + } + } + + /** + * 鍗曚竴鏂囨湰鍧楀悜閲忓寲 + * + * @param chunk 鍗曚竴鏂囨湰鍧� + * @param kid 鐭ヨ瘑 ID + * @return 鍚戦噺鍖栫粨鏋� + */ + + public List<Double> singleVectorization(String chunk, String kid) { + List<String> chunkList = new ArrayList<>(); + chunkList.add(chunk); + + // 璋冪敤鎵归噺鍚戦噺鍖栨柟娉� + List<List<Double>> vectorList = batchVectorization(chunkList, kid); + + if (vectorList.isEmpty()) { + log.warn("Vectorization returned empty list for chunk: {}", chunk); + return new ArrayList<>(); + } + + return vectorList.get(0); // 杩斿洖绗竴涓悜閲� + } + + /** + * 鎻愪緵鏇寸畝娲佺殑鏃ュ織璁板綍鏂规硶 + * + * @param kid 鐭ヨ瘑 ID + * @param chunkList 鏂囨湰鍧楀垪琛� + */ + private void logVectorizationRequest(String kid, List<String> chunkList) { + log.info("Starting vectorization for Knowledge ID: {} with {} chunks.", kid, chunkList.size()); + } +} diff --git a/ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorizer/OpenAiVectorization.java b/ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorizer/OpenAiVectorization.java index 0f2d0ba..764c2c1 100644 --- a/ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorizer/OpenAiVectorization.java +++ b/ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorizer/OpenAiVectorization.java @@ -18,6 +18,7 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @Component @Slf4j @@ -27,6 +28,9 @@ @Lazy @Resource private IKnowledgeInfoService knowledgeInfoService; + @Lazy + @Resource + private LocalModelsVectorization localModelsVectorization; @Getter private OpenAiStreamClient openAiStreamClient; @@ -35,25 +39,63 @@ @Override public List<List<Double>> batchVectorization(List<String> chunkList, String kid) { - openAiStreamClient = chatConfig.getOpenAiStreamClient(); - KnowledgeInfoVo knowledgeInfoVo = knowledgeInfoService.queryById(Long.valueOf(kid)); - Embedding embedding = Embedding.builder() - .input(chunkList) - .model(knowledgeInfoVo.getVectorModel()) - .build(); - EmbeddingResponse embeddings = openAiStreamClient.embeddings(embedding); List<List<Double>> vectorList = new ArrayList<>(); - embeddings.getData().forEach(data -> { - List<BigDecimal> vector = data.getEmbedding(); - List<Double> doubleVector = new ArrayList<>(); - for (BigDecimal bd : vector) { - doubleVector.add(bd.doubleValue()); - } - vectorList.add(doubleVector); - }); + + // 鑾峰彇鐭ヨ瘑搴撲俊鎭� + KnowledgeInfoVo knowledgeInfoVo = knowledgeInfoService.queryById(Long.valueOf(kid)); + + // 濡傛灉浣跨敤鏈湴妯″瀷 + try { + return localModelsVectorization.batchVectorization(chunkList, kid); + } catch (Exception e) { + log.error("Local models vectorization failed, falling back to OpenAI embeddings", e); + } + + // 濡傛灉鏈湴妯″瀷澶辫触锛屽垯璋冪敤 OpenAI 鏈嶅姟杩涜鍚戦噺鍖� + Embedding embedding = buildEmbedding(chunkList, knowledgeInfoVo); + EmbeddingResponse embeddings = openAiStreamClient.embeddings(embedding); + + // 澶勭悊 OpenAI 杩斿洖鐨勫祵鍏ユ暟鎹� + vectorList = processOpenAiEmbeddings(embeddings); + return vectorList; } + /** + * 鏋勫缓 Embedding 瀵硅薄 + */ + private Embedding buildEmbedding(List<String> chunkList, KnowledgeInfoVo knowledgeInfoVo) { + return Embedding.builder() + .input(chunkList) + .model(knowledgeInfoVo.getVectorModel()) + .build(); + } + + /** + * 澶勭悊 OpenAI 杩斿洖鐨勫祵鍏ユ暟鎹� + */ + private List<List<Double>> processOpenAiEmbeddings(EmbeddingResponse embeddings) { + List<List<Double>> vectorList = new ArrayList<>(); + + embeddings.getData().forEach(data -> { + List<BigDecimal> vector = data.getEmbedding(); + List<Double> doubleVector = convertToDoubleList(vector); + vectorList.add(doubleVector); + }); + + return vectorList; + } + + /** + * 灏� BigDecimal 杞崲涓� Double 鍒楄〃 + */ + private List<Double> convertToDoubleList(List<BigDecimal> vector) { + return vector.stream() + .map(BigDecimal::doubleValue) + .collect(Collectors.toList()); + } + + @Override public List<Double> singleVectorization(String chunk, String kid) { List<String> chunkList = new ArrayList<>(); diff --git a/ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorizer/VectorizationType.java b/ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorizer/VectorizationType.java new file mode 100644 index 0000000..a9d370d --- /dev/null +++ b/ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorizer/VectorizationType.java @@ -0,0 +1,15 @@ +package org.ruoyi.knowledge.chain.vectorizer; + +public enum VectorizationType { + OPENAI, // OpenAI 鍚戦噺鍖� + LOCAL; // 鏈湴妯″瀷鍚戦噺鍖� + + public static VectorizationType fromString(String type) { + for (VectorizationType v : values()) { + if (v.name().equalsIgnoreCase(type)) { + return v; + } + } + throw new IllegalArgumentException("Unknown VectorizationType: " + type); + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/SysModelController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/SysModelController.java index dfe0284..8cc5357 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/SysModelController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/SysModelController.java @@ -25,12 +25,14 @@ import org.ruoyi.system.service.ISysModelService; import org.ruoyi.system.service.ISysPackagePlanService; import org.ruoyi.system.service.ISysUserService; +import org.ruoyi.system.util.DesensitizationUtil; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * 绯荤粺妯″瀷 @@ -49,7 +51,6 @@ private final ISysPackagePlanService sysPackagePlanService; private final ISysUserService userService; - /** * 鏌ヨ绯荤粺妯″瀷鍒楄〃 - 鍏ㄩ儴 @@ -82,6 +83,14 @@ List<String> array = new ArrayList<>(Arrays.asList(sysPackagePlanVo.getPlanDetail().split(","))); sysModelVos.removeIf(model -> !array.contains(model.getModelName())); } + sysModelVos.stream().map(vo -> { + String maskedApiHost = DesensitizationUtil.maskData(vo.getApiHost()); + String maskedApiKey = DesensitizationUtil.maskData(vo.getApiKey()); + vo.setApiHost(maskedApiHost); + vo.setApiKey(maskedApiKey); + return vo; + }) + .collect(Collectors.toList()); return R.ok(sysModelVos); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/util/DesensitizationUtil.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/util/DesensitizationUtil.java new file mode 100644 index 0000000..bbcb1aa --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/util/DesensitizationUtil.java @@ -0,0 +1,19 @@ +package org.ruoyi.system.util; + + +public class DesensitizationUtil { + public static String maskData(String data) { + if (data == null || data.length() <= 4) { + return data; + } + int start = 2; + int end = data.length() - 2; + StringBuilder masked = new StringBuilder(); + masked.append(data, 0, start); + for (int i = start; i < end; i++) { + masked.append('*'); + } + masked.append(data.substring(end)); + return masked.toString(); + } +} diff --git a/script/docker/localModels/Dockerfile b/script/docker/localModels/Dockerfile new file mode 100644 index 0000000..0f1e606 --- /dev/null +++ b/script/docker/localModels/Dockerfile @@ -0,0 +1,26 @@ +# 浣跨敤 Python 3.8 slim 浣滀负鍩虹闀滃儚锛堣交閲忕ǔ瀹氾級 +FROM python:3.10 + +# 璁剧疆宸ヤ綔鐩綍 +WORKDIR /app + +# 澶嶅埗鎵�鏈夋枃浠跺埌瀹瑰櫒 +COPY . /app + +# 鏇存柊 pip 骞跺畨瑁� wheel锛堥伩鍏嶄緷璧栭棶棰橈級 +RUN pip install --upgrade pip wheel + +# 浣跨敤闃块噷浜� PyPI 闀滃儚瀹夎渚濊禆锛屽苟娣诲姞 trusted-host +RUN pip install -i https://mirrors.aliyun.com/pypi/simple \ + --trusted-host mirrors.aliyun.com \ + --no-cache-dir -r requirements.txt + +# 鏆撮湶 Flask 绔彛 +EXPOSE 5000 + +# 璁剧疆鐜鍙橀噺 +ENV FLASK_APP=app.py +ENV FLASK_RUN_HOST=0.0.0.0 + +# 杩愯 Flask +CMD ["flask", "run", "--host=0.0.0.0"] diff --git a/script/docker/localModels/app.py b/script/docker/localModels/app.py new file mode 100644 index 0000000..645a9b4 --- /dev/null +++ b/script/docker/localModels/app.py @@ -0,0 +1,116 @@ +from flask import Flask, request, jsonify +from sentence_transformers import SentenceTransformer +from sklearn.metrics.pairwise import cosine_similarity +import json + +app = Flask(__name__) + +# 鍒涘缓涓�涓叏灞�鐨勬ā鍨嬬紦瀛樺瓧鍏� +model_cache = {} + +# 鍒嗗壊鏂囨湰鍧� +def split_text(text, block_size, overlap_chars, delimiter): + chunks = text.split(delimiter) + text_blocks = [] + current_block = "" + + for chunk in chunks: + if len(current_block) + len(chunk) + 1 <= block_size: + if current_block: + current_block += " " + chunk + else: + current_block = chunk + else: + text_blocks.append(current_block) + current_block = chunk + if current_block: + text_blocks.append(current_block) + + overlap_blocks = [] + for i in range(len(text_blocks)): + if i > 0: + overlap_block = text_blocks[i - 1][-overlap_chars:] + text_blocks[i] + overlap_blocks.append(overlap_block) + overlap_blocks.append(text_blocks[i]) + + return overlap_blocks + +# 鏂囨湰鍚戦噺鍖� +def vectorize_text_blocks(text_blocks, model): + return model.encode(text_blocks) + +# 鏂囨湰妫�绱� +def retrieve_top_k(query, knowledge_base, k, block_size, overlap_chars, delimiter, model): + # 灏嗙煡璇嗗簱鎷嗗垎涓烘枃鏈潡 + text_blocks = split_text(knowledge_base, block_size, overlap_chars, delimiter) + # 鍚戦噺鍖栨枃鏈潡 + knowledge_vectors = vectorize_text_blocks(text_blocks, model) + # 鍚戦噺鍖栨煡璇㈡枃鏈� + query_vector = model.encode([query]).reshape(1, -1) + # 璁$畻鐩镐技搴� + similarities = cosine_similarity(query_vector, knowledge_vectors) + # 鑾峰彇鐩镐技搴︽渶楂樼殑 k 涓枃鏈潡鐨勭储寮� + top_k_indices = similarities[0].argsort()[-k:][::-1] + + # 杩斿洖鏂囨湰鍧楀拰瀹冧滑鐨勫悜閲� + top_k_texts = [text_blocks[i] for i in top_k_indices] + top_k_embeddings = [knowledge_vectors[i] for i in top_k_indices] + + return top_k_texts, top_k_embeddings + +@app.route('/vectorize', methods=['POST']) +def vectorize_text(): + # 浠庤姹備腑鑾峰彇 JSON 鏁版嵁 + data = request.json + print(f"Received request data: {data}") # 璋冭瘯杈撳嚭璇锋眰鏁版嵁 + + text_list = data.get("text", []) + model_name = data.get("model_name", "msmarco-distilbert-base-tas-b") # 榛樿妯″瀷 + + delimiter = data.get("delimiter", "\n") # 榛樿鍒嗛殧绗� + k = int(data.get("k", 3)) # 榛樿妫�绱㈡潯鏁� + block_size = int(data.get("block_size", 500)) # 榛樿鏂囨湰鍧楀ぇ灏� + overlap_chars = int(data.get("overlap_chars", 50)) # 榛樿閲嶅彔瀛楃鏁� + + if not text_list: + return jsonify({"error": "Text is required."}), 400 + + # 妫�鏌ユā鍨嬫槸鍚﹀凡缁忓姞杞� + if model_name not in model_cache: + try: + model = SentenceTransformer(model_name) + model_cache[model_name] = model # 缂撳瓨妯″瀷 + except Exception as e: + return jsonify({"error": f"Failed to load model: {e}"}), 500 + + model = model_cache[model_name] + + top_k_texts_all = [] + top_k_embeddings_all = [] + + # 濡傛灉鍙湁涓�涓煡璇㈡枃鏈� + if len(text_list) == 1: + top_k_texts, top_k_embeddings = retrieve_top_k(text_list[0], text_list[0], k, block_size, overlap_chars, delimiter, model) + top_k_texts_all.append(top_k_texts) + top_k_embeddings_all.append(top_k_embeddings) + elif len(text_list) > 1: + # 濡傛灉澶氫釜鏌ヨ鏂囨湰锛屼緷娆″鐞� + for query in text_list: + top_k_texts, top_k_embeddings = retrieve_top_k(query, text_list[0], k, block_size, overlap_chars, delimiter, model) + top_k_texts_all.append(top_k_texts) + top_k_embeddings_all.append(top_k_embeddings) + + # 灏嗗祵鍏ュ悜閲忥紙ndarray锛夎浆鎹负鍙簭鍒楀寲鐨勫垪琛� + top_k_embeddings_all = [[embedding.tolist() for embedding in embeddings] for embeddings in top_k_embeddings_all] + + print(f"Top K texts: {top_k_texts_all}") # 鎵撳嵃妫�绱㈠埌鐨勬枃鏈� + print(f"Top K embeddings: {top_k_embeddings_all}") # 鎵撳嵃妫�绱㈠埌鐨勫悜閲� + + # 杩斿洖 JSON 鏍煎紡鐨勬暟鎹� + return jsonify({ + + "topKEmbeddings": top_k_embeddings_all # 杩斿洖宓屽叆鍚戦噺 + }) + +if __name__ == '__main__': + app.run(host="0.0.0.0", port=5000, debug=True) diff --git a/script/docker/localModels/remade.md b/script/docker/localModels/remade.md new file mode 100644 index 0000000..d6af3d2 --- /dev/null +++ b/script/docker/localModels/remade.md @@ -0,0 +1,4 @@ +1.涓嬭浇闀滃儚 +docker pull registry.cn-hangzhou.aliyuncs.com/hejh-docker/localmodel:0.1.1 +2. 鍚姩 +docker run -p 5000:5000 <imageId> \ No newline at end of file diff --git a/script/docker/localModels/requirements.txt b/script/docker/localModels/requirements.txt new file mode 100644 index 0000000..2d62483 --- /dev/null +++ b/script/docker/localModels/requirements.txt @@ -0,0 +1,5 @@ +Flask==3.1.0 +sentence-transformers==3.4.1 +scikit-learn==1.6.1 +werkzeug>=3.1 + diff --git a/script/sql/ruoyi-ai.sql b/script/sql/ruoyi-ai.sql index f8a900a..152c480 100644 --- a/script/sql/ruoyi-ai.sql +++ b/script/sql/ruoyi-ai.sql @@ -1,17 +1,17 @@ /* - Navicat MySQL Data Transfer + Navicat Premium Dump SQL Source Server : ruoyi-ai Source Server Type : MySQL - Source Server Version : 50740 + Source Server Version : 50740 (5.7.40-log) Source Host : 43.139.70.230:3306 Source Schema : ruoyi-ai Target Server Type : MySQL - Target Server Version : 50740 + Target Server Version : 50740 (5.7.40-log) File Encoding : 65001 - Date: 02/03/2025 11:40:49 + Date: 18/03/2025 13:58:52 */ SET NAMES utf8mb4; @@ -47,31 +47,6 @@ INSERT INTO `chat_app_store` VALUES (6, '鏂囩敓瑙嗛', '灏嗘枃瀛楀唴瀹硅浆鍖栦负鐢熷姩瑙嗛', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2025/02/11/15d878c58db248afa886032efb292467.png', '/video', NULL, NULL, NULL, NULL, NULL, NULL); -- ---------------------------- --- Table structure for chat_audio_role --- ---------------------------- -DROP TABLE IF EXISTS `chat_audio_role`; -CREATE TABLE `chat_audio_role` ( - `id` bigint(20) NOT NULL COMMENT 'id', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '瑙掕壊鍚嶇О', - `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '瑙掕壊鎻忚堪', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶村儚', - `voice_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '瑙掕壊id', - `file_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '闊抽鍦板潃', - `create_dept` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '閮ㄩ棬', - `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�', - `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿', - `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�', - `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿', - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `voice_id`(`create_by`, `voice_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '搴旂敤甯傚満' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of chat_audio_role --- ---------------------------- - --- ---------------------------- -- Table structure for chat_config -- ---------------------------- DROP TABLE IF EXISTS `chat_config`; @@ -93,12 +68,16 @@ `tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '绉熸埛Id', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `unique_category_key`(`category`, `config_name`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1818270017966837762 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '閰嶇疆淇℃伅琛�' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 1897610056458412058 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '閰嶇疆淇℃伅琛�' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of chat_config -- ---------------------------- INSERT INTO `chat_config` VALUES (1779450794448789505, 'chat', 'apiKey', 'sk-xx', 'API 瀵嗛挜', 103, '2024-04-14 18:05:05', '1', '1', '2024-04-23 23:56:54', NULL, NULL, '0', NULL, 0); +INSERT INTO `chat_config` VALUES (1779450794448799507, 'cover', 'token', 'xx', '缁樺0缇庨煶token', 103, '2024-04-14 18:05:05', '1', '1', '2024-04-23 23:56:54', NULL, NULL, '0', NULL, 0); +INSERT INTO `chat_config` VALUES (1779450794448799508, 'cover', 'cover_url', 'https://wechatscan.com/a/open/karaoke/cover', '缈诲敱鍦板潃', 103, '2024-04-14 18:05:05', '1', '1', '2024-04-23 23:56:54', NULL, NULL, '0', NULL, 0); +INSERT INTO `chat_config` VALUES (1779450794448799509, 'cover', 'search_music_url', 'https://wechatscan.com/a/open/karaoke/search', '鏌ユ壘姝屾洸', 103, '2024-04-14 18:05:05', '1', '1', '2024-04-23 23:56:54', NULL, NULL, '0', NULL, 0); +INSERT INTO `chat_config` VALUES (1779450794448799601, 'ppt', 'apiKey', 'xx', '鏂囧澶歛pikey', 103, '2024-04-14 18:05:05', '1', '1', '2024-04-23 23:56:54', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1779450794872414210, 'chat', 'apiHost', 'https://api.pandarobot.chat/', 'API 鍦板潃', 103, '2024-04-14 18:05:05', '1', '1', '2024-04-23 23:56:54', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1779497340548784129, 'pay', 'pid', '1000', '鍟嗘埛PID', 103, '2024-04-14 21:10:02', '1', '1', '2024-04-28 17:46:31', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1779497340938854401, 'pay', 'key', 'xx', '鍟嗘埛瀵嗛挜', 103, '2024-04-14 21:10:02', '1', '1', '2024-04-28 17:46:31', NULL, NULL, '0', NULL, 0); @@ -128,24 +107,32 @@ INSERT INTO `chat_config` VALUES (1786058372897406977, 'review', 'secretKey', 'xx', 'secretKey', 103, '2024-05-02 23:41:14', '1', '1', '2024-05-03 01:18:50', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1792069350789324801, 'weixin', 'appId', 'xx', '搴旂敤ID', 103, '2024-05-19 13:46:43', '1', '1', '2024-05-19 22:34:39', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1792069351246503938, 'weixin', 'appSecret', 'xx', '搴旂敤瀵嗛挜', 103, '2024-05-19 13:46:43', '1', '1', '2024-05-19 22:34:39', NULL, NULL, '0', NULL, 0); -INSERT INTO `chat_config` VALUES (1792069351246503939, 'weixin', 'mchId', 'xx', '鍟嗘埛ID', 103, '2024-05-19 13:46:43', '1', '1', '2024-05-19 22:34:39', NULL, NULL, '0', NULL, 0); -INSERT INTO `chat_config` VALUES (1792183360796790785, 'weixin', 'notifyUrl', 'https://www.pandarobot.chat/pay/notify/wxOrder', '鍥炶皟鍦板潃', 103, '2024-05-19 21:19:45', '1', '1', '2024-05-19 22:34:40', NULL, NULL, '0', NULL, 0); +INSERT INTO `chat_config` VALUES (1792069351246503939, 'weixin', 'mchId', '1677338089', '鍟嗘埛ID', 103, '2024-05-19 13:46:43', '1', '1', '2024-05-19 22:34:39', NULL, NULL, '0', NULL, 0); +INSERT INTO `chat_config` VALUES (1792183360796790785, 'weixin', 'notifyUrl', 'https://mp.pandarobot.chat/pay/notify/wxOrder', '鍥炶皟鍦板潃', 103, '2024-05-19 21:19:45', '1', '1', '2024-05-19 22:34:40', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1792183361065226241, 'weixin', 'enabled', 'true', '寮�鍚敮浠�', 103, '2024-05-19 21:19:45', '1', '1', '2024-05-19 22:34:40', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1792207511704100866, 'sys', 'name', '鐔婄尗鍔╂墜', '缃戠珯鍚嶇О', 103, '2024-05-19 22:55:43', '1', '1', '2024-08-11 12:03:04', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1792207512089976834, 'sys', 'logoImage', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2024/05/19/4c106628754b4bd882a4c002eaa317f5.jpg', '缃戠珯logo', 103, '2024-05-19 22:55:43', '1', '1', '2024-08-11 12:03:04', NULL, NULL, '0', NULL, 0); -INSERT INTO `chat_config` VALUES (1792207512412938241, 'sys', 'copyright', 'Copyright 漏 2024', '鐗堟潈淇℃伅', 103, '2024-05-19 22:55:43', '1', '1', '2024-08-11 12:03:04', NULL, NULL, '0', NULL, 0); +INSERT INTO `chat_config` VALUES (1792207512412938241, 'sys', 'copyright', 'Copyright 漏 ageerle 2025 ', '鐗堟潈淇℃伅', 103, '2024-05-19 22:55:43', '1', '1', '2024-08-11 12:03:04', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1792207512740093954, 'sys', 'customImage', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2024/05/19/2faba7a5fa174d7c8d573ce3f031ec51.jpg', '瀹㈡湇浜岀淮鐮�', 103, '2024-05-19 22:55:43', '1', '1', '2024-08-11 12:03:04', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1792207512740093955, 'sys', 'activate', 'true', '绯荤粺婵�娲荤姸鎬�', 103, '2024-05-19 22:55:43', '1', '1', '2024-06-04 04:26:14', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1795022320576143362, 'sys', 'authcode', '1716475338010', '璇佷功缂栧彿', 103, '2024-05-27 17:20:46', NULL, NULL, '2024-05-27 17:20:46', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1795022320576143363, 'stripe', 'success', 'http://xx:6039/success', '鎴愬姛鍥炶皟', 103, '2024-05-27 17:20:46', NULL, '1', '2024-08-11 12:02:41', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1795022320576143364, 'stripe', 'cancel', 'http://xx:6039/cancel', '鍙栨秷鍥炶皟', 103, '2024-05-27 17:20:46', NULL, '1', '2024-08-11 12:02:41', NULL, NULL, '0', NULL, 0); -INSERT INTO `chat_config` VALUES (1795022320576143365, 'stripe', 'key', 'xx', '鏀粯瀵嗛挜', 103, '2024-05-27 17:20:46', NULL, '1', '2024-08-11 12:02:42', NULL, NULL, '0', NULL, 0); -INSERT INTO `chat_config` VALUES (1795022320576143366, 'stripe', 'secret', 'xx', '鍥炶皟瀵嗛挜', 103, '2024-05-27 17:20:46', NULL, '1', '2024-08-11 12:02:42', NULL, NULL, '0', NULL, 0); +INSERT INTO `chat_config` VALUES (1795022320576143365, 'stripe', 'key', 'xx0005', '鏀粯瀵嗛挜', 103, '2024-05-27 17:20:46', NULL, '1', '2024-08-11 12:02:42', NULL, NULL, '0', NULL, 0); +INSERT INTO `chat_config` VALUES (1795022320576143366, 'stripe', 'secret', 'xx0005', '鍥炶皟瀵嗛挜', 103, '2024-05-27 17:20:46', NULL, '1', '2024-08-11 12:02:42', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1811317731650797570, 'mail', 'free', '3', '鍏嶈垂瀵硅瘽娆℃暟', 103, '2024-07-11 16:32:55', '1', '1', '2024-07-17 17:28:52', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1811317732300914689, 'mail', 'mailModel', '<p>鎮ㄦ娆$殑楠岃瘉鐮佷负锛歿code}锛屾湁鏁堟湡涓�30鍒嗛挓锛岃灏藉揩濉啓!</p><p><br></p>', '閭妯℃澘', 103, '2024-07-11 16:32:55', '1', '1', '2024-07-17 17:28:52', NULL, NULL, '0', NULL, 0); INSERT INTO `chat_config` VALUES (1813506141979254785, 'mail', 'mailTitle', '銆愮唺鐚姪鎵嬨�戦獙璇佺爜', '閭鏍囬', 103, '2024-07-17 17:28:52', '1', '1', '2024-07-17 17:28:52', NULL, NULL, '0', NULL, 0); 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', 'false', '寮�鍚敮浠�', 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 (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); +INSERT INTO `chat_config` VALUES (1897610056458412055, 'milvus', 'dimension', '1536', '缁村害', 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 (1897610056458412056, 'milvus', 'collection', '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 (1897610056458412057, 'zhipu', 'key', '', '鏅鸿氨娓呰█key', 103, '2025-03-12 00:13:12', '1', '1', '2025-03-12 00:13:10', NULL, NULL, '0', NULL, 0); -- ---------------------------- -- Table structure for chat_gpts @@ -235,22 +222,27 @@ -- ---------------------------- -- Records of chat_model -- ---------------------------- -INSERT INTO `chat_model` VALUES (1781709495515783171, 'gpt-4-all', 'gpt-4-all', 0.2, '2', '1', NULL, 'https://api.pandarobot.chat/', 'xx', 103, 1, '2024-04-20 23:40:41', 1, '2024-12-27 22:28:36', 'gpt-all'); -INSERT INTO `chat_model` VALUES (1781715781896646657, 'suno-v3', 'suno-v3', 0.3, '2', '1', NULL, 'https://api.pandarobot.chat/', 'xx', 103, 1, '2024-04-21 00:05:20', 1, '2024-12-27 22:28:40', 'suno-v3'); -INSERT INTO `chat_model` VALUES (1781728235120791553, 'stable-diffusion', 'stable-diffusion', 0.1, '2', '1', NULL, 'https://api.pandarobot.chat/', 'xx', 103, 1, '2024-04-21 00:54:49', 1, '2024-12-27 22:28:46', 'stable-diffusion'); -INSERT INTO `chat_model` VALUES (1782736322308943873, 'dall-e-3', 'dall3', 0.3, '2', '1', '', 'https://api.pandarobot.chat/', 'xx', 103, 1, '2024-04-23 19:40:36', 1, '2024-12-27 22:29:01', 'dall3'); -INSERT INTO `chat_model` VALUES (1782736729471004673, 'gpt-4-gizmo', 'gpt-4-gizmo', 0.2, '2', '1', NULL, 'https://api.pandarobot.chat/', 'xx', 103, 1, '2024-04-23 19:42:13', 1, '2024-12-27 22:29:06', 'gpt-4-gizmo'); -INSERT INTO `chat_model` VALUES (1782792839548735490, 'midjourney', 'midjourney', 0.5, '2', '1', NULL, 'https://api.pandarobot.chat/', 'xx', 103, 1, '2024-04-23 23:25:10', 1, '2024-12-27 22:29:11', 'midjourney'); -INSERT INTO `chat_model` VALUES (1782792839548735491, 'suno', 'suno', 0.3, '2', '1', NULL, 'https://api.pandarobot.chat/', 'xx', 103, 1, '2024-04-23 23:25:10', 1, '2024-12-27 22:29:15', 'suno'); -INSERT INTO `chat_model` VALUES (1782792839548735492, 'luma', 'luma', 1, '2', '1', NULL, 'https://api.pandarobot.chat/', 'xx', 103, 1, '2024-04-23 23:25:10', 1, '2024-12-27 22:29:19', 'luma'); -INSERT INTO `chat_model` VALUES (1782792839548735493, 'ppt', 'ppt', 1.1, '2', '1', NULL, 'https://docmee.cn', 'xx', 103, 1, '2025-01-10 23:25:10', 1, '2025-01-10 22:29:19', 'ppt'); -INSERT INTO `chat_model` VALUES (1811030708604317697, 'gemini-1.5-pro', 'gemini-1.5-pro', 0.2, '1', '1', '', 'https://api.pandarobot.chat/', 'xx', 103, 1, '2024-07-10 21:32:23', 1, '2024-12-27 22:29:24', 'gemini-1.5-pro'); -INSERT INTO `chat_model` VALUES (1813306888443305986, 'claude-3-5-sonnet-20240620', 'claude-3-5-sonnet-20240620', 0.2, '1', '1', NULL, 'https://api.pandarobot.chat/', 'xx', 103, 1, '2024-07-17 04:17:06', 1, '2024-12-27 22:29:28', 'claude-3-5-sonnet-20240620'); -INSERT INTO `chat_model` VALUES (1814227154275082242, 'o1-mini-2024-09-12', 'o1-mini-2024-09-12', 0.01, '1', '0', NULL, 'https://api.pandarobot.chat/', 'xx', 103, 1, '2024-07-19 17:13:55', 1, '2024-12-27 22:29:32', 'o1-mini-2024-09-12'); -INSERT INTO `chat_model` VALUES (1828324413241466881, 'deepseek-r1', 'deepseek-r1', 0.1, '1', '0', NULL, 'https://api.pandarobot.chat/', 'xx', 103, 1, '2024-08-27 14:51:23', 1, '2024-12-27 22:29:37', 'chatgpt-4o-latest'); -INSERT INTO `chat_model` VALUES (1859570229117022211, 'gpt-4o-mini', 'gpt-4o-mini', 0.1, '1', '0', '', 'https://api.pandarobot.chat/', 'xx', 103, 1, '2024-11-21 20:11:06', 1, '2024-11-21 20:12:30', ''); -INSERT INTO `chat_model` VALUES (1859570229117022212, 'o3-mini-2025-01-31', 'o3-mini-2025-01-31', 0.1, '1', '0', '', 'https://api.pandarobot.chat/', 'xx', 103, 1, '2024-11-21 20:11:06', 1, '2024-11-21 20:12:30', ''); -INSERT INTO `chat_model` VALUES (1859570229117022213, 'ollama-qwen2.5:7b', 'ollama-qwen2.5:7b', 0.1, '1', '0', '', 'https://api.pandarobot.chat/', 'xx', 103, 1, '2024-11-21 20:11:06', 1, '2024-11-21 20:12:30', ''); +INSERT INTO `chat_model` VALUES (1781709495515783171, 'gpt-4-all', 'gpt-4-all', 0.2, '1', '1', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-20 23:40:41', 1, '2025-03-15 16:46:11', 'gpt-all'); +INSERT INTO `chat_model` VALUES (1781715781896646657, 'suno-v3', 'suno-v3', 0.3, '2', '1', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-21 00:05:20', 1, '2025-03-12 15:06:39', 'suno-v3'); +INSERT INTO `chat_model` VALUES (1781728235120791553, 'stable-diffusion', 'stable-diffusion', 0.1, '2', '1', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-21 00:54:49', 1, '2025-03-04 22:09:12', 'stable-diffusion'); +INSERT INTO `chat_model` VALUES (1782736322308943873, 'dall-e-3', 'dall3', 0.3, '2', '1', '', 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-23 19:40:36', 1, '2025-03-06 09:13:59', 'dall3'); +INSERT INTO `chat_model` VALUES (1782736729471004673, 'gpt-4-gizmo', 'gpt-4-gizmo', 0.2, '2', '1', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-23 19:42:13', 1, '2025-03-06 20:16:42', 'gpt-4-gizmo'); +INSERT INTO `chat_model` VALUES (1782792839548735490, 'midjourney', 'midjourney', 0.5, '2', '1', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-23 23:25:10', 1, '2025-03-06 13:48:34', 'midjourney'); +INSERT INTO `chat_model` VALUES (1782792839548735491, 'suno', 'suno', 0.3, '2', '1', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-23 23:25:10', 1, '2024-12-27 22:29:15', 'suno'); +INSERT INTO `chat_model` VALUES (1782792839548735492, 'luma', 'luma', 1, '2', '1', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-23 23:25:10', 1, '2024-12-27 22:29:19', 'luma'); +INSERT INTO `chat_model` VALUES (1782792839548735493, 'ppt', 'ppt', 1.1, '2', '1', NULL, 'https://docmee.cn', 'sk-xx', 103, 1, '2025-01-10 23:25:10', 1, '2025-03-05 20:14:10', 'ppt'); +INSERT INTO `chat_model` VALUES (1811030708604317697, 'gemini-1.5-pro', 'gemini-1.5-pro', 0.2, '1', '1', '', 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-07-10 21:32:23', 1, '2024-12-27 22:29:24', 'gemini-1.5-pro'); +INSERT INTO `chat_model` VALUES (1813306888443305986, 'claude-3-5-sonnet-20240620', 'claude-3-5-sonnet-20240620', 0.2, '1', '0', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-07-17 04:17:06', 1, '2025-03-13 12:06:18', 'claude-3-5-sonnet-20240620'); +INSERT INTO `chat_model` VALUES (1814227154275082242, 'o1-mini-2024-09-12', 'o1-mini-2024-09-12', 0.01, '1', '0', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-07-19 17:13:55', 1, '2024-12-27 22:29:32', 'o1-mini-2024-09-12'); +INSERT INTO `chat_model` VALUES (1828324413241466881, 'deepseek-r3', 'deepseek-r3', 0.01, '1', '0', NULL, '785252', 'sk-xx', 103, 1, '2024-08-27 14:51:23', 1, '2025-03-14 17:08:57', 'chatgpt-4o-latest'); +INSERT INTO `chat_model` VALUES (1859570229117022211, 'gpt-4o-mini', 'gpt-4o-mini', 0.1, '2', '0', '', 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-11-21 20:11:06', 1, '2025-03-13 11:39:24', '1'); +INSERT INTO `chat_model` VALUES (1859570229117022212, 'o3-mini-2025-01-31', 'o3-mini-2025-01-31', 0.1, '1', '0', '', 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-11-21 20:11:06', 1, '2024-11-21 20:12:30', ''); +INSERT INTO `chat_model` VALUES (1859570229117022213, 'ollama-qwen2.5:7b', 'ollama-qwen2.5:7b', 0.1, '1', '0', '', 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-11-21 20:11:06', 1, '2024-11-21 20:12:30', ''); +INSERT INTO `chat_model` VALUES (1897618774806515713, 'mink', 'mink澶фā鍨�', 0.01, '1', '0', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2025-03-06 20:02:27', 1, '2025-03-08 02:28:59', '111'); +INSERT INTO `chat_model` VALUES (1897618774806515714, 'openCmd', 'openCmd', 0.01, '1', '0', '缁撳悎涓婁笅鏂囧彧鐢ㄥ洖澶嶆垚鍔熸垨鑰呭け璐�', 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2025-03-06 20:02:27', 1, '2025-03-08 02:28:59', '111'); +INSERT INTO `chat_model` VALUES (1897618774806515715, 'sqlPlugin', 'sqlPlugin', 0.01, '1', '0', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2025-03-06 20:02:27', 1, '2025-03-08 02:28:59', '111'); +INSERT INTO `chat_model` VALUES (1899652265652015105, 'deepseek-r1:5b', '鏈湴閮ㄧ讲', 0.5, '2', '0', NULL, 'http://127.0.0.1:11434/', 'sk-xx', 103, 1, '2025-03-12 10:42:49', 1, '2025-03-15 20:49:36', '娴嬭瘯'); +INSERT INTO `chat_model` VALUES (1899658241792823297, 'siliconflow', '纭呭熀娴佸姩', 0.1, '1', '1', NULL, 'https://api.siliconflow.cn', 'sk-xx', 103, 1, '2025-03-12 11:06:33', 1, '2025-03-12 11:13:49', '111'); -- ---------------------------- -- Table structure for chat_package_plan @@ -299,7 +291,7 @@ `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞', `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鏀粯璁㈠崟琛�' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鏀粯璁㈠崟琛�' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of chat_pay_order @@ -738,7 +730,7 @@ `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `idx_kname`(`kid`, `doc_name`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1895845104886276099 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鐭ヨ瘑搴撻檮浠�' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 1900472441872076802 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鐭ヨ瘑搴撻檮浠�' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of knowledge_attach @@ -758,7 +750,7 @@ `create_time` datetime NULL DEFAULT NULL, `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1895845104492011522 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鐭ヨ瘑鐗囨' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 1900472441846910978 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鐭ヨ瘑鐗囨' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of knowledge_fragment @@ -773,12 +765,20 @@ `kid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鐭ヨ瘑搴揑D', `uid` bigint(20) NOT NULL DEFAULT 0 COMMENT '鐢ㄦ埛ID', `kname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鐭ヨ瘑搴撳悕绉�', + `share` tinyint(4) NULL DEFAULT NULL COMMENT '鏄惁鍏紑鐭ヨ瘑搴擄紙0 鍚� 1鏄級', `description` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鎻忚堪', - `create_time` datetime NULL DEFAULT NULL, - `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `knowledge_separator` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鐭ヨ瘑鍒嗛殧绗�', + `question_separator` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鎻愰棶鍒嗛殧绗�', + `overlap_char` int(11) NULL DEFAULT NULL COMMENT '閲嶅彔瀛楃鏁�', + `retrieve_limit` int(11) NULL DEFAULT NULL COMMENT '鐭ヨ瘑搴撲腑妫�绱㈢殑鏉℃暟', + `text_block_size` int(11) NULL DEFAULT NULL COMMENT '鏂囨湰鍧楀ぇ灏�', + `vector` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍚戦噺搴�', + `vector_model` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍚戦噺妯″瀷', + `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍒涘缓浜�', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `idx_kid`(`kid`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1895836475231584259 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鐭ヨ瘑搴�' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 1900203785917321219 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鐭ヨ瘑搴�' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of knowledge_info @@ -807,9 +807,9 @@ -- ---------------------------- -- Records of sys_config -- ---------------------------- -INSERT INTO `sys_config` VALUES (1, '000000', '涓绘鏋堕〉-榛樿鐨偆鏍峰紡鍚嶇О', 'sys.index.skinName', 'skin-blue', 'Y', 103, 1, '2023-05-14 15:19:42', NULL, NULL, '钃濊壊 skin-blue銆佺豢鑹� skin-green銆佺传鑹� skin-purple銆佺孩鑹� skin-red銆侀粍鑹� skin-yellow'); -INSERT INTO `sys_config` VALUES (2, '000000', '鐢ㄦ埛绠$悊-璐﹀彿鍒濆瀵嗙爜', 'sys.user.initPassword', '123456', 'Y', 103, 1, '2023-05-14 15:19:42', NULL, NULL, '鍒濆鍖栧瘑鐮� 123456'); -INSERT INTO `sys_config` VALUES (3, '000000', '涓绘鏋堕〉-渚ц竟鏍忎富棰�', 'sys.index.sideTheme', 'theme-dark', 'Y', 103, 1, '2023-05-14 15:19:42', NULL, NULL, '娣辫壊涓婚theme-dark锛屾祬鑹蹭富棰榯heme-light'); +INSERT INTO `sys_config` VALUES (1, '000000', '涓绘鏋堕〉-榛樿鐨偆鏍峰紡鍚嶇О', 'sys.index.skinName', 'skin-blue', 'Y', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-12 12:24:07', '钃濊壊 skin-blue銆佺豢鑹� skin-green銆佺传鑹� skin-purple銆佺孩鑹� skin-red銆侀粍鑹� skin-yellow'); +INSERT INTO `sys_config` VALUES (2, '000000', '鐢ㄦ埛绠$悊-璐﹀彿鍒濆瀵嗙爜', 'sys.user.initPassword', '123456', 'N', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-12 10:22:57', '鍒濆鍖栧瘑鐮� 123456'); +INSERT INTO `sys_config` VALUES (3, '000000', '涓绘鏋堕〉-渚ц竟鏍忎富棰�', 'sys.index.sideTheme', 'theme-dark', 'N', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-12 10:23:02', '娣辫壊涓婚theme-dark锛屾祬鑹蹭富棰榯heme-light'); INSERT INTO `sys_config` VALUES (5, '000000', '璐﹀彿鑷姪-鏄惁寮�鍚敤鎴锋敞鍐屽姛鑳�', 'sys.account.registerUser', 'false', 'Y', 103, 1, '2023-05-14 15:19:42', NULL, NULL, '鏄惁寮�鍚敞鍐岀敤鎴峰姛鑳斤紙true寮�鍚紝false鍏抽棴锛�'); INSERT INTO `sys_config` VALUES (11, '000000', 'OSS棰勮鍒楄〃璧勬簮寮�鍏�', 'sys.oss.previewListResource', 'true', 'Y', 103, 1, '2023-05-14 15:19:42', NULL, NULL, 'true:寮�鍚�, false:鍏抽棴'); @@ -842,15 +842,14 @@ -- ---------------------------- INSERT INTO `sys_dept` VALUES (100, '000000', 0, '0', '鐔婄尗绉戞妧', 0, 'ageerle', '15888888888', 'ageerle@163.com', '0', '0', 103, 1, '2023-05-14 15:19:39', 1, '2023-12-29 11:18:24'); INSERT INTO `sys_dept` VALUES (101, '000000', 100, '0,100', '娣卞湷鎬诲叕鍙�', 1, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL); -INSERT INTO `sys_dept` VALUES (102, '000000', 100, '0,100', '闀挎矙鍒嗗叕鍙�', 2, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL); +INSERT INTO `sys_dept` VALUES (102, '000000', 100, '0,100', '闀挎矙鍒嗗叕鍙�', 2, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '2', 103, 1, '2023-05-14 15:19:39', NULL, NULL); INSERT INTO `sys_dept` VALUES (103, '000000', 101, '0,100,101', '鐮斿彂閮ㄩ棬', 1, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL); -INSERT INTO `sys_dept` VALUES (104, '000000', 101, '0,100,101', '甯傚満閮ㄩ棬', 2, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL); -INSERT INTO `sys_dept` VALUES (105, '000000', 101, '0,100,101', '娴嬭瘯閮ㄩ棬', 3, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL); -INSERT INTO `sys_dept` VALUES (106, '000000', 101, '0,100,101', '璐㈠姟閮ㄩ棬', 4, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL); -INSERT INTO `sys_dept` VALUES (107, '000000', 101, '0,100,101', '杩愮淮閮ㄩ棬', 5, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL); -INSERT INTO `sys_dept` VALUES (108, '000000', 102, '0,100,102', '甯傚満閮ㄩ棬', 1, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL); -INSERT INTO `sys_dept` VALUES (109, '000000', 102, '0,100,102', '璐㈠姟閮ㄩ棬', 2, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL); -INSERT INTO `sys_dept` VALUES (1729685491964084226, '911866', 0, '0', '5126', 0, 'admin', NULL, NULL, '0', '2', 103, 1, '2023-11-29 10:15:32', 1, '2023-11-29 10:15:32'); +INSERT INTO `sys_dept` VALUES (104, '000000', 101, '0,100,101', '甯傚満閮ㄩ棬', 2, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '2', 103, 1, '2023-05-14 15:19:39', NULL, NULL); +INSERT INTO `sys_dept` VALUES (105, '000000', 101, '0,100,101', '娴嬭瘯閮ㄩ棬', 3, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '2', 103, 1, '2023-05-14 15:19:39', NULL, NULL); +INSERT INTO `sys_dept` VALUES (106, '000000', 101, '0,100,101', '璐㈠姟閮ㄩ棬', 4, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '2', 103, 1, '2023-05-14 15:19:39', NULL, NULL); +INSERT INTO `sys_dept` VALUES (107, '000000', 101, '0,100,101', '杩愮淮閮ㄩ棬', 5, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '2', 103, 1, '2023-05-14 15:19:39', NULL, NULL); +INSERT INTO `sys_dept` VALUES (108, '000000', 102, '0,100,102', '甯傚満閮ㄩ棬', 1, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '2', 103, 1, '2023-05-14 15:19:39', NULL, NULL); +INSERT INTO `sys_dept` VALUES (109, '000000', 102, '0,100,102', '璐㈠姟閮ㄩ棬', 2, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '2', 103, 1, '2023-05-14 15:19:39', NULL, NULL); -- ---------------------------- -- Table structure for sys_dict_data @@ -1046,8 +1045,8 @@ INSERT INTO `sys_menu` VALUES (100, '鐢ㄦ埛绠$悊', 1775500307898949634, 1, 'user', 'system/user/index', '', 1, 0, 'C', '0', '0', 'system:user:list', 'ph:user-fill', 103, 1, '2023-05-14 15:19:39', 1, '2024-10-07 21:29:29', '鐢ㄦ埛绠$悊鑿滃崟'); INSERT INTO `sys_menu` VALUES (101, '瑙掕壊绠$悊', 1, 2, 'role', 'system/role/index', '', 1, 0, 'C', '0', '0', 'system:role:list', 'ri:user-3-fill', 103, 1, '2023-05-14 15:19:39', 1, '2024-10-07 21:04:59', '瑙掕壊绠$悊鑿滃崟'); INSERT INTO `sys_menu` VALUES (102, '鑿滃崟绠$悊', 1, 3, 'menu', 'system/menu/index', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'typcn:th-menu-outline', 103, 1, '2023-05-14 15:19:39', 1, '2024-10-07 21:06:06', '鑿滃崟绠$悊鑿滃崟'); -INSERT INTO `sys_menu` VALUES (103, '閮ㄩ棬绠$悊', 1, 4, 'dept', 'system/dept/index', '', 1, 0, 'C', '1', '1', 'system:dept:list', 'mdi:company', 103, 1, '2023-05-14 15:19:39', 1, '2024-10-07 21:07:38', '閮ㄩ棬绠$悊鑿滃崟'); -INSERT INTO `sys_menu` VALUES (104, '宀椾綅绠$悊', 1, 5, 'post', 'system/post/index', '', 1, 0, 'C', '1', '1', 'system:post:list', 'post', 103, 1, '2023-05-14 15:19:39', 1, '2024-04-04 22:36:15', '宀椾綅绠$悊鑿滃崟'); +INSERT INTO `sys_menu` VALUES (103, '閮ㄩ棬绠$悊', 1, 4, 'dept', 'system/dept/index', '', 1, 0, 'C', '0', '0', 'system:dept:list', 'mdi:company', 103, 1, '2023-05-14 15:19:39', 1, '2025-03-03 16:44:16', '閮ㄩ棬绠$悊鑿滃崟'); +INSERT INTO `sys_menu` VALUES (104, '宀椾綅绠$悊', 1, 5, 'post', 'system/post/index', '', 1, 0, 'C', '0', '0', 'system:post:list', 'post', 103, 1, '2023-05-14 15:19:39', 1, '2025-03-11 13:58:09', '宀椾綅绠$悊鑿滃崟'); INSERT INTO `sys_menu` VALUES (105, '瀛楀吀绠$悊', 1, 6, 'dict', 'system/dict/index', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'fluent-mdl2:dictionary', 103, 1, '2023-05-14 15:19:40', 1, '2024-10-07 21:14:33', '瀛楀吀绠$悊鑿滃崟'); INSERT INTO `sys_menu` VALUES (106, '绯荤粺鍙傛暟', 1, 10, 'config', 'system/config/index', '', 1, 0, 'C', '0', '0', 'system:config:list', 'tdesign:system-code', 103, 1, '2023-05-14 15:19:40', 1, '2024-10-07 21:11:07', '鍙傛暟璁剧疆鑿滃崟'); INSERT INTO `sys_menu` VALUES (107, '閫氱煡鍏憡', 1, 14, 'notice', 'system/notice/index', '', 1, 0, 'C', '0', '0', 'system:notice:list', 'icon-park-solid:volume-notice', 103, 1, '2023-05-14 15:19:40', 1, '2024-10-07 21:11:42', '閫氱煡鍏憡鑿滃崟'); @@ -1058,7 +1057,7 @@ INSERT INTO `sys_menu` VALUES (1001, '鐢ㄦ埛鏌ヨ', 100, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, ''); INSERT INTO `sys_menu` VALUES (1002, '鐢ㄦ埛鏂板', 100, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, ''); INSERT INTO `sys_menu` VALUES (1003, '鐢ㄦ埛淇敼', 100, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, ''); -INSERT INTO `sys_menu` VALUES (1004, '鐢ㄦ埛鍒犻櫎', 100, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, ''); +INSERT INTO `sys_menu` VALUES (1004, '鐢ㄦ埛鍒犻櫎', 100, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 103, 1, '2023-05-14 15:19:40', 1, '2025-03-05 17:27:08', ''); INSERT INTO `sys_menu` VALUES (1005, '鐢ㄦ埛瀵煎嚭', 100, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, ''); INSERT INTO `sys_menu` VALUES (1006, '鐢ㄦ埛瀵煎叆', 100, 6, '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, ''); INSERT INTO `sys_menu` VALUES (1007, '閲嶇疆瀵嗙爜', 100, 7, '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, ''); @@ -1126,14 +1125,18 @@ INSERT INTO `sys_menu` VALUES (1786379590171156484, '鐢ㄦ埛鍏戞崲璁板綍淇敼', 1786379590171156481, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:voucher:edit', '#', 103, 1, '2024-05-03 20:59:55', NULL, NULL, ''); INSERT INTO `sys_menu` VALUES (1786379590171156485, '鐢ㄦ埛鍏戞崲璁板綍鍒犻櫎', 1786379590171156481, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:voucher:remove', '#', 103, 1, '2024-05-03 20:59:55', NULL, NULL, ''); INSERT INTO `sys_menu` VALUES (1786379590171156486, '鐢ㄦ埛鍏戞崲璁板綍瀵煎嚭', 1786379590171156481, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:voucher:export', '#', 103, 1, '2024-05-03 20:59:55', NULL, NULL, ''); -INSERT INTO `sys_menu` VALUES (1787078000285122561, '濂楅绠$悊', 1775500307898949634, 3, 'package', 'system/package/index', NULL, 1, 0, 'C', '0', '0', 'system:package:list', 'lets-icons:order', 103, 1, '2024-05-05 19:13:53', 1, '2024-11-02 22:20:36', '濂楅绠$悊鑿滃崟'); -INSERT INTO `sys_menu` VALUES (1810594719028834305, '搴旂敤绠$悊', 1775500307898949634, 4, 'gpts', 'system/gpts/index', NULL, 1, 0, 'C', '0', '0', 'system:gpts:list', 'tdesign:app', 103, 1, '2024-07-09 16:40:18', 1, '2025-03-01 17:12:56', 'gpts绠$悊鑿滃崟'); +INSERT INTO `sys_menu` VALUES (1787078000285122561, '濂楅绠$悊', 1775500307898949634, 3, 'package', 'system/package/index', NULL, 1, 0, 'C', '0', '0', 'system:package:list', 'lets-icons:order', 103, 1, '2024-05-05 19:13:53', 1, '2025-03-05 18:56:22', '濂楅绠$悊鑿滃崟'); +INSERT INTO `sys_menu` VALUES (1810594719028834305, '搴旂敤绠$悊', 1775500307898949634, 4, 'gpts', 'system/gpts/index', NULL, 1, 0, 'C', '0', '0', 'system:gpts:list', 'tdesign:app', 103, 1, '2024-07-09 16:40:18', 1, '2025-03-13 23:59:07', 'gpts绠$悊鑿滃崟'); INSERT INTO `sys_menu` VALUES (1810594719028834306, 'gpts绠$悊鏌ヨ', 1810594719028834305, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:query', '#', 103, 1, '2024-07-09 16:40:19', NULL, NULL, ''); INSERT INTO `sys_menu` VALUES (1810594719028834307, 'gpts绠$悊鏂板', 1810594719028834305, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:add', '#', 103, 1, '2024-07-09 16:40:19', NULL, NULL, ''); INSERT INTO `sys_menu` VALUES (1810594719028834308, 'gpts绠$悊淇敼', 1810594719028834305, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:edit', '#', 103, 1, '2024-07-09 16:40:19', NULL, NULL, ''); -INSERT INTO `sys_menu` VALUES (1810594719028834309, 'gpts绠$悊鍒犻櫎', 1810594719028834305, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:remove', '#', 103, 1, '2024-07-09 16:40:19', NULL, NULL, ''); +INSERT INTO `sys_menu` VALUES (1810594719028834309, 'gpts绠$悊鍒犻櫎', 1810594719028834305, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:remove', '#', 103, 1, '2024-07-09 16:40:19', 1, '2025-03-05 19:02:06', ''); INSERT INTO `sys_menu` VALUES (1810594719028834310, 'gpts绠$悊瀵煎嚭', 1810594719028834305, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:export', '#', 103, 1, '2024-07-09 16:40:19', NULL, NULL, ''); INSERT INTO `sys_menu` VALUES (1843281231381852162, '鏂囦欢绠$悊', 1775500307898949634, 20, 'file', 'system/oss/index', NULL, 1, 0, 'C', '0', '0', NULL, 'material-symbols-light:folder', 103, 1, '2024-10-07 21:24:27', 1, '2024-12-27 23:03:04', ''); +INSERT INTO `sys_menu` VALUES (1860690448695549953, '閰嶇疆绠$悊', 1775500307898949634, 9, 'configurationManage', 'system/configurationManage/index', NULL, 1, 0, 'C', '0', '0', NULL, 'mdi:archive-cog-outline', 103, 1, '2024-11-24 22:22:28', 1, '2024-12-30 21:24:01', ''); +INSERT INTO `sys_menu` VALUES (1898286496441393153, '鐭ヨ瘑搴撶鐞�', 1775500307898949634, 10, 'knowledgeBase', 'system/knowledgeBase/index', NULL, 1, 0, 'C', '0', '0', NULL, 'garden:knowledge-base-26', 103, 1, '2025-03-08 16:15:44', 1, '2025-03-09 13:35:32', ''); +INSERT INTO `sys_menu` VALUES (1900172314827739137, '娴佺▼缂栨帓', 1775500307898949634, 11, 'processOrchestration', 'system/processOrchestration/index', NULL, 1, 0, 'C', '0', '0', NULL, '#', 103, 1, '2025-03-13 21:09:18', 1, '2025-03-13 21:09:18', ''); +INSERT INTO `sys_menu` VALUES (1900854435890089985, '鑱婂ぉ娴嬭瘯', 0, 1, '#', '', NULL, 1, 0, 'M', '0', '0', NULL, '#', 103, 1, '2025-03-15 18:19:48', 1, '2025-03-15 18:19:48', ''); -- ---------------------------- -- Table structure for sys_notice @@ -1158,7 +1161,7 @@ -- ---------------------------- -- Records of sys_notice -- ---------------------------- -INSERT INTO `sys_notice` VALUES (1789324923280932865, '000000', '鍏憡', '2', 0x3C703E3C7374726F6E67207374796C653D22636F6C6F723A20726762283235352C203135332C2030293B223EE69CACE7BD91E7AB99E4B88EE4BBBBE4BD95E585B6E4BB96E585ACE58FB8E68896E59586E6A087E6B2A1E69C89E4BBBBE4BD95E585B3E88194E68896E59088E4BD9CE585B3E7B3BB3C2F7374726F6E673E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A20726762283233302C20302C2030293B223E4149E4B99FE4BC9AE78AAFE99499E38082E8AFB7E58BBFE5B086E585B6E794A8E4BA8EE9878DE8A681E79BAEE79A843C2F7370616E3E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A20726762283235352C203135332C2030293B223EE68891E4BBACE79BAEE5898DE6ADA3E59CA8E4BFAEE5A48DE68891E4BBACE7BD91E7AB99E4B88AE79A84E99499E8AFAFE5B9B6E694B9E8BF9BE7BB86E88A82E38082E5A682E69E9CE682A8E69C89E4BBBBE4BD95E79691E997AEEFBC8CE8AFB7E9809AE8BF87E4BBA5E4B88BE696B9E5BC8FE88194E7B3BBE68891E4BBACEFBC9A61676565726C65403136332E636F6D3C2F7370616E3E3C2F703E3C703E3C62723E3C2F703E, '0', 103, 1, '2024-05-12 00:01:20', 1, '2024-10-28 23:25:21', ''); +INSERT INTO `sys_notice` VALUES (1789324923280932865, '000000', '鍏憡', '1', 0x3C703E3C7374726F6E67207374796C653D22636F6C6F723A20236666393930303B223EE69CACE7BD91E7AB99E4B88EE4BBBBE4BD95E585B6E4BB96E585ACE58FB8E68896E59586E6A087E6B2A1E69C89E4BBBBE4BD95E585B3E88194E68896E59088E4BD9CE585B3E7B3BB3C2F7374726F6E673E3C2F703E0A3C703E3C7370616E207374796C653D22636F6C6F723A20236536303030303B223E4149E4B99FE4BC9AE78AAFE99499E38082E8AFB7E58BBFE5B086E585B6E794A8E4BA8EE9878DE8A681E79BAEE79A843C2F7370616E3E3C2F703E0A3C703E3C7370616E207374796C653D22636F6C6F723A20236666393930303B223EE68891E4BBACE79BAEE5898DE6ADA3E59CA8E4BFAEE5A48DE68891E4BBACE7BD91E7AB99E4B88AE79A84E99499E8AFAFE5B9B6E694B9E8BF9BE7BB86E88A82E38082E5A682E69E9CE682A8E69C89E4BBBBE4BD95E79691E997AEEFBC8CE8AFB7E9809AE8BF87E4BBA5E4B88BE696B9E5BC8FE88194E7B3BBE68891E4BBACEFBC9A61676565726C65403136332E636F6D313434343434353535353C2F7370616E3E3C2F703E0A3C703E266E6273703B3C2F703E, '0', 103, 1, '2024-05-12 00:01:20', 1, '2025-03-11 19:31:59', ''); INSERT INTO `sys_notice` VALUES (1895352010039119874, '000000', '浣犲ソ', '1', 0x3C703E6E6968616F3C2F703E, '0', 103, 1, '2025-02-28 13:55:08', 1, '2025-02-28 13:55:08', NULL); -- ---------------------------- @@ -1182,8 +1185,6 @@ -- ---------------------------- -- Records of sys_notice_state -- ---------------------------- -INSERT INTO `sys_notice_state` VALUES (1895352010437578753, 1, 1895352010039119874, '0', 103, 1, '2025-02-28 13:55:08', 1, '2025-02-28 13:55:08', NULL); -INSERT INTO `sys_notice_state` VALUES (1895352010437578754, 1714176194496339970, 1895352010039119874, '1', 103, 1, '2025-02-28 13:55:08', 1714176194496339970, '2025-03-01 21:35:20', NULL); -- ---------------------------- -- Table structure for sys_oper_log @@ -1273,11 +1274,11 @@ -- ---------------------------- -- Records of sys_oss_config -- ---------------------------- -INSERT INTO `sys_oss_config` VALUES (1, '000000', 'minio', 'ruoyi', 'ruoyi123', 'ruoyi', '', '127.0.0.1:9000', '', 'N', '', '1', '1', '', 103, 1, '2023-05-14 15:19:42', 1, '2023-07-13 23:28:18', NULL); -INSERT INTO `sys_oss_config` VALUES (2, '000000', 'qiniu', 'ruoyi', 'ruoyi123', 'ruoyi', '', 's3-cn-north-1.qiniucs.com', '', 'N', '', '1', '1', '', 103, 1, '2023-05-14 15:19:42', 1, '2023-05-14 15:19:42', NULL); -INSERT INTO `sys_oss_config` VALUES (3, '000000', 'aliyun', 'ruoyi', 'ruoyi123', 'ruoyi', '', 'oss-cn-beijing.aliyuncs.com', '', 'N', '', '1', '1', '', 103, 1, '2023-05-14 15:19:42', 1, '2023-07-13 23:35:23', NULL); -INSERT INTO `sys_oss_config` VALUES (4, '000000', 'qcloud', 'ruoyi', 'ruoyi123', 'ruoyi', 'panda', 'cos.ap-guangzhou.myqcloud.com', '', 'N', 'ap-guangzhou', '1', '0', '', 103, 1, '2023-05-14 15:19:42', 1, '2024-11-04 00:13:35', ''); -INSERT INTO `sys_oss_config` VALUES (5, '000000', 'image', 'ruoyi', 'ruoyi123', 'ruoyi', 'image', '127.0.0.1:9000', '', 'N', '', '1', '1', '', 103, 1, '2023-05-14 15:19:42', 1, '2023-05-14 15:19:42', NULL); +INSERT INTO `sys_oss_config` VALUES (1, '000000', 'minio', 'ruoyi', 'ruoyi123', 'ruoyi', '', '127.0.0.1:9000', '', 'N', '', '1', '0', '', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-14 09:55:25', NULL); +INSERT INTO `sys_oss_config` VALUES (2, '000000', 'qiniu', 'ruoyi', 'ruoyi123', 'ruoyi', '', 's3-cn-north-1.qiniucs.com', '', 'N', '', '1', '1', '', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-14 09:55:22', NULL); +INSERT INTO `sys_oss_config` VALUES (3, '000000', 'aliyun', 'ruoyi', 'ruoyi123', 'ruoyi', '', 'oss-cn-beijing.aliyuncs.com', '', 'N', '', '1', '1', '', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-13 13:13:04', NULL); +INSERT INTO `sys_oss_config` VALUES (4, '000000', 'qcloud', 'ruoyi', 'ruoyi123', 'ruoyi', 'panda', 'cos.ap-guangzhou.myqcloud.com', '', 'N', 'ap-guangzhou', '1', '1', '', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-05 14:33:35', ''); +INSERT INTO `sys_oss_config` VALUES (5, '000000', 'image', 'ruoyi', 'ruoyi123', 'ruoyi', 'image', '127.0.0.1:9000', '', 'N', '', '1', '1', '', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-13 13:12:57', NULL); -- ---------------------------- -- Table structure for sys_post @@ -1335,11 +1336,11 @@ -- Records of sys_role -- ---------------------------- INSERT INTO `sys_role` VALUES (1, '000000', '瓒呯骇绠$悊鍛�', 'superadmin', 1, '1', 1, 1, '0', '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL, '瓒呯骇绠$悊鍛�'); -INSERT INTO `sys_role` VALUES (2, '000000', '鏅�氳鑹�', 'common', 2, '2', 1, 1, '0', '0', 103, 1, '2023-05-14 15:19:39', 1, '2024-10-07 20:59:32', '鏅�氳鑹�'); -INSERT INTO `sys_role` VALUES (3, '000000', '鏈儴闂ㄥ強浠ヤ笅', 'test1', 3, '4', 1, 1, '0', '0', 103, 1, '2023-05-14 15:20:00', 1, '2023-06-04 10:20:43', NULL); +INSERT INTO `sys_role` VALUES (2, '000000', '鏅�氳鑹�', 'common', 2, '2', 1, 1, '0', '0', 103, 1, '2023-05-14 15:19:39', 1, '2025-03-12 10:07:23', '鏅�氳鑹�'); +INSERT INTO `sys_role` VALUES (3, '000000', '鏈儴闂ㄥ強浠ヤ笅', 'test1', 3, '4', 1, 1, '0', '0', 103, 1, '2023-05-14 15:20:00', 1, '2025-03-17 09:29:25', NULL); INSERT INTO `sys_role` VALUES (4, '000000', '浠呮湰浜�', 'test2', 4, '5', 1, 1, '0', '0', 103, 1, '2023-05-14 15:20:00', 1, '2023-06-04 10:21:01', NULL); -INSERT INTO `sys_role` VALUES (1661661183933177857, '000000', '灏忕▼搴忕鐞嗗憳', 'xcxadmin', 1, '1', 1, 1, '0', '0', 103, 1, '2023-05-25 17:11:13', 1, '2023-05-25 17:11:13', ''); -INSERT INTO `sys_role` VALUES (1729685491108446210, '911866', '绠$悊鍛�', 'admin', 1, '1', 1, 1, '0', '0', 103, 1, '2023-11-29 10:15:32', 1, '2023-11-29 10:15:32', NULL); +INSERT INTO `sys_role` VALUES (1661661183933177857, '000000', '灏忕▼搴忕鐞嗗憳', 'xcxadmin', 1, '1', 1, 1, '0', '0', 103, 1, '2023-05-25 17:11:13', 1, '2025-03-14 14:26:26', ''); +INSERT INTO `sys_role` VALUES (1729685491108446210, '911866', '绠$悊鍛�', 'admin', 4, '1', 1, 1, '0', '0', 103, 1, '2023-11-29 10:15:32', 1, '2025-03-12 10:07:57', NULL); -- ---------------------------- -- Table structure for sys_role_dept @@ -1372,6 +1373,100 @@ -- ---------------------------- -- Records of sys_role_menu -- ---------------------------- +INSERT INTO `sys_role_menu` VALUES (2, 1); +INSERT INTO `sys_role_menu` VALUES (2, 100); +INSERT INTO `sys_role_menu` VALUES (2, 101); +INSERT INTO `sys_role_menu` VALUES (2, 102); +INSERT INTO `sys_role_menu` VALUES (2, 103); +INSERT INTO `sys_role_menu` VALUES (2, 104); +INSERT INTO `sys_role_menu` VALUES (2, 105); +INSERT INTO `sys_role_menu` VALUES (2, 106); +INSERT INTO `sys_role_menu` VALUES (2, 107); +INSERT INTO `sys_role_menu` VALUES (2, 108); +INSERT INTO `sys_role_menu` VALUES (2, 113); +INSERT INTO `sys_role_menu` VALUES (2, 500); +INSERT INTO `sys_role_menu` VALUES (2, 501); +INSERT INTO `sys_role_menu` VALUES (2, 1001); +INSERT INTO `sys_role_menu` VALUES (2, 1002); +INSERT INTO `sys_role_menu` VALUES (2, 1003); +INSERT INTO `sys_role_menu` VALUES (2, 1004); +INSERT INTO `sys_role_menu` VALUES (2, 1005); +INSERT INTO `sys_role_menu` VALUES (2, 1006); +INSERT INTO `sys_role_menu` VALUES (2, 1007); +INSERT INTO `sys_role_menu` VALUES (2, 1008); +INSERT INTO `sys_role_menu` VALUES (2, 1009); +INSERT INTO `sys_role_menu` VALUES (2, 1010); +INSERT INTO `sys_role_menu` VALUES (2, 1011); +INSERT INTO `sys_role_menu` VALUES (2, 1012); +INSERT INTO `sys_role_menu` VALUES (2, 1013); +INSERT INTO `sys_role_menu` VALUES (2, 1014); +INSERT INTO `sys_role_menu` VALUES (2, 1015); +INSERT INTO `sys_role_menu` VALUES (2, 1016); +INSERT INTO `sys_role_menu` VALUES (2, 1017); +INSERT INTO `sys_role_menu` VALUES (2, 1018); +INSERT INTO `sys_role_menu` VALUES (2, 1019); +INSERT INTO `sys_role_menu` VALUES (2, 1020); +INSERT INTO `sys_role_menu` VALUES (2, 1021); +INSERT INTO `sys_role_menu` VALUES (2, 1022); +INSERT INTO `sys_role_menu` VALUES (2, 1023); +INSERT INTO `sys_role_menu` VALUES (2, 1024); +INSERT INTO `sys_role_menu` VALUES (2, 1025); +INSERT INTO `sys_role_menu` VALUES (2, 1026); +INSERT INTO `sys_role_menu` VALUES (2, 1027); +INSERT INTO `sys_role_menu` VALUES (2, 1028); +INSERT INTO `sys_role_menu` VALUES (2, 1029); +INSERT INTO `sys_role_menu` VALUES (2, 1030); +INSERT INTO `sys_role_menu` VALUES (2, 1031); +INSERT INTO `sys_role_menu` VALUES (2, 1032); +INSERT INTO `sys_role_menu` VALUES (2, 1033); +INSERT INTO `sys_role_menu` VALUES (2, 1034); +INSERT INTO `sys_role_menu` VALUES (2, 1035); +INSERT INTO `sys_role_menu` VALUES (2, 1036); +INSERT INTO `sys_role_menu` VALUES (2, 1037); +INSERT INTO `sys_role_menu` VALUES (2, 1038); +INSERT INTO `sys_role_menu` VALUES (2, 1039); +INSERT INTO `sys_role_menu` VALUES (2, 1040); +INSERT INTO `sys_role_menu` VALUES (2, 1041); +INSERT INTO `sys_role_menu` VALUES (2, 1042); +INSERT INTO `sys_role_menu` VALUES (2, 1043); +INSERT INTO `sys_role_menu` VALUES (2, 1044); +INSERT INTO `sys_role_menu` VALUES (2, 1045); +INSERT INTO `sys_role_menu` VALUES (2, 1050); +INSERT INTO `sys_role_menu` VALUES (2, 1775500307898949634); +INSERT INTO `sys_role_menu` VALUES (2, 1775895273104068610); +INSERT INTO `sys_role_menu` VALUES (2, 1775895273104068611); +INSERT INTO `sys_role_menu` VALUES (2, 1775895273104068612); +INSERT INTO `sys_role_menu` VALUES (2, 1775895273104068613); +INSERT INTO `sys_role_menu` VALUES (2, 1775895273104068614); +INSERT INTO `sys_role_menu` VALUES (2, 1775895273104068615); +INSERT INTO `sys_role_menu` VALUES (2, 1780240077690507266); +INSERT INTO `sys_role_menu` VALUES (2, 1780240077690507267); +INSERT INTO `sys_role_menu` VALUES (2, 1780240077690507268); +INSERT INTO `sys_role_menu` VALUES (2, 1780240077690507269); +INSERT INTO `sys_role_menu` VALUES (2, 1780240077690507270); +INSERT INTO `sys_role_menu` VALUES (2, 1780240077690507271); +INSERT INTO `sys_role_menu` VALUES (2, 1780255628576018433); +INSERT INTO `sys_role_menu` VALUES (2, 1780255628576018434); +INSERT INTO `sys_role_menu` VALUES (2, 1780255628576018435); +INSERT INTO `sys_role_menu` VALUES (2, 1780255628576018436); +INSERT INTO `sys_role_menu` VALUES (2, 1780255628576018437); +INSERT INTO `sys_role_menu` VALUES (2, 1780255628576018438); +INSERT INTO `sys_role_menu` VALUES (2, 1786379590171156481); +INSERT INTO `sys_role_menu` VALUES (2, 1786379590171156482); +INSERT INTO `sys_role_menu` VALUES (2, 1786379590171156483); +INSERT INTO `sys_role_menu` VALUES (2, 1786379590171156484); +INSERT INTO `sys_role_menu` VALUES (2, 1786379590171156485); +INSERT INTO `sys_role_menu` VALUES (2, 1786379590171156486); +INSERT INTO `sys_role_menu` VALUES (2, 1787078000285122561); +INSERT INTO `sys_role_menu` VALUES (2, 1810594719028834305); +INSERT INTO `sys_role_menu` VALUES (2, 1810594719028834306); +INSERT INTO `sys_role_menu` VALUES (2, 1810594719028834307); +INSERT INTO `sys_role_menu` VALUES (2, 1810594719028834308); +INSERT INTO `sys_role_menu` VALUES (2, 1810594719028834309); +INSERT INTO `sys_role_menu` VALUES (2, 1810594719028834310); +INSERT INTO `sys_role_menu` VALUES (2, 1843281231381852162); +INSERT INTO `sys_role_menu` VALUES (2, 1860690448695549953); +INSERT INTO `sys_role_menu` VALUES (2, 1898286496441393153); INSERT INTO `sys_role_menu` VALUES (3, 1); INSERT INTO `sys_role_menu` VALUES (3, 100); INSERT INTO `sys_role_menu` VALUES (3, 101); @@ -1382,6 +1477,7 @@ INSERT INTO `sys_role_menu` VALUES (3, 106); INSERT INTO `sys_role_menu` VALUES (3, 107); INSERT INTO `sys_role_menu` VALUES (3, 108); +INSERT INTO `sys_role_menu` VALUES (3, 113); INSERT INTO `sys_role_menu` VALUES (3, 500); INSERT INTO `sys_role_menu` VALUES (3, 501); INSERT INTO `sys_role_menu` VALUES (3, 1001); @@ -1429,6 +1525,8 @@ INSERT INTO `sys_role_menu` VALUES (3, 1043); INSERT INTO `sys_role_menu` VALUES (3, 1044); INSERT INTO `sys_role_menu` VALUES (3, 1045); +INSERT INTO `sys_role_menu` VALUES (3, 1050); +INSERT INTO `sys_role_menu` VALUES (3, 1775500307898949634); INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1); INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 100); INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 107); @@ -1443,10 +1541,108 @@ INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1037); INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1038); INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1039); -INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1689201668374556674); -INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1689205943360188417); -INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1689243465037561858); -INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1689243466220355585); +INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1775500307898949634); +INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1775895273104068610); +INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1775895273104068611); +INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1775895273104068612); +INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1775895273104068613); +INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1775895273104068614); +INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1775895273104068615); +INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1787078000285122561); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 100); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 101); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 102); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 103); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 104); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 105); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 106); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 107); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 108); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 113); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 500); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 501); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1001); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1002); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1003); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1004); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1005); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1006); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1007); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1008); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1009); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1010); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1011); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1012); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1013); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1014); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1015); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1016); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1017); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1018); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1019); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1020); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1021); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1022); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1023); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1024); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1025); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1026); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1027); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1028); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1029); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1030); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1031); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1032); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1033); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1034); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1035); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1036); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1037); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1038); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1039); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1040); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1041); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1042); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1043); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1044); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1045); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1050); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1775500307898949634); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1775895273104068610); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1775895273104068611); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1775895273104068612); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1775895273104068613); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1775895273104068614); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1775895273104068615); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1780240077690507266); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1780240077690507267); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1780240077690507268); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1780240077690507269); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1780240077690507270); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1780240077690507271); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1780255628576018433); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1780255628576018434); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1780255628576018435); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1780255628576018436); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1780255628576018437); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1780255628576018438); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1786379590171156481); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1786379590171156482); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1786379590171156483); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1786379590171156484); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1786379590171156485); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1786379590171156486); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1787078000285122561); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1810594719028834305); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1810594719028834306); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1810594719028834307); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1810594719028834308); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1810594719028834309); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1810594719028834310); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1843281231381852162); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1860690448695549953); +INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1898286496441393153); -- ---------------------------- -- Table structure for sys_tenant @@ -1545,8 +1741,10 @@ -- ---------------------------- -- Records of sys_user -- ---------------------------- -INSERT INTO `sys_user` VALUES (1, NULL, '1', 100.00, '00000', 103, 'admin', '鐔婄尗鍔╂墜', 'sys_user', 'Free', 'ageerle@163.com', '15888888888', '0', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2024/10/07/09bd580f55954b50a3093231945123e0.jpg', NULL, '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2025-03-02 11:05:28', NULL, 103, 1, '2023-05-14 15:19:39', 1, '2025-03-02 11:05:28', '绠$悊鍛�'); -INSERT INTO `sys_user` VALUES (1714176194496339970, NULL, '1', 88.88, '00000', NULL, 'pandarobot@163.com', '闂瓟鍔╂墜', 'sys_user', 'Free', '', '', '0', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2024/04/28/346796f5c32744c1987bf28d5820325b.jpg', NULL, '$2a$10$rxKsOfft6w7yywmpngroo.2/9y8Rucc9uj1rdc5wPg9dlwe9mITIi', '0', '0', '127.0.0.1', '2025-03-01 21:33:12', NULL, 103, 1713440206715650049, '2023-10-17 15:07:07', 1714176194496339970, '2025-03-01 21:33:12', NULL); +INSERT INTO `sys_user` VALUES (1, NULL, '1', 100.00, '00000', 103, 'admin', '鐔婄尗鍔╂墜', 'sys_user', 'Free', 'ageerle@163.com', '15888888888', '1', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2024/10/07/09bd580f55954b50a3093231945123e0.jpg', NULL, '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2025-03-17 09:46:22', NULL, 103, 1, '2023-05-14 15:19:39', 1, '2025-03-17 09:46:22', '绠$悊鍛�'); +INSERT INTO `sys_user` VALUES (1714176194496339970, NULL, '1', 88.88, '00000', NULL, 'pandarobot@163.com', '闂瓟鍔╂墜', 'sys_user', 'Free', '', '', '0', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2024/04/28/346796f5c32744c1987bf28d5820325b.jpg', NULL, '$2a$10$u3LIdNBg6kM3iYqHFJe2IOWCMbT2h5NUI.CeXlF5dyBGcy3nwW836', '1', '2', '127.0.0.1', '2025-03-05 17:18:42', NULL, 103, 1713440206715650049, '2023-10-17 15:07:07', 1714176194496339970, '2025-03-05 17:18:42', NULL); +INSERT INTO `sys_user` VALUES (1898270044544028674, NULL, '1', 1.00, '00000', NULL, '1150039659@qq.com', '1150039659@qq.com', 'sys_user', 'Free', '', '', '0', NULL, NULL, '$2a$10$Mw9T.kzBuYqvT14ZDP2VoORLU9WMWdaT/iatJxEtCQCZoBYBNmKw6', '0', '2', '127.0.0.1', '2025-03-09 23:01:03', '192.168.20.162', NULL, NULL, '2025-03-08 15:10:21', 1898270044544028674, '2025-03-09 23:01:03', NULL); +INSERT INTO `sys_user` VALUES (1898283021590552578, NULL, '0', 1.00, '00000', NULL, '1434841024@qq.com', '1434841024@qq.com', 'sys_user', 'Free', '', '', '0', NULL, NULL, '$2a$10$R6rClsJdJK5Ovhp14Xc0w.IITFBDyocgxWqsJ9SS7AhWW6.vCKiAa', '0', '2', '192.168.20.161', '2025-03-08 17:04:37', '127.0.0.1', NULL, NULL, '2025-03-08 16:01:55', 1898283021590552578, '2025-03-08 17:04:37', NULL); -- ---------------------------- -- Table structure for sys_user_post @@ -1589,7 +1787,6 @@ INSERT INTO `sys_user_role` VALUES (1713427806956404738, 1); INSERT INTO `sys_user_role` VALUES (1713439839684689921, 1); INSERT INTO `sys_user_role` VALUES (1713440206715650049, 1); -INSERT INTO `sys_user_role` VALUES (1714176194496339970, 1); INSERT INTO `sys_user_role` VALUES (1714267685998907393, 1); INSERT INTO `sys_user_role` VALUES (1714269581270667265, 1); INSERT INTO `sys_user_role` VALUES (1714270420659949569, 1); @@ -2570,5 +2767,6 @@ INSERT INTO `sys_user_role` VALUES (1846455089220632577, 1); INSERT INTO `sys_user_role` VALUES (1847910185208987649, 1); INSERT INTO `sys_user_role` VALUES (1871910972567822337, 1); +INSERT INTO `sys_user_role` VALUES (1897620177094057985, 1); SET FOREIGN_KEY_CHECKS = 1; -- Gitblit v1.9.3