main
黄海 7 months ago
parent 07834ee14a
commit 8839471711

@ -0,0 +1,17 @@
package Tools.MaxKb.Model;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import java.util.List;
public class MaxKbModel {
/**
* @param dataSetName
* @return
*/
public List<Record> getDataSetList(String dataSetName) {
String sql = "select * from dataset where name=?";
return Db.find(sql, dataSetName);
}
}

@ -0,0 +1,48 @@
package Tools.MaxKb;
import Tools.MaxKb.Model.MaxKbModel;
import Tools.MaxKb.Util.MaxKbCallUtil;
import Tools.MaxKb.Util.MaxKbDb;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.Record;
import java.util.List;
public class UploadMaxKBFile {
public static MaxKbModel mm = new MaxKbModel();
//知识库id不知道id的可以从知识库的地址栏获取
static String zskId = "0dbf473a-c352-11ef-a5a3-0242ac120003";
//获取知识库上传文档接口
static String uploadFile = "D:\\dsWork\\QingLong\\Doc\\MaxKB\\各学校人员和班级统计【结果】.xlsx";
public static void main(String[] args) throws Exception {
//加载配置文件
PropKit.use("MaxKb.properties");
//初始化数据库
MaxKbDb.Init();
//获取数据集名称
String dataSetName = PropKit.get("dataSetName");
List<Record> list = mm.getDataSetList(dataSetName);
if (list.size() > 1) {
System.out.println("数据集:【" + dataSetName + "】名称重复,请检查后重新运行!");
return;
}
if (list.isEmpty()) {
System.out.println("数据集:【" + dataSetName + "】不存在,请检查后重新运行!");
return;
}
System.out.println(list);
//获取身份识别
// String authCode = MaxKbCallUtil.getAuthorization();
// //测试上传文件到知识库
// String id = MaxKbCallUtil.uploadQA(authCode, zskId, uploadFile);
// System.out.println("生成的文档ID=" + id);
}
}

@ -1,35 +1,19 @@
package UnitTest;
package Tools.MaxKb.Util;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.jfinal.kit.PropKit;
import java.io.File;
public class UploadMaxKBFile {
public class MaxKbCallUtil {
//MaxKB的url
static final String baseUrl = "http://10.10.14.206:8080";
static final String baseUrl = PropKit.get("baseUrl");
//获取身份识别码接口
static final String Authorization_URL = baseUrl + "/api/user/login";
//获取身份识别时登录的用户名
static final String username = "admin";
//获取身份识别时登录的密码
static final String password = "Dsideal4r5t6y7u!@#";
//知识库id不知道id的可以从知识库的地址栏获取
static String zskId = "0dbf473a-c352-11ef-a5a3-0242ac120003";
public static void main(String[] args) throws Exception {
//获取身份识别
String authCode = getAuthorization(username, password);
//获取知识库上传文档接口
String uploadFile = "D:\\dsWork\\QingLong\\Doc\\MaxKB\\各学校人员和班级统计【结果】.xlsx";
//测试上传文件到知识库
uploadQA(authCode, zskId, uploadFile);
}
/**
* QA
@ -37,7 +21,7 @@ public class UploadMaxKBFile {
* @param authCode
* @param uploadFile
*/
public static void uploadQA(String authCode, String zskId, String uploadFile) {
public static String uploadQA(String authCode, String zskId, String uploadFile) {
//知识库url上传地址
String qaUrl = baseUrl + "/api/dataset/" + zskId + "/document/qa";
//使用hutool工具箱里面的httpPost功能向指定的接口发起上传文件的请求在Header中携带参数authCode
@ -50,10 +34,15 @@ public class UploadMaxKBFile {
.header("Content-Type", "multipart/form-data; boundary=----WebKitFormBoundaryhEiEDpZDka6byweA")
.header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36")
.form("file", new File(uploadFile)).execute();// 添加文件
// 获取响应内容
String result = response.body();
System.out.println("Response: " + result);
JSONObject jo = JSONUtil.parseObj(result);
int code = jo.getInt("code");
if (code != 200) {
System.out.println("请求失败");
return null;
}
return jo.getJSONArray("data").getJSONObject(0).getStr("id");
}
@ -62,7 +51,10 @@ public class UploadMaxKBFile {
*
* @throws Exception
*/
public static String getAuthorization(String username, String password) {
public static String getAuthorization() {
//管理员账号与密码
String username = PropKit.get("MaxKBUsername");
String password = PropKit.get("MaxKBPassword");
JSONObject requestBody = JSONUtil.createObj()
.set("username", username)
.set("password", password);
@ -100,4 +92,4 @@ public class UploadMaxKBFile {
StrUtil.isBlank(errorBody) ? "无错误信息" : errorBody));
}
}
}
}

@ -0,0 +1,24 @@
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();
}
}

@ -0,0 +1,14 @@
# 数据库信息
driverClassName=org.postgresql.Driver
user=root
password=Password123@postgres
jdbcUrl=jdbc:postgresql://10.10.14.206:5432/maxkb?reWriteBatchedInserts=true
# MaxKB的配置信息
baseUrl=http://10.10.14.206:8080
# MaxKB系统的管理员账号
MaxKBUsername=admin
MaxKBPassword=Dsideal4r5t6y7u!@#
# 知识库的名称
dataSetName=测试用的知识库
Loading…
Cancel
Save