mirror of
https://gitcode.com/ageerle/ruoyi-ai.git
synced 2026-06-21 13:27:02 +00:00
Compare commits
18 Commits
v2.0.2
...
e5da648941
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5da648941 | ||
|
|
d2755f00bc | ||
|
|
00f362acf1 | ||
|
|
65d479458e | ||
|
|
57e17e0dda | ||
|
|
691d1735fc | ||
|
|
360984bc4b | ||
|
|
0153f004f4 | ||
|
|
cc23508527 | ||
|
|
c884f4f2d3 | ||
|
|
fab6de1f5c | ||
|
|
c02f66636d | ||
|
|
c1162148b1 | ||
|
|
f76fdbf3ad | ||
|
|
feca08b3ec | ||
|
|
72675b17c4 | ||
|
|
9ea5186f49 | ||
|
|
d0a2eadc38 |
8
pom.xml
8
pom.xml
@@ -344,10 +344,16 @@
|
|||||||
</dependencyManagement>
|
</dependencyManagement>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
<module>ruoyi-admin</module>
|
|
||||||
<module>ruoyi-common</module>
|
<module>ruoyi-common</module>
|
||||||
<module>ruoyi-modules</module>
|
<module>ruoyi-modules</module>
|
||||||
|
<module>ruoyi-modules-api</module>
|
||||||
|
<module>ruoyi-modules-api</module>
|
||||||
|
<module>ruoyi-modules-api/ruoyi-device-api</module>
|
||||||
|
<module>ruoyi-modules-api/ruoyi-weixin-api</module>
|
||||||
|
<module>ruoyi-modules/ruoyi-weixin</module>
|
||||||
|
<module>ruoyi-modules/ruoyi-device</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
#基础镜像
|
|
||||||
FROM findepi/graalvm:java17-native
|
|
||||||
|
|
||||||
# 设置环境变量
|
|
||||||
ENV LANG C.UTF-8
|
|
||||||
ENV LANGUAGE C.UTF-8
|
|
||||||
ENV LC_ALL C.UTF-8
|
|
||||||
ENV SERVER_PORT=6039
|
|
||||||
|
|
||||||
MAINTAINER ageerle
|
|
||||||
|
|
||||||
RUN mkdir -p /ruoyi/server/logs \
|
|
||||||
/ruoyi/server/temp \
|
|
||||||
/ruoyi/skywalking/agent
|
|
||||||
|
|
||||||
|
|
||||||
#工作空间
|
|
||||||
WORKDIR /ruoyi/server
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
EXPOSE ${SERVER_PORT}
|
|
||||||
|
|
||||||
ADD ./target/ruoyi-admin.jar ./app.jar
|
|
||||||
|
|
||||||
|
|
||||||
ENTRYPOINT ["java", \
|
|
||||||
"-Djava.security.egd=file:/dev/./urandom", \
|
|
||||||
"-Dserver.port=${SERVER_PORT}", \
|
|
||||||
# 应用名称 如果想区分集群节点监控 改成不同的名称即可
|
|
||||||
# "-Dskywalking.agent.service_name=ruoyi-server", \
|
|
||||||
# "-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar", \
|
|
||||||
"-jar", "app.jar"]
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,129 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<parent>
|
|
||||||
<artifactId>ruoyi-ai</artifactId>
|
|
||||||
<groupId>org.ruoyi</groupId>
|
|
||||||
<version>${revision}</version>
|
|
||||||
<relativePath>../pom.xml</relativePath>
|
|
||||||
</parent>
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<packaging>jar</packaging>
|
|
||||||
<artifactId>ruoyi-admin</artifactId>
|
|
||||||
|
|
||||||
<description>
|
|
||||||
web服务入口
|
|
||||||
</description>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
|
|
||||||
<!-- Mysql驱动包 -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.mysql</groupId>
|
|
||||||
<artifactId>mysql-connector-j</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- Oracle -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.oracle.database.jdbc</groupId>
|
|
||||||
<artifactId>ojdbc8</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- PostgreSql -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.postgresql</groupId>
|
|
||||||
<artifactId>postgresql</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- SqlServer -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.microsoft.sqlserver</groupId>
|
|
||||||
<artifactId>mssql-jdbc</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ruoyi</groupId>
|
|
||||||
<artifactId>ruoyi-common-doc</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ruoyi</groupId>
|
|
||||||
<artifactId>ruoyi-system</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ruoyi</groupId>
|
|
||||||
<artifactId>ruoyi-chat</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ruoyi</groupId>
|
|
||||||
<artifactId>ruoyi-knowledge</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ruoyi</groupId>
|
|
||||||
<artifactId>ruoyi-generator</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- demo模块 -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ruoyi</groupId>
|
|
||||||
<artifactId>ruoyi-demo</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-test</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- 添加thumbnailator依赖 -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>net.coobird</groupId>
|
|
||||||
<artifactId>thumbnailator</artifactId>
|
|
||||||
<version>0.4.11</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>io.github.ollama4j</groupId>
|
|
||||||
<artifactId>ollama4j</artifactId>
|
|
||||||
<version>1.0.79</version>
|
|
||||||
<scope>compile</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
<build>
|
|
||||||
<finalName>${project.artifactId}</finalName>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
||||||
<version>${spring-boot.version}</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<goals>
|
|
||||||
<goal>repackage</goal>
|
|
||||||
</goals>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-jar-plugin</artifactId>
|
|
||||||
<version>${maven-jar-plugin.version}</version>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-war-plugin</artifactId>
|
|
||||||
<version>${maven-war-plugin.version}</version>
|
|
||||||
<configuration>
|
|
||||||
<failOnMissingWebXml>false</failOnMissingWebXml>
|
|
||||||
<warName>${project.artifactId}</warName>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
|
||||||
@@ -1,208 +0,0 @@
|
|||||||
package org.ruoyi.controller;
|
|
||||||
|
|
||||||
import cn.dev33.satoken.stp.StpUtil;
|
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
|
||||||
import jakarta.validation.Valid;
|
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.ruoyi.common.chat.config.ChatConfig;
|
|
||||||
import org.ruoyi.common.chat.domain.request.ChatRequest;
|
|
||||||
import org.ruoyi.common.chat.entity.chat.ChatCompletion;
|
|
||||||
import org.ruoyi.common.chat.entity.chat.Message;
|
|
||||||
import org.ruoyi.common.chat.openai.OpenAiStreamClient;
|
|
||||||
import org.ruoyi.common.core.domain.R;
|
|
||||||
import org.ruoyi.common.core.validate.AddGroup;
|
|
||||||
import org.ruoyi.common.excel.utils.ExcelUtil;
|
|
||||||
import org.ruoyi.common.log.annotation.Log;
|
|
||||||
import org.ruoyi.common.log.enums.BusinessType;
|
|
||||||
import org.ruoyi.common.mybatis.core.page.PageQuery;
|
|
||||||
import org.ruoyi.common.mybatis.core.page.TableDataInfo;
|
|
||||||
import org.ruoyi.common.satoken.utils.LoginHelper;
|
|
||||||
import org.ruoyi.common.web.core.BaseController;
|
|
||||||
import org.ruoyi.knowledge.domain.bo.KnowledgeAttachBo;
|
|
||||||
import org.ruoyi.knowledge.domain.bo.KnowledgeFragmentBo;
|
|
||||||
import org.ruoyi.knowledge.domain.bo.KnowledgeInfoBo;
|
|
||||||
import org.ruoyi.knowledge.domain.req.KnowledgeInfoUploadRequest;
|
|
||||||
import org.ruoyi.knowledge.domain.vo.KnowledgeAttachVo;
|
|
||||||
import org.ruoyi.knowledge.domain.vo.KnowledgeFragmentVo;
|
|
||||||
import org.ruoyi.knowledge.domain.vo.KnowledgeInfoVo;
|
|
||||||
import org.ruoyi.knowledge.service.EmbeddingService;
|
|
||||||
import org.ruoyi.knowledge.service.IKnowledgeAttachService;
|
|
||||||
import org.ruoyi.knowledge.service.IKnowledgeFragmentService;
|
|
||||||
import org.ruoyi.knowledge.service.IKnowledgeInfoService;
|
|
||||||
import org.ruoyi.system.listener.SSEEventSourceListener;
|
|
||||||
import org.ruoyi.system.service.ISseService;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
import org.ruoyi.knowledge.chain.vectorstore.VectorStore;
|
|
||||||
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 知识库
|
|
||||||
*
|
|
||||||
* @author Lion Li
|
|
||||||
* @date 2024-10-21
|
|
||||||
*/
|
|
||||||
@Validated
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/knowledge")
|
|
||||||
public class KnowledgeController extends BaseController {
|
|
||||||
|
|
||||||
private final IKnowledgeInfoService knowledgeInfoService;
|
|
||||||
|
|
||||||
private final VectorStore vectorStore;
|
|
||||||
|
|
||||||
private final IKnowledgeAttachService attachService;
|
|
||||||
|
|
||||||
private final IKnowledgeFragmentService fragmentService;
|
|
||||||
|
|
||||||
private final EmbeddingService embeddingService;
|
|
||||||
|
|
||||||
private OpenAiStreamClient openAiStreamClient;
|
|
||||||
|
|
||||||
private final ChatConfig chatConfig;
|
|
||||||
|
|
||||||
private final ISseService sseService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 知识库对话
|
|
||||||
*/
|
|
||||||
@PostMapping("/send")
|
|
||||||
public SseEmitter send(@RequestBody @Valid ChatRequest chatRequest) {
|
|
||||||
|
|
||||||
openAiStreamClient = chatConfig.getOpenAiStreamClient();
|
|
||||||
SseEmitter sseEmitter = new SseEmitter(0L);
|
|
||||||
SSEEventSourceListener openAIEventSourceListener = new SSEEventSourceListener(sseEmitter);
|
|
||||||
List<Message> messages = chatRequest.getMessages();
|
|
||||||
String content = messages.get(messages.size() - 1).getContent().toString();
|
|
||||||
List<String> nearestList;
|
|
||||||
List<Double> queryVector = embeddingService.getQueryVector(content, chatRequest.getKid());
|
|
||||||
nearestList = vectorStore.nearest(queryVector,chatRequest.getKid());
|
|
||||||
for (String prompt : nearestList) {
|
|
||||||
Message sysMessage = Message.builder().content(prompt).role(Message.Role.USER).build();
|
|
||||||
messages.add(sysMessage);
|
|
||||||
}
|
|
||||||
Message userMessage = Message.builder().content(content + (nearestList.size() > 0 ? "\n\n注意:回答问题时,须严格根据我给你的系统上下文内容原文进行回答,请不要自己发挥,回答时保持原来文本的段落层级" : "") ).role(Message.Role.USER).build();
|
|
||||||
messages.add(userMessage);
|
|
||||||
if (chatRequest.getModel().startsWith("ollama")) {
|
|
||||||
return sseService.ollamaChat(chatRequest);
|
|
||||||
}
|
|
||||||
|
|
||||||
ChatCompletion completion = ChatCompletion
|
|
||||||
.builder()
|
|
||||||
.messages(messages)
|
|
||||||
.model(chatRequest.getModel())
|
|
||||||
.temperature(chatRequest.getTemperature())
|
|
||||||
.topP(chatRequest.getTop_p())
|
|
||||||
.stream(true)
|
|
||||||
.build();
|
|
||||||
openAiStreamClient.streamChatCompletion(completion, openAIEventSourceListener);
|
|
||||||
|
|
||||||
return sseEmitter;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据用户信息查询本地知识库
|
|
||||||
*/
|
|
||||||
@GetMapping("/list")
|
|
||||||
public TableDataInfo<KnowledgeInfoVo> list(KnowledgeInfoBo bo, PageQuery pageQuery) {
|
|
||||||
if(!StpUtil.isLogin()){
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
bo.setUid(LoginHelper.getUserId());
|
|
||||||
return knowledgeInfoService.queryPageList(bo, pageQuery);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增知识库
|
|
||||||
*/
|
|
||||||
@Log(title = "知识库", businessType = BusinessType.INSERT)
|
|
||||||
@PostMapping("/save")
|
|
||||||
public R<Void> save(@Validated(AddGroup.class) @RequestBody KnowledgeInfoBo bo) {
|
|
||||||
knowledgeInfoService.saveOne(bo);
|
|
||||||
return R.ok();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除知识库
|
|
||||||
*/
|
|
||||||
@PostMapping("/remove/{id}")
|
|
||||||
public R<String> remove(@PathVariable String id){
|
|
||||||
knowledgeInfoService.removeKnowledge(id);
|
|
||||||
return R.ok("删除知识库成功!");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改知识库
|
|
||||||
*/
|
|
||||||
@Log(title = "知识库", businessType = BusinessType.UPDATE)
|
|
||||||
@PostMapping("/edit")
|
|
||||||
public R<Void> edit( @RequestBody KnowledgeInfoBo bo) {
|
|
||||||
return toAjax(knowledgeInfoService.updateByBo(bo));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 导出知识库列表
|
|
||||||
*/
|
|
||||||
@Log(title = "知识库", businessType = BusinessType.EXPORT)
|
|
||||||
@PostMapping("/export")
|
|
||||||
public void export(KnowledgeInfoBo bo, HttpServletResponse response) {
|
|
||||||
List<KnowledgeInfoVo> list = knowledgeInfoService.queryList(bo);
|
|
||||||
ExcelUtil.exportExcel(list, "知识库", KnowledgeInfoVo.class, response);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询知识附件信息
|
|
||||||
*/
|
|
||||||
@GetMapping("/detail/{kid}")
|
|
||||||
public TableDataInfo<KnowledgeAttachVo> attach(KnowledgeAttachBo bo, PageQuery pageQuery,@PathVariable String kid){
|
|
||||||
bo.setKid(kid);
|
|
||||||
return attachService.queryPageList(bo, pageQuery);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 上传知识库附件
|
|
||||||
*/
|
|
||||||
@PostMapping(value = "/attach/upload")
|
|
||||||
public R<String> upload(KnowledgeInfoUploadRequest request){
|
|
||||||
knowledgeInfoService.upload(request);
|
|
||||||
return R.ok("上传知识库附件成功!");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取知识库附件详细信息
|
|
||||||
*
|
|
||||||
* @param id 主键
|
|
||||||
*/
|
|
||||||
@GetMapping("attach/info/{id}")
|
|
||||||
public R<KnowledgeAttachVo> getAttachInfo(@NotNull(message = "主键不能为空")
|
|
||||||
@PathVariable Long id) {
|
|
||||||
return R.ok(attachService.queryById(id));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除知识库附件
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@PostMapping("attach/remove/{docId}")
|
|
||||||
public R<Void> removeAttach(@NotEmpty(message = "主键不能为空") @PathVariable String docId) {
|
|
||||||
attachService.removeKnowledgeAttach(docId);
|
|
||||||
return R.ok();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询知识片段
|
|
||||||
*/
|
|
||||||
@GetMapping("/fragment/list/{docId}")
|
|
||||||
public TableDataInfo<KnowledgeFragmentVo> fragmentList(KnowledgeFragmentBo bo, PageQuery pageQuery, @PathVariable String docId) {
|
|
||||||
bo.setDocId(docId);
|
|
||||||
return fragmentService.queryPageList(bo, pageQuery);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -40,6 +40,16 @@ public class ChatRequest {
|
|||||||
private String kid;
|
private String kid;
|
||||||
|
|
||||||
private String userId;
|
private String userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1 联网搜索
|
||||||
|
*/
|
||||||
|
private int chat_type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 应用ID
|
||||||
|
*/
|
||||||
|
private String appId;
|
||||||
//
|
//
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package org.ruoyi.common.chat.entity.chat;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.ruoyi.common.chat.entity.chat.tool.ToolCalls;
|
import org.ruoyi.common.chat.entity.chat.tool.ToolCalls;
|
||||||
|
|
||||||
@@ -20,6 +21,8 @@ import java.util.List;
|
|||||||
public class Message extends BaseMessage implements Serializable {
|
public class Message extends BaseMessage implements Serializable {
|
||||||
|
|
||||||
private Object content;
|
private Object content;
|
||||||
|
@JsonProperty("reasoning_content")
|
||||||
|
private String reasoningContent;
|
||||||
|
|
||||||
public static Builder builder() {
|
public static Builder builder() {
|
||||||
return new Builder();
|
return new Builder();
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package org.ruoyi.common.satoken.utils;
|
|||||||
|
|
||||||
import cn.dev33.satoken.context.SaHolder;
|
import cn.dev33.satoken.context.SaHolder;
|
||||||
import cn.dev33.satoken.context.model.SaStorage;
|
import cn.dev33.satoken.context.model.SaStorage;
|
||||||
|
import cn.dev33.satoken.session.SaSession;
|
||||||
import cn.dev33.satoken.stp.SaLoginModel;
|
import cn.dev33.satoken.stp.SaLoginModel;
|
||||||
import cn.dev33.satoken.stp.StpUtil;
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
@@ -73,8 +74,11 @@ public class LoginHelper {
|
|||||||
if (loginUser != null) {
|
if (loginUser != null) {
|
||||||
return loginUser;
|
return loginUser;
|
||||||
}
|
}
|
||||||
loginUser = (LoginUser) StpUtil.getTokenSession().get(LOGIN_USER_KEY);
|
SaSession tokenSession = StpUtil.getTokenSession();
|
||||||
SaHolder.getStorage().set(LOGIN_USER_KEY, loginUser);
|
if (tokenSession != null) {
|
||||||
|
loginUser = (LoginUser) tokenSession.get(LOGIN_USER_KEY);
|
||||||
|
SaHolder.getStorage().set(LOGIN_USER_KEY, loginUser);
|
||||||
|
};
|
||||||
return loginUser;
|
return loginUser;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
61
ruoyi-modules-api/pom.xml
Normal file
61
ruoyi-modules-api/pom.xml
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>org.ruoyi</groupId>
|
||||||
|
<artifactId>ruoyi-ai</artifactId>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>ruoyi-modules-api</artifactId>
|
||||||
|
<packaging>pom</packaging>
|
||||||
|
<modules>
|
||||||
|
<module>ruoyi-system-api</module>
|
||||||
|
<module>ruoyi-chat-api</module>
|
||||||
|
<module>ruoyi-knowledge-api</module>
|
||||||
|
</modules>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
|
||||||
|
<!-- 系统核心模块 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ruoyi</groupId>
|
||||||
|
<artifactId>ruoyi-common-core</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- mybaits基础模块 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ruoyi</groupId>
|
||||||
|
<artifactId>ruoyi-common-mybatis</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 脱敏模块 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ruoyi</groupId>
|
||||||
|
<artifactId>ruoyi-common-sensitive</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- excel模块-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ruoyi</groupId>
|
||||||
|
<artifactId>ruoyi-common-excel</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</project>
|
||||||
22
ruoyi-modules-api/ruoyi-chat-api/pom.xml
Normal file
22
ruoyi-modules-api/ruoyi-chat-api/pom.xml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>org.ruoyi</groupId>
|
||||||
|
<artifactId>ruoyi-modules-api</artifactId>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>ruoyi-chat-api</artifactId>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</project>
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package org.ruoyi.system.domain;
|
package org.ruoyi.domain;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
package org.ruoyi.system.domain;
|
package org.ruoyi.domain;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
||||||
import org.ruoyi.common.sensitive.annotation.Sensitive;
|
import org.ruoyi.common.sensitive.annotation.Sensitive;
|
||||||
import org.ruoyi.common.sensitive.core.SensitiveStrategy;
|
import org.ruoyi.common.sensitive.core.SensitiveStrategy;
|
||||||
import org.ruoyi.common.tenant.core.TenantEntity;
|
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ import java.io.Serial;
|
|||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@TableName("chat_config")
|
@TableName("chat_config")
|
||||||
public class ChatConfig extends TenantEntity {
|
public class ChatConfig extends BaseEntity {
|
||||||
|
|
||||||
@Serial
|
@Serial
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package org.ruoyi.system.domain;
|
package org.ruoyi.domain;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||||
@@ -97,5 +97,15 @@ public class ChatGpts extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private String updateIp;
|
private String updateIp;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 模型名称
|
||||||
|
*/
|
||||||
|
private String modelName;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 模型system
|
||||||
|
*/
|
||||||
|
private String systemPrompt;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package org.ruoyi.system.domain;
|
package org.ruoyi.domain;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package org.ruoyi.system.domain;
|
package org.ruoyi.domain;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.*;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
package org.ruoyi.system.domain;
|
package org.ruoyi.domain;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import org.ruoyi.common.core.validate.AddGroup;
|
|
||||||
import org.ruoyi.common.core.validate.EditGroup;
|
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.ruoyi.common.core.validate.AddGroup;
|
||||||
|
import org.ruoyi.common.core.validate.EditGroup;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package org.ruoyi.system.domain;
|
package org.ruoyi.domain;
|
||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
@@ -1,12 +1,13 @@
|
|||||||
package org.ruoyi.system.domain;
|
package org.ruoyi.domain;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.*;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import java.math.BigDecimal;
|
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户兑换记录对象 chat_voucher
|
* 用户兑换记录对象 chat_voucher
|
||||||
@@ -1,12 +1,13 @@
|
|||||||
package org.ruoyi.system.domain.bo;
|
package org.ruoyi.domain.bo;
|
||||||
|
|
||||||
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
|
||||||
import org.ruoyi.system.domain.ChatAppStore;
|
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
||||||
|
import org.ruoyi.domain.ChatAppStore;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 应用市场业务对象 voice_role
|
* 应用市场业务对象 voice_role
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package org.ruoyi.system.domain.bo;
|
package org.ruoyi.domain.bo;
|
||||||
|
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
@@ -10,7 +10,8 @@ import org.ruoyi.common.core.validate.EditGroup;
|
|||||||
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
||||||
import org.ruoyi.common.sensitive.annotation.Sensitive;
|
import org.ruoyi.common.sensitive.annotation.Sensitive;
|
||||||
import org.ruoyi.common.sensitive.core.SensitiveStrategy;
|
import org.ruoyi.common.sensitive.core.SensitiveStrategy;
|
||||||
import org.ruoyi.system.domain.ChatConfig;
|
import org.ruoyi.domain.ChatConfig;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 对话配置信息
|
* 对话配置信息
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package org.ruoyi.system.domain.bo;
|
package org.ruoyi.domain.bo;
|
||||||
|
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
|
|||||||
import org.ruoyi.common.core.validate.AddGroup;
|
import org.ruoyi.common.core.validate.AddGroup;
|
||||||
import org.ruoyi.common.core.validate.EditGroup;
|
import org.ruoyi.common.core.validate.EditGroup;
|
||||||
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
||||||
import org.ruoyi.system.domain.ChatGpts;
|
import org.ruoyi.domain.ChatGpts;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gpts管理业务对象 chat_gpts
|
* gpts管理业务对象 chat_gpts
|
||||||
@@ -84,4 +84,14 @@ public class ChatGptsBo extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private String updateIp;
|
private String updateIp;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 模型名称
|
||||||
|
*/
|
||||||
|
private String modelName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 模型system
|
||||||
|
*/
|
||||||
|
private String systemPrompt;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package org.ruoyi.system.domain.bo;
|
package org.ruoyi.domain.bo;
|
||||||
|
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
@@ -8,7 +8,8 @@ import lombok.EqualsAndHashCode;
|
|||||||
import org.ruoyi.common.core.validate.AddGroup;
|
import org.ruoyi.common.core.validate.AddGroup;
|
||||||
import org.ruoyi.common.core.validate.EditGroup;
|
import org.ruoyi.common.core.validate.EditGroup;
|
||||||
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
||||||
import org.ruoyi.system.domain.ChatMessage;
|
import org.ruoyi.domain.ChatMessage;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 聊天消息业务对象 chat_message
|
* 聊天消息业务对象 chat_message
|
||||||
@@ -1,13 +1,15 @@
|
|||||||
package org.ruoyi.system.domain.bo;
|
package org.ruoyi.domain.bo;
|
||||||
|
|
||||||
import org.ruoyi.common.core.validate.AddGroup;
|
|
||||||
import org.ruoyi.common.core.validate.EditGroup;
|
|
||||||
import org.ruoyi.system.domain.ChatPlugin;
|
|
||||||
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import jakarta.validation.constraints.*;
|
import org.ruoyi.common.core.validate.AddGroup;
|
||||||
|
import org.ruoyi.common.core.validate.EditGroup;
|
||||||
|
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
||||||
|
import org.ruoyi.domain.ChatPlugin;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 插件管理业务对象 chat_plugin
|
* 插件管理业务对象 chat_plugin
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package org.ruoyi.system.domain.bo;
|
package org.ruoyi.domain.bo;
|
||||||
|
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
@@ -8,7 +8,8 @@ import lombok.EqualsAndHashCode;
|
|||||||
import org.ruoyi.common.core.validate.AddGroup;
|
import org.ruoyi.common.core.validate.AddGroup;
|
||||||
import org.ruoyi.common.core.validate.EditGroup;
|
import org.ruoyi.common.core.validate.EditGroup;
|
||||||
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
||||||
import org.ruoyi.system.domain.ChatVisitorUsage;
|
import org.ruoyi.domain.ChatVisitorUsage;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 访客管理业务对象 chat_visitor_usage
|
* 访客管理业务对象 chat_visitor_usage
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package org.ruoyi.system.domain.bo;
|
package org.ruoyi.domain.bo;
|
||||||
|
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
@@ -7,7 +7,8 @@ import lombok.EqualsAndHashCode;
|
|||||||
import org.ruoyi.common.core.validate.AddGroup;
|
import org.ruoyi.common.core.validate.AddGroup;
|
||||||
import org.ruoyi.common.core.validate.EditGroup;
|
import org.ruoyi.common.core.validate.EditGroup;
|
||||||
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
|
||||||
import org.ruoyi.system.domain.ChatVoucher;
|
import org.ruoyi.domain.ChatVoucher;
|
||||||
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package org.ruoyi.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 缓存监控列表信息
|
||||||
|
*
|
||||||
|
* @author Michelle.Chung
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CacheListInfoVo {
|
||||||
|
|
||||||
|
private Properties info;
|
||||||
|
|
||||||
|
private Long dbSize;
|
||||||
|
|
||||||
|
private List<Map<String, String>> commandStats;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package org.ruoyi.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证码信息
|
||||||
|
*
|
||||||
|
* @author Michelle.Chung
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CaptchaVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否开启验证码
|
||||||
|
*/
|
||||||
|
private Boolean captchaEnabled = true;
|
||||||
|
|
||||||
|
private String uuid;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证码图片
|
||||||
|
*/
|
||||||
|
private String img;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,10 +1,12 @@
|
|||||||
package org.ruoyi.system.domain.vo;
|
package org.ruoyi.domain.vo;
|
||||||
|
|
||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.ruoyi.system.domain.ChatAppStore;
|
import org.ruoyi.domain.ChatAppStore;
|
||||||
|
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package org.ruoyi.system.domain.vo;
|
package org.ruoyi.domain.vo;
|
||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
@@ -6,7 +6,8 @@ import io.github.linpeilie.annotations.AutoMapper;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.ruoyi.common.sensitive.annotation.Sensitive;
|
import org.ruoyi.common.sensitive.annotation.Sensitive;
|
||||||
import org.ruoyi.common.sensitive.core.SensitiveStrategy;
|
import org.ruoyi.common.sensitive.core.SensitiveStrategy;
|
||||||
import org.ruoyi.system.domain.ChatConfig;
|
import org.ruoyi.domain.ChatConfig;
|
||||||
|
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
package org.ruoyi.system.domain.vo;
|
package org.ruoyi.domain.vo;
|
||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.ruoyi.system.domain.ChatGpts;
|
import org.ruoyi.domain.ChatGpts;
|
||||||
|
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@@ -96,5 +97,16 @@ public class ChatGptsVo implements Serializable {
|
|||||||
@ExcelProperty(value = "更新IP")
|
@ExcelProperty(value = "更新IP")
|
||||||
private String updateIp;
|
private String updateIp;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 模型名称
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "模型名称")
|
||||||
|
private String modelName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 模型system
|
||||||
|
*/
|
||||||
|
private String systemPrompt;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package org.ruoyi.system.domain.vo;
|
package org.ruoyi.domain.vo;
|
||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
@@ -7,7 +7,8 @@ import jakarta.validation.constraints.NotNull;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.ruoyi.common.core.validate.AddGroup;
|
import org.ruoyi.common.core.validate.AddGroup;
|
||||||
import org.ruoyi.common.core.validate.EditGroup;
|
import org.ruoyi.common.core.validate.EditGroup;
|
||||||
import org.ruoyi.system.domain.ChatMessage;
|
import org.ruoyi.domain.ChatMessage;
|
||||||
|
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@@ -1,16 +1,13 @@
|
|||||||
package org.ruoyi.system.domain.vo;
|
package org.ruoyi.domain.vo;
|
||||||
|
|
||||||
import org.ruoyi.system.domain.ChatPlugin;
|
|
||||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.ruoyi.domain.ChatPlugin;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package org.ruoyi.system.domain.vo;
|
package org.ruoyi.domain.vo;
|
||||||
|
|
||||||
import org.ruoyi.common.core.validate.AddGroup;
|
|
||||||
import org.ruoyi.common.core.validate.EditGroup;
|
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.ruoyi.common.core.validate.AddGroup;
|
||||||
|
import org.ruoyi.common.core.validate.EditGroup;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package org.ruoyi.system.domain.vo;
|
package org.ruoyi.domain.vo;
|
||||||
|
|
||||||
import org.ruoyi.system.domain.ChatVisitorUsage;
|
|
||||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.ruoyi.domain.ChatVisitorUsage;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@@ -1,11 +1,10 @@
|
|||||||
package org.ruoyi.system.domain.vo;
|
package org.ruoyi.domain.vo;
|
||||||
|
|
||||||
import org.ruoyi.system.domain.ChatVoucher;
|
|
||||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.ruoyi.domain.ChatVoucher;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package org.ruoyi.mapper;
|
||||||
|
|
||||||
|
import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
import org.ruoyi.domain.ChatAppStore;
|
||||||
|
import org.ruoyi.domain.vo.ChatAppStoreVo;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 应用市场Mapper接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2024-03-19
|
||||||
|
*/
|
||||||
|
public interface ChatAppStoreMapper extends BaseMapperPlus<ChatAppStore, ChatAppStoreVo> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package org.ruoyi.mapper;
|
||||||
|
|
||||||
|
import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
import org.ruoyi.domain.ChatConfig;
|
||||||
|
import org.ruoyi.domain.vo.ChatConfigVo;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对话配置信息Mapper接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2024-04-13
|
||||||
|
*/
|
||||||
|
public interface ChatConfigMapper extends BaseMapperPlus<ChatConfig, ChatConfigVo> {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package org.ruoyi.mapper;
|
||||||
|
|
||||||
|
import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
import org.ruoyi.domain.ChatGpts;
|
||||||
|
import org.ruoyi.domain.vo.ChatGptsVo;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gpts管理Mapper接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2024-07-09
|
||||||
|
*/
|
||||||
|
public interface ChatGptsMapper extends BaseMapperPlus<ChatGpts, ChatGptsVo> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package org.ruoyi.mapper;
|
||||||
|
|
||||||
|
import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
import org.ruoyi.domain.ChatMessage;
|
||||||
|
import org.ruoyi.domain.vo.ChatMessageVo;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 聊天消息Mapper接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2023-11-26
|
||||||
|
*/
|
||||||
|
public interface ChatMessageMapper extends BaseMapperPlus<ChatMessage, ChatMessageVo> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package org.ruoyi.mapper;
|
||||||
|
|
||||||
|
import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
import org.ruoyi.domain.ChatPlugin;
|
||||||
|
import org.ruoyi.domain.vo.ChatPluginVo;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 插件管理Mapper接口
|
||||||
|
*
|
||||||
|
* @author ageerle
|
||||||
|
* @date 2025-03-30
|
||||||
|
*/
|
||||||
|
public interface ChatPluginMapper extends BaseMapperPlus<ChatPlugin, ChatPluginVo> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package org.ruoyi.mapper;
|
||||||
|
|
||||||
|
import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
import org.ruoyi.domain.ChatToken;
|
||||||
|
import org.ruoyi.domain.vo.ChatTokenVo;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 聊天消息Mapper接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2023-11-26
|
||||||
|
*/
|
||||||
|
public interface ChatTokenMapper extends BaseMapperPlus<ChatToken, ChatTokenVo> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package org.ruoyi.mapper;
|
||||||
|
|
||||||
|
import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
import org.ruoyi.domain.ChatVisitorUsage;
|
||||||
|
import org.ruoyi.domain.vo.ChatVisitorUsageVo;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 访客管理Mapper接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2024-07-14
|
||||||
|
*/
|
||||||
|
public interface ChatVisitorUsageMapper extends BaseMapperPlus<ChatVisitorUsage, ChatVisitorUsageVo> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package org.ruoyi.mapper;
|
||||||
|
|
||||||
|
import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
import org.ruoyi.domain.ChatVoucher;
|
||||||
|
import org.ruoyi.domain.vo.ChatVoucherVo;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户兑换记录Mapper接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2024-05-03
|
||||||
|
*/
|
||||||
|
public interface ChatVoucherMapper extends BaseMapperPlus<ChatVoucher, ChatVoucherVo> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,14 +1,10 @@
|
|||||||
package org.ruoyi.system.service;
|
package org.ruoyi.service;
|
||||||
|
|
||||||
import org.ruoyi.system.domain.vo.ChatAppStoreVo;
|
|
||||||
import org.ruoyi.system.domain.bo.ChatAppStoreBo;
|
|
||||||
import org.ruoyi.common.mybatis.core.page.TableDataInfo;
|
|
||||||
import org.ruoyi.common.mybatis.core.page.PageQuery;
|
import org.ruoyi.common.mybatis.core.page.PageQuery;
|
||||||
import org.ruoyi.system.request.RoleListDto;
|
import org.ruoyi.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.ruoyi.system.request.RoleRequest;
|
import org.ruoyi.domain.bo.ChatAppStoreBo;
|
||||||
import org.ruoyi.system.request.SimpleGenerateRequest;
|
import org.ruoyi.domain.vo.ChatAppStoreVo;
|
||||||
import org.ruoyi.system.response.SimpleGenerateDataResponse;
|
|
||||||
import org.ruoyi.system.response.rolelist.ChatAppStoreVO;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -36,15 +32,6 @@ public interface IChatAppStoreService {
|
|||||||
*/
|
*/
|
||||||
List<ChatAppStoreVo> queryList(ChatAppStoreBo bo);
|
List<ChatAppStoreVo> queryList(ChatAppStoreBo bo);
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增应用市场
|
|
||||||
*/
|
|
||||||
Boolean insertByBo(RoleRequest roleRequest);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生成音频
|
|
||||||
*/
|
|
||||||
SimpleGenerateDataResponse simpleGenerate(SimpleGenerateRequest simpleGenerateRequest);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改应用市场
|
* 修改应用市场
|
||||||
@@ -56,16 +43,5 @@ public interface IChatAppStoreService {
|
|||||||
*/
|
*/
|
||||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询市场角色
|
|
||||||
*
|
|
||||||
* @return 角色列表
|
|
||||||
*/
|
|
||||||
List<ChatAppStoreVO> roleList();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 收藏市场角色
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void copyRole(RoleListDto roleListDto);
|
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package org.ruoyi.system.service;
|
package org.ruoyi.service;
|
||||||
|
|
||||||
import org.ruoyi.common.mybatis.core.page.PageQuery;
|
import org.ruoyi.common.mybatis.core.page.PageQuery;
|
||||||
import org.ruoyi.common.mybatis.core.page.TableDataInfo;
|
import org.ruoyi.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.ruoyi.system.domain.bo.ChatConfigBo;
|
import org.ruoyi.domain.bo.ChatConfigBo;
|
||||||
import org.ruoyi.system.domain.vo.ChatConfigVo;
|
import org.ruoyi.domain.vo.ChatConfigVo;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package org.ruoyi.system.service;
|
package org.ruoyi.service;
|
||||||
|
|
||||||
import org.ruoyi.system.domain.bo.ChatMessageBo;
|
import org.ruoyi.domain.bo.ChatMessageBo;
|
||||||
|
|
||||||
public interface IChatCostService {
|
public interface IChatCostService {
|
||||||
|
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package org.ruoyi.system.service;
|
package org.ruoyi.service;
|
||||||
|
|
||||||
import org.ruoyi.system.domain.vo.ChatGptsVo;
|
|
||||||
import org.ruoyi.system.domain.bo.ChatGptsBo;
|
|
||||||
import org.ruoyi.common.mybatis.core.page.TableDataInfo;
|
|
||||||
import org.ruoyi.common.mybatis.core.page.PageQuery;
|
import org.ruoyi.common.mybatis.core.page.PageQuery;
|
||||||
|
import org.ruoyi.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.ruoyi.domain.bo.ChatGptsBo;
|
||||||
|
import org.ruoyi.domain.vo.ChatGptsVo;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package org.ruoyi.system.service;
|
package org.ruoyi.service;
|
||||||
|
|
||||||
import org.ruoyi.common.mybatis.core.page.PageQuery;
|
import org.ruoyi.common.mybatis.core.page.PageQuery;
|
||||||
import org.ruoyi.common.mybatis.core.page.TableDataInfo;
|
import org.ruoyi.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.ruoyi.system.domain.bo.ChatMessageBo;
|
import org.ruoyi.domain.bo.ChatMessageBo;
|
||||||
import org.ruoyi.system.domain.vo.ChatMessageVo;
|
import org.ruoyi.domain.vo.ChatMessageVo;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,10 +1,9 @@
|
|||||||
package org.ruoyi.system.service;
|
package org.ruoyi.service;
|
||||||
|
|
||||||
import org.ruoyi.system.domain.ChatPlugin;
|
|
||||||
import org.ruoyi.system.domain.vo.ChatPluginVo;
|
|
||||||
import org.ruoyi.system.domain.bo.ChatPluginBo;
|
|
||||||
import org.ruoyi.common.mybatis.core.page.TableDataInfo;
|
|
||||||
import org.ruoyi.common.mybatis.core.page.PageQuery;
|
import org.ruoyi.common.mybatis.core.page.PageQuery;
|
||||||
|
import org.ruoyi.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.ruoyi.domain.bo.ChatPluginBo;
|
||||||
|
import org.ruoyi.domain.vo.ChatPluginVo;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package org.ruoyi.system.service;
|
package org.ruoyi.service;
|
||||||
|
|
||||||
import org.ruoyi.system.domain.ChatToken;
|
import org.ruoyi.domain.ChatToken;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 聊天消息Service接口
|
* 聊天消息Service接口
|
||||||
@@ -13,7 +13,7 @@ public interface IChatTokenService {
|
|||||||
/**
|
/**
|
||||||
* 查询用户token
|
* 查询用户token
|
||||||
*/
|
*/
|
||||||
ChatToken queryByUserId(Long userId,String modelName);
|
ChatToken queryByUserId(Long userId, String modelName);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 清空用户token
|
* 清空用户token
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package org.ruoyi.system.service;
|
package org.ruoyi.service;
|
||||||
|
|
||||||
import org.ruoyi.system.domain.vo.ChatVisitorUsageVo;
|
|
||||||
import org.ruoyi.system.domain.bo.ChatVisitorUsageBo;
|
|
||||||
import org.ruoyi.common.mybatis.core.page.TableDataInfo;
|
|
||||||
import org.ruoyi.common.mybatis.core.page.PageQuery;
|
import org.ruoyi.common.mybatis.core.page.PageQuery;
|
||||||
|
import org.ruoyi.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.ruoyi.domain.bo.ChatVisitorUsageBo;
|
||||||
|
import org.ruoyi.domain.vo.ChatVisitorUsageVo;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user