Merge remote-tracking branch 'origin/main'
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | |
| | | // æé 彿°ãGetter å 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; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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() {} |
| | | |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | // } |
| | | // }); |
| | | // } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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()); |
| | | } |
| | | } |
| | |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Component |
| | | @Slf4j |
| | |
| | | @Lazy |
| | | @Resource |
| | | private IKnowledgeInfoService knowledgeInfoService; |
| | | @Lazy |
| | | @Resource |
| | | private LocalModelsVectorization localModelsVectorization; |
| | | |
| | | @Getter |
| | | private OpenAiStreamClient openAiStreamClient; |
| | |
| | | |
| | | @Override |
| | | public List<List<Double>> batchVectorization(List<String> chunkList, String kid) { |
| | | openAiStreamClient = chatConfig.getOpenAiStreamClient(); |
| | | List<List<Double>> vectorList = new ArrayList<>(); |
| | | |
| | | // è·åç¥è¯åºä¿¡æ¯ |
| | | KnowledgeInfoVo knowledgeInfoVo = knowledgeInfoService.queryById(Long.valueOf(kid)); |
| | | Embedding embedding = Embedding.builder() |
| | | |
| | | // å¦æä½¿ç¨æ¬å°æ¨¡å |
| | | 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(); |
| | | EmbeddingResponse embeddings = openAiStreamClient.embeddings(embedding); |
| | | } |
| | | |
| | | /** |
| | | * å¤ç 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 = new ArrayList<>(); |
| | | for (BigDecimal bd : vector) { |
| | | doubleVector.add(bd.doubleValue()); |
| | | } |
| | | 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<>(); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * ç³»ç»æ¨¡å |
| | |
| | | private final ISysPackagePlanService sysPackagePlanService; |
| | | |
| | | private final ISysUserService userService; |
| | | |
| | | |
| | | /** |
| | | * æ¥è¯¢ç³»ç»æ¨¡åå表 - å
¨é¨ |
| | |
| | | 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); |
| | | } |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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(); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | # ä½¿ç¨ 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"] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 1.ä¸è½½éå |
| | | docker pull registry.cn-hangzhou.aliyuncs.com/hejh-docker/localmodel:0.1.1 |
| | | 2. å¯å¨ |
| | | docker run -p 5000:5000 <imageId> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Flask==3.1.0 |
| | | sentence-transformers==3.4.1 |
| | | scikit-learn==1.6.1 |
| | | werkzeug>=3.1 |
| | | |
| | |
| | | /* |
| | | 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; |
| | |
| | | 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`; |
| | |
| | | `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', 'ç»å£°ç¾é³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', 'æå¤å¤apikey', 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); |
| | |
| | | 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 |
| | |
| | | -- ---------------------------- |
| | | -- 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 |
| | |
| | | `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 |
| | |
| | | `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 |
| | |
| | | `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 |
| | |
| | | `kid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ç¥è¯åºID', |
| | | `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 |
| | |
| | | -- ---------------------------- |
| | | -- 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ï¼æµ
è²ä¸»é¢theme-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ï¼æµ
è²ä¸»é¢theme-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:å
³é'); |
| | | |
| | |
| | | -- ---------------------------- |
| | | 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, 'ç¯ççç®åLi', '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, 'ç¯ççç®åLi', '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, 'ç¯ççç®åLi', '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, 'ç¯ççç®åLi', '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, 'ç¯ççç®åLi', '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, 'ç¯ççç®åLi', '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, 'ç¯ççç®åLi', '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, 'ç¯ççç®åLi', '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, 'ç¯ççç®åLi', '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, 'ç¯ççç®åLi', '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, 'ç¯ççç®åLi', '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, 'ç¯ççç®åLi', '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, 'ç¯ççç®åLi', '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, 'ç¯ççç®åLi', '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, 'ç¯ççç®åLi', '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, 'ç¯ççç®åLi', '15888888888', 'xxx@qq.com', '0', '2', 103, 1, '2023-05-14 15:19:39', NULL, NULL); |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_dict_data |
| | |
| | | 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', 'éç¥å
¬åèå'); |
| | |
| | | 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, ''); |
| | |
| | | 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 |
| | |
| | | -- ---------------------------- |
| | | -- 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); |
| | | |
| | | -- ---------------------------- |
| | |
| | | -- ---------------------------- |
| | | -- 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 |
| | |
| | | -- ---------------------------- |
| | | -- 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 |
| | |
| | | -- 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 |
| | |
| | | -- ---------------------------- |
| | | -- 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); |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | 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 |
| | |
| | | -- ---------------------------- |
| | | -- 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 |
| | |
| | | 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); |
| | |
| | | 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; |