diff --git a/src/main/java/Tools/MaxKb/TestMaxKB.java b/src/main/java/Tools/MaxKb/TestMaxKB.java index fa2fc3c3..4d655830 100644 --- a/src/main/java/Tools/MaxKb/TestMaxKB.java +++ b/src/main/java/Tools/MaxKb/TestMaxKB.java @@ -1,6 +1,6 @@ package Tools.MaxKb; -import Tools.MaxKb.Util.MaxKbDb; +import Tools.MaxKb.Util.MaxKbUtil; import com.jfinal.kit.PropKit; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Record; @@ -10,130 +10,28 @@ import java.util.UUID; public class TestMaxKB { - /** - * 获取模型 - * - * @param model_name 模型名称 - * @return - */ - public static Record getModel(String model_name) { - String sql = "select * from model where name=?"; - return Db.findFirst(sql, model_name); - } - - /** - * 获取应用 - * - * @param applicationName 应用名称 - * @return - */ - public static Record getApplication(String applicationName) { - String sql = "select * from application where name=?"; - return Db.findFirst(sql, applicationName); - } - - /** - * 增加应用程序 - * - * @param sourceApplicationName 源应用名称 - * @param targetApplicationName 目标应用名称 - */ - public static String addApplication(String sourceApplicationName, String targetApplicationName) { - //获取应用 - Record record = getApplication(sourceApplicationName); - if (record == null) { - System.out.println(sourceApplicationName + "应用不存在!"); - System.exit(0); - } - //克隆出对象 - record = new Record().setColumns(record.getColumns()); - //生成一个uuid - record.set("id", UUID.randomUUID()); - //名称 - record.set("name", targetApplicationName); - //增加 - Db.save("application", "id", record); - - return record.getStr("id"); - } - - /** - * 获取数据集 - * - * @param dataset_name 数据集名称 - * @return - */ - public static Record getDataSet(String dataset_name) { - String sql = "select * from dataset where name=?"; - return Db.findFirst(sql, dataset_name); - } - - /** - * 增加数据集 - * - * @param sourceDatasetName 数据集名称 - */ - public static String addDataSet(String sourceDatasetName, String targetDatasetName) { - //获取数据集 - Record record = getDataSet(sourceDatasetName); - if (record == null) { - System.out.println(sourceDatasetName + "数据集不存在!"); - System.exit(0); - } - //克隆出对象 - record = new Record().setColumns(record.getColumns()); - //生成一个uuid - record.set("id", UUID.randomUUID()); - //名称 - record.set("name", targetDatasetName); - record.set("desc", targetDatasetName); - //增加 - Db.save("dataset", "id", record); - return record.getStr("id"); - } - - /** - * 生成访问Token - * - * @param application_id 应用的id - */ - public static void addAccessToken(String application_id) { - Record record = new Record(); - record.set("create_time", LocalDateTime.now()); - record.set("update_time", LocalDateTime.now()); - record.set("application_id", UUID.fromString(application_id)); - //生成一个16位的随机数 - record.set("access_token", UUID.randomUUID().toString().replace("-", "").substring(0, 16).toLowerCase()); - record.set("is_active", true); - record.set("access_num", 100); - record.set("white_active", false); - record.set("white_list", new String[]{""}); - record.set("show_source", false); - Db.save("application_access_token", "application_id", record); - } - public static void main(String[] args) throws Exception { //加载配置文件 PropKit.use("MaxKb.properties"); //初始化数据库 - MaxKbDb.Init(); + MaxKbUtil.Init(); //获取模型的id String model_name = "DeepSeek"; - Record record = getModel(model_name); + Record record = MaxKbUtil.getModel(model_name); String model_id = record.getStr("id"); System.out.println(model_id); //拷贝生成应用 String sourceApplicationName = "应用【模板】"; String targetApplicationName = "XXX的应用"; - String application_id = addApplication(sourceApplicationName, targetApplicationName); + String application_id = MaxKbUtil.addApplication(sourceApplicationName, targetApplicationName); //拷贝生成知识库 String sourceDataSetName = "知识库【模板】"; String targetDataSetName = "XXX的知识库"; - String dataset_id = addDataSet(sourceDataSetName, targetDataSetName); + String dataset_id = MaxKbUtil.addDataSet(sourceDataSetName, targetDataSetName); //应用与知识库关联 record = new Record(); @@ -145,7 +43,7 @@ public class TestMaxKB { Db.save("application_dataset_mapping", "id", record); //生成应用的访问Token - addAccessToken(application_id); + MaxKbUtil.addAccessToken(application_id); System.out.println("增加成功!"); } diff --git a/src/main/java/Tools/MaxKb/UploadQA.java b/src/main/java/Tools/MaxKb/UploadQA.java index d82d7e1c..0cfd4eab 100644 --- a/src/main/java/Tools/MaxKb/UploadQA.java +++ b/src/main/java/Tools/MaxKb/UploadQA.java @@ -1,7 +1,7 @@ package Tools.MaxKb; import Tools.MaxKb.Service.MaxKbService; -import Tools.MaxKb.Util.MaxKbDb; +import Tools.MaxKb.Util.MaxKbUtil; import com.jfinal.kit.PropKit; public class UploadQA { @@ -13,7 +13,7 @@ public class UploadQA { //加载配置文件 PropKit.use("MaxKb.properties"); //初始化数据库 - MaxKbDb.Init(); + MaxKbUtil.Init(); //上传文件 MaxKbService.uploadQA(uploadFile); diff --git a/src/main/java/Tools/MaxKb/Util/MaxKbDb.java b/src/main/java/Tools/MaxKb/Util/MaxKbDb.java deleted file mode 100644 index e37b724f..00000000 --- a/src/main/java/Tools/MaxKb/Util/MaxKbDb.java +++ /dev/null @@ -1,24 +0,0 @@ -package Tools.MaxKb.Util; - -import com.jfinal.kit.PropKit; -import com.jfinal.plugin.activerecord.ActiveRecordPlugin; -import com.jfinal.plugin.activerecord.dialect.PostgreSqlDialect; -import com.jfinal.plugin.hikaricp.HikariCpPlugin; - -public class MaxKbDb { - /** - * 初始化MaxKB的数据库连接 - */ - public static void Init() { - String jdbcUrl = PropKit.get("jdbcUrl"); - String user = PropKit.get("user"); - String password = PropKit.get("password"); - String driverClassName = PropKit.get("driverClassName"); - //读取库 - HikariCpPlugin hp = new HikariCpPlugin(jdbcUrl, user, password, driverClassName); - hp.start(); - ActiveRecordPlugin arp = new ActiveRecordPlugin(hp); - arp.setDialect(new PostgreSqlDialect()); - arp.start(); - } -} diff --git a/src/main/java/Tools/MaxKb/Util/MaxKbUtil.java b/src/main/java/Tools/MaxKb/Util/MaxKbUtil.java new file mode 100644 index 00000000..517faf52 --- /dev/null +++ b/src/main/java/Tools/MaxKb/Util/MaxKbUtil.java @@ -0,0 +1,132 @@ +package Tools.MaxKb.Util; + +import com.jfinal.kit.PropKit; +import com.jfinal.plugin.activerecord.ActiveRecordPlugin; +import com.jfinal.plugin.activerecord.Db; +import com.jfinal.plugin.activerecord.Record; +import com.jfinal.plugin.activerecord.dialect.PostgreSqlDialect; +import com.jfinal.plugin.hikaricp.HikariCpPlugin; + +import java.time.LocalDateTime; +import java.util.UUID; + +public class MaxKbUtil { + /** + * 初始化MaxKB的数据库连接 + */ + public static void Init() { + String jdbcUrl = PropKit.get("jdbcUrl"); + String user = PropKit.get("user"); + String password = PropKit.get("password"); + String driverClassName = PropKit.get("driverClassName"); + //读取库 + HikariCpPlugin hp = new HikariCpPlugin(jdbcUrl, user, password, driverClassName); + hp.start(); + ActiveRecordPlugin arp = new ActiveRecordPlugin(hp); + arp.setDialect(new PostgreSqlDialect()); + arp.start(); + } + + /** + * 获取模型 + * + * @param model_name 模型名称 + * @return + */ + public static com.jfinal.plugin.activerecord.Record getModel(String model_name) { + String sql = "select * from model where name=?"; + return Db.findFirst(sql, model_name); + } + + /** + * 获取应用 + * + * @param applicationName 应用名称 + * @return + */ + public static com.jfinal.plugin.activerecord.Record getApplication(String applicationName) { + String sql = "select * from application where name=?"; + return Db.findFirst(sql, applicationName); + } + + /** + * 增加应用程序 + * + * @param sourceApplicationName 源应用名称 + * @param targetApplicationName 目标应用名称 + */ + public static String addApplication(String sourceApplicationName, String targetApplicationName) { + //获取应用 + com.jfinal.plugin.activerecord.Record record = getApplication(sourceApplicationName); + if (record == null) { + System.out.println(sourceApplicationName + "应用不存在!"); + System.exit(0); + } + //克隆出对象 + record = new com.jfinal.plugin.activerecord.Record().setColumns(record.getColumns()); + //生成一个uuid + record.set("id", UUID.randomUUID()); + //名称 + record.set("name", targetApplicationName); + //增加 + Db.save("application", "id", record); + + return record.getStr("id"); + } + + /** + * 获取数据集 + * + * @param dataset_name 数据集名称 + * @return + */ + public static com.jfinal.plugin.activerecord.Record getDataSet(String dataset_name) { + String sql = "select * from dataset where name=?"; + return Db.findFirst(sql, dataset_name); + } + + /** + * 增加数据集 + * + * @param sourceDatasetName 数据集名称 + */ + public static String addDataSet(String sourceDatasetName, String targetDatasetName) { + //获取数据集 + com.jfinal.plugin.activerecord.Record record = getDataSet(sourceDatasetName); + if (record == null) { + System.out.println(sourceDatasetName + "数据集不存在!"); + System.exit(0); + } + //克隆出对象 + record = new com.jfinal.plugin.activerecord.Record().setColumns(record.getColumns()); + //生成一个uuid + record.set("id", UUID.randomUUID()); + //名称 + record.set("name", targetDatasetName); + record.set("desc", targetDatasetName); + //增加 + Db.save("dataset", "id", record); + return record.getStr("id"); + } + + /** + * 生成访问Token + * + * @param application_id 应用的id + */ + public static void addAccessToken(String application_id) { + com.jfinal.plugin.activerecord.Record record = new Record(); + record.set("create_time", LocalDateTime.now()); + record.set("update_time", LocalDateTime.now()); + record.set("application_id", UUID.fromString(application_id)); + //生成一个16位的随机数 + record.set("access_token", UUID.randomUUID().toString().replace("-", "").substring(0, 16).toLowerCase()); + record.set("is_active", true); + record.set("access_num", 100); + record.set("white_active", false); + record.set("white_list", new String[]{""}); + record.set("show_source", false); + Db.save("application_access_token", "application_id", record); + } + +}