Commit 04e9cf04 authored by pengxin's avatar pengxin

Merge branch 'master' of http://192.168.0.35:3000/lmp/lmp_server

 Conflicts:
	zzlogs/application-webadmin/application-webadmin.log
parents f486099d 71b28079
...@@ -38,6 +38,16 @@ public class KnowledgeConfig { ...@@ -38,6 +38,16 @@ public class KnowledgeConfig {
*/ */
private String searchDocs; private String searchDocs;
/**
* 直接更新知识库文档
*/
private String updateDocsById;
/**
* 直接删除知识库文档片段
*/
private String deleteDocsById;
/** /**
* 上传文件到知识库,并/或进行向量化 * 上传文件到知识库,并/或进行向量化
*/ */
......
package com.yice.webadmin.app.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Data
@Configuration
@ConfigurationProperties(prefix = "llm-model")
public class LlmModelConfig {
/**
* 大模型管理接口地址
*/
private String llmModelInterface;
/**
* 模型停止
*/
private String stop;
/**
* 重新模型部署
*/
private String reload;
/**
* 模型启动
*/
private String start;
/**
* 列出当前已加载模型
*/
private String listRunningModels;
}
package com.yice.webadmin.app.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Data
@Configuration
@ConfigurationProperties(prefix = "other")
public class OtherConfig {
/**
* 其他通用接口地址
*/
private String otherInterface;
/**
* 获取GPU信息
*/
private String getGpuInfo;
}
...@@ -68,16 +68,14 @@ public class KnowledgeManageController { ...@@ -68,16 +68,14 @@ public class KnowledgeManageController {
if (errorMessage != null) { if (errorMessage != null) {
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage);
} }
KnowledgeManage knowledgeManage = MyModelUtil.copyTo(knowledgeManageDto, KnowledgeManage.class); String requestBody = "{\n" + " \"knowledge_base_name\": \"" + knowledgeManageDto.getKnowledgeName() + "\",\n" + " \"vector_store_type\": \"faiss\",\n" + " \"embed_model\": \"m3e-base\"\n" + "}";
knowledgeManage.setKnowledgeCode(PinyinUtil.getPinyin(knowledgeManage.getKnowledgeName()).replace(" ","_"));
String requestBody = "{\n" + " \"knowledge_base_name\": \"" + knowledgeManage.getKnowledgeCode() + "\",\n" + " \"vector_store_type\": \"faiss\",\n" + " \"embed_model\": \"m3e-base\"\n" + "}";
try { try {
String result = proxyPythonService.predictPost(knowledgeConfig.getKnowledgeInterface() + knowledgeConfig.getCreate(), requestBody); String result = proxyPythonService.predictPost(knowledgeConfig.getKnowledgeInterface() + knowledgeConfig.getCreate(), requestBody);
JSONObject jo = JSON.parseObject(result); JSONObject jo = JSON.parseObject(result);
Integer code = jo.getIntValue("code"); Integer code = jo.getIntValue("code");
String msg = jo.getString("msg"); String msg = jo.getString("msg");
String data = jo.getString("data");
if (code != null && code == 200) { if (code != null && code == 200) {
KnowledgeManage knowledgeManage = MyModelUtil.copyTo(knowledgeManageDto, KnowledgeManage.class);
KnowledgeManage reKnowledgeManage = knowledgeManageService.saveNew(knowledgeManage); KnowledgeManage reKnowledgeManage = knowledgeManageService.saveNew(knowledgeManage);
return ResponseResult.success(reKnowledgeManage); return ResponseResult.success(reKnowledgeManage);
} else { } else {
...@@ -228,7 +226,6 @@ public class KnowledgeManageController { ...@@ -228,7 +226,6 @@ public class KnowledgeManageController {
} }
return ResponseResult.success(originalKnowledgeManage); return ResponseResult.success(originalKnowledgeManage);
} }
/** /**
* 删除知识库管理数据。 * 删除知识库管理数据。
* *
...@@ -279,6 +276,46 @@ public class KnowledgeManageController { ...@@ -279,6 +276,46 @@ public class KnowledgeManageController {
return ResponseResult.success(data); return ResponseResult.success(data);
} }
/**
* 直接更新知识库文档。
*
* @param requestBody 请求对象。
* @return 应答结果对象。
*/
@PostMapping("/updateDocsById")
public ResponseResult<String> updateDocsById(@RequestBody String requestBody) {
if (MyCommonUtil.existBlankArgument(requestBody)) {
return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST);
}
String data = null;
try {
data = this.proxyPythonService.predictPost(this.knowledgeConfig.getKnowledgeInterface() + knowledgeConfig.getUpdateDocsById(), requestBody);
} catch (IOException e) {
throw new RuntimeException(e);
}
return ResponseResult.success(data);
}
/**
* 直接删除知识库文档片段。
*
* @param requestBody 请求对象。
* @return 应答结果对象。
*/
@PostMapping("/deleteDocsById")
public ResponseResult<String> deleteDocsById(@RequestBody String requestBody) {
if (MyCommonUtil.existBlankArgument(requestBody)) {
return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST);
}
String data = null;
try {
data = this.proxyPythonService.predictPost(this.knowledgeConfig.getKnowledgeInterface() + knowledgeConfig.getDeleteDocsById(), requestBody);
} catch (IOException e) {
throw new RuntimeException(e);
}
return ResponseResult.success(data);
}
/** /**
* 删除知识库指定文件。 * 删除知识库指定文件。
* *
...@@ -354,7 +391,7 @@ public class KnowledgeManageController { ...@@ -354,7 +391,7 @@ public class KnowledgeManageController {
String msg = jo.getString("msg"); String msg = jo.getString("msg");
String data = jo.getString("data"); String data = jo.getString("data");
if (code != null && code == 200) { if (code != null && code == 200) {
return ResponseResult.create(ErrorCodeEnum.NO_ERROR, msg, data); return ResponseResult.success(data);
} else { } else {
return ResponseResult.create(ErrorCodeEnum.SERVER_INTERNAL_ERROR, msg, data); return ResponseResult.create(ErrorCodeEnum.SERVER_INTERNAL_ERROR, msg, data);
} }
...@@ -425,7 +462,7 @@ public class KnowledgeManageController { ...@@ -425,7 +462,7 @@ public class KnowledgeManageController {
if (code != null && code == 200) { if (code != null && code == 200) {
for (KnowledgeManage knowledgeManage : knowledgeManageList) { for (KnowledgeManage knowledgeManage : knowledgeManageList) {
for (Object jsonObject : jsonArray) { for (Object jsonObject : jsonArray) {
if (knowledgeManage.getKnowledgeCode().equals(String.valueOf(jsonObject))) { if (knowledgeManage.getKnowledgeName().equals(String.valueOf(jsonObject))) {
reKnowledgeManageList.add(knowledgeManage); reKnowledgeManageList.add(knowledgeManage);
} }
} }
...@@ -456,7 +493,7 @@ public class KnowledgeManageController { ...@@ -456,7 +493,7 @@ public class KnowledgeManageController {
if (code != null && code == 200) { if (code != null && code == 200) {
for (KnowledgeManage knowledgeManage : knowledgeManageList) { for (KnowledgeManage knowledgeManage : knowledgeManageList) {
for (Object jsonObject : jsonArray) { for (Object jsonObject : jsonArray) {
if (knowledgeManage.getKnowledgeCode().equals(String.valueOf(jsonObject))) { if (knowledgeManage.getKnowledgeName().equals(String.valueOf(jsonObject))) {
reKnowledgeManageList.add(knowledgeManage); reKnowledgeManageList.add(knowledgeManage);
} }
} }
...@@ -529,6 +566,6 @@ public class KnowledgeManageController { ...@@ -529,6 +566,6 @@ public class KnowledgeManageController {
errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!";
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage);
} }
return this.doDeleteByName(originalKnowledgeManage.getKnowledgeCode()); return this.doDeleteByName(originalKnowledgeManage.getKnowledgeName());
} }
} }
package com.yice.webadmin.app.controller; package com.yice.webadmin.app.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.page.PageMethod; import com.github.pagehelper.page.PageMethod;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.yice.common.core.annotation.MyRequestBody; import com.yice.common.core.annotation.MyRequestBody;
...@@ -10,16 +12,28 @@ import com.yice.common.core.util.MyModelUtil; ...@@ -10,16 +12,28 @@ import com.yice.common.core.util.MyModelUtil;
import com.yice.common.core.util.MyPageUtil; import com.yice.common.core.util.MyPageUtil;
import com.yice.common.log.annotation.OperationLog; import com.yice.common.log.annotation.OperationLog;
import com.yice.common.log.model.constant.SysOperationLogType; import com.yice.common.log.model.constant.SysOperationLogType;
import com.yice.webadmin.app.config.LlmModelConfig;
import com.yice.webadmin.app.config.OtherConfig;
import com.yice.webadmin.app.config.PythonConfig;
import com.yice.webadmin.app.dto.ModelDeployDto; import com.yice.webadmin.app.dto.ModelDeployDto;
import com.yice.webadmin.app.model.ModelDeploy; import com.yice.webadmin.app.model.ModelDeploy;
import com.yice.webadmin.app.model.ModelManage;
import com.yice.webadmin.app.model.ModelVersion;
import com.yice.webadmin.app.service.ModelDeployService; import com.yice.webadmin.app.service.ModelDeployService;
import com.yice.webadmin.app.service.ModelManageService;
import com.yice.webadmin.app.service.ModelVersionService;
import com.yice.webadmin.app.service.ProxyPythonService;
import com.yice.webadmin.app.vo.ModelDeployVo; import com.yice.webadmin.app.vo.ModelDeployVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.jws.WebParam;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 模型部署操作控制器类。 * 模型部署操作控制器类。
...@@ -35,6 +49,18 @@ public class ModelDeployController { ...@@ -35,6 +49,18 @@ public class ModelDeployController {
@Autowired @Autowired
private ModelDeployService modelDeployService; private ModelDeployService modelDeployService;
@Autowired
private ProxyPythonService proxyPythonService;
@Autowired
private OtherConfig otherConfig;
@Autowired
private LlmModelConfig llmModelConfig;
@Autowired
private PythonConfig pythonConfig;
@Autowired
private ModelVersionService modelVersionService;
@Autowired
private ModelManageService modelManageService;
/** /**
* 新增模型部署数据。 * 新增模型部署数据。
...@@ -56,10 +82,74 @@ public class ModelDeployController { ...@@ -56,10 +82,74 @@ public class ModelDeployController {
if (!callResult.isSuccess()) { if (!callResult.isSuccess()) {
return ResponseResult.errorFrom(callResult); return ResponseResult.errorFrom(callResult);
} }
modelDeploy = modelDeployService.saveNew(modelDeploy); List<ModelDeploy> modelDeployList = this.modelDeployService.getModelDeployList(modelDeploy, "");
for (ModelDeploy modelDeploy1 : modelDeployList) {
if (modelDeploy1.getVersionId() == modelDeploy.getVersionId()) {
return ResponseResult.error(ErrorCodeEnum.DUPLICATED_UNIQUE_KEY, "同一个模型只能部署一次!");
}
}
ModelVersion modelVersion = this.modelVersionService.getById(modelDeploy.getVersionId());
ModelManage modelManage = modelManageService.getById(modelVersion.getModelId());
modelDeploy.setDeployStatus(3);
modelDeploy.setModelId(modelVersion.getModelId());
modelDeploy.setVersionName(modelVersion.getVersionName());
modelDeploy.setModelVersion(modelVersion.getModelVersion());
modelDeploy.setModelName(modelManage.getModelName());
modelDeployService.saveNew(modelDeploy);
return ResponseResult.success(modelDeploy.getDeployId()); return ResponseResult.success(modelDeploy.getDeployId());
} }
/**
* 部署指定LLM模型。
*
* @return 应答结果对象,包含查询结果集。
*/
@PostMapping("/deploy")
public ResponseResult<String> deploy(@MyRequestBody ModelDeployDto modelDeployDto, @MyRequestBody String type) {
ModelDeploy modelDeploy = modelDeployService.getById(modelDeployDto.getDeployId());
modelDeploy.setDeployStatus(0);
modelDeployService.updateById(modelDeploy);
ResponseResult<String> responseResult = this.doReloadOrStart(modelDeploy, type);
if (responseResult.isSuccess()) {
modelDeploy.setDeployStatus(1);
modelDeployService.updateById(modelDeploy);
return ResponseResult.success(responseResult.getData());
}
modelDeploy.setDeployStatus(-1);
modelDeployService.updateById(modelDeploy);
return responseResult;
}
private ResponseResult<String> doReloadOrStart(ModelDeploy modelDeploy, String type) {
String gps_ids = JSON.parseArray(modelDeploy.getResourceInfo()).stream()
.map(obj -> ((JSONObject) obj).getString("gpu_id"))
.collect(Collectors.joining(","));
ModelVersion modelVersion = this.modelVersionService.getById(modelDeploy.getVersionId());
String requestBody = "{\n" +
" \"new_model_name\": \"" + modelDeploy.getVersionName() + "\",\n" +
" \"new_model_path\": \"" + modelVersion.getModelUrl() + "\",\n" +
" \"startup_param\": {\n" +
" \"gpu_ids\": \"" + gps_ids + "\"\n" +
" },\n" +
" \"controller_address\": \"" + pythonConfig.getControllerAddress() + "\"\n" +
"}";
try {
String apiName = type.equals("start") ? llmModelConfig.getStart() : llmModelConfig.getReload();
String result = proxyPythonService.predictPost(llmModelConfig.getLlmModelInterface() + apiName, requestBody);
JSONObject jo = JSON.parseObject(result);
Integer code = jo.getIntValue("code");
String msg = jo.getString("msg");
String data = jo.getString("data");
if (code != null && code == 200) {
return ResponseResult.success(data);
} else {
return ResponseResult.create(ErrorCodeEnum.SERVER_INTERNAL_ERROR, msg, data);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
/** /**
* 更新模型部署数据。 * 更新模型部署数据。
* *
...@@ -106,6 +196,35 @@ public class ModelDeployController { ...@@ -106,6 +196,35 @@ public class ModelDeployController {
return this.doDelete(deployId); return this.doDelete(deployId);
} }
/**
* 列出所有可用模型部署列表。
*
* @return 应答结果对象,包含查询结果集。
*/
@PostMapping("/canUseList")
public ResponseResult<MyPageData<ModelDeployVo>> canUseList() {
ModelDeploy modelDeployFilter = new ModelDeploy();
modelDeployFilter.setDeployStatus(1);
List<ModelDeploy> modelDeployList =
modelDeployService.getModelDeployListWithRelation(modelDeployFilter, "deploy_id");
ResponseResult<String> responseResult = this.listRunningModels();
String data = responseResult.getData();
String[] modelNames = stringToArray(data);
List<ModelDeploy> modelDeploys = new ArrayList<ModelDeploy>();
for (ModelDeploy modelDeploy : modelDeployList) {
boolean isEx = false;
for (int i = 0; i < modelNames.length; i++) {
if (modelDeploy.getVersionName().equals(modelNames[i])) {
isEx = true;
}
}
if (isEx) {
modelDeploy.setDeployStatus(1);
modelDeploys.add(modelDeploy);
}
}
return ResponseResult.success(MyPageUtil.makeResponseData(modelDeploys, ModelDeploy.INSTANCE));
}
/** /**
* 列出符合过滤条件的模型部署列表。 * 列出符合过滤条件的模型部署列表。
* *
...@@ -126,9 +245,124 @@ public class ModelDeployController { ...@@ -126,9 +245,124 @@ public class ModelDeployController {
String orderBy = MyOrderParam.buildOrderBy(orderParam, ModelDeploy.class); String orderBy = MyOrderParam.buildOrderBy(orderParam, ModelDeploy.class);
List<ModelDeploy> modelDeployList = List<ModelDeploy> modelDeployList =
modelDeployService.getModelDeployListWithRelation(modelDeployFilter, orderBy); modelDeployService.getModelDeployListWithRelation(modelDeployFilter, orderBy);
ResponseResult<String> responseResult = this.listRunningModels();
if (!responseResult.isSuccess()) {
modelDeployList.forEach(modelDeploy -> {
modelDeploy.setDeployStatus(2);
});
return ResponseResult.success(MyPageUtil.makeResponseData(modelDeployList, ModelDeploy.INSTANCE));
}
String data = responseResult.getData();
System.out.println(data);
String[] modelNames = stringToArray(data);
for (ModelDeploy modelDeploy : modelDeployList) {
boolean isEx = false;
for (int i = 0; i < modelNames.length; i++) {
if (modelDeploy.getVersionName().equals(modelNames[i])) {
isEx = true;
}
}
if (!isEx) {
if (modelDeploy.getDeployStatus() != 3)
modelDeploy.setDeployStatus(2);
} else {
modelDeploy.setDeployStatus(1);
}
}
return ResponseResult.success(MyPageUtil.makeResponseData(modelDeployList, ModelDeploy.INSTANCE)); return ResponseResult.success(MyPageUtil.makeResponseData(modelDeployList, ModelDeploy.INSTANCE));
} }
private String[] stringToArray(String strArray) {
strArray = strArray.replaceAll("\\[|\\]|\"", "");
return strArray.split(",\\s*"); // 正则表达式也考虑了逗号后的空格
}
private ResponseResult<String> listRunningModels() {
String requestBody = "{\n" +
" \"controller_address\": \"" + pythonConfig.getControllerAddress() + "\",\n" +
" \"placeholder\": \"string\"\n" +
"}";
try {
String result = proxyPythonService.predictPost(llmModelConfig.getLlmModelInterface() + llmModelConfig.getListRunningModels(), requestBody);
JSONObject jo = JSON.parseObject(result);
Integer code = jo.getIntValue("code");
String msg = jo.getString("msg");
String data = jo.getString("data");
if (code != null && code == 200) {
return ResponseResult.success(data);
} else {
return ResponseResult.create(ErrorCodeEnum.SERVER_INTERNAL_ERROR, msg, data);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
/**
* 获取GPU信息。
*
* @return 应答结果对象,包含查询结果集。
*/
@PostMapping("/getGpuInfo")
public ResponseResult<String> getGpuInfo() {
try {
String result = proxyPythonService.predictPost(otherConfig.getOtherInterface() + otherConfig.getGetGpuInfo(), "");
JSONObject jo = JSON.parseObject(result);
Integer code = jo.getIntValue("code");
String msg = jo.getString("msg");
String data = jo.getString("data");
if (code != null && code == 200) {
return ResponseResult.success(data);
} else {
return ResponseResult.create(ErrorCodeEnum.SERVER_INTERNAL_ERROR, msg, data);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
/**
* 停止指定LLM模型。
*
* @return 应答结果对象,包含查询结果集。
*/
@PostMapping("/stop")
public ResponseResult<String> stop(@MyRequestBody ModelDeployDto modelDeployDto) {
ModelDeploy modelDeploy = modelDeployService.getById(modelDeployDto.getDeployId());
ResponseResult<String> responseResult = this.doStop(modelDeploy);
if (responseResult.isSuccess()) {
modelDeploy.setDeployStatus(3);
modelDeployService.updateById(modelDeploy);
return ResponseResult.success(responseResult.getData());
}
return responseResult;
}
private ResponseResult<String> doStop(ModelDeploy modelDeploy) {
String errorMessage = MyCommonUtil.getModelValidationError(modelDeploy, true);
if (errorMessage != null) {
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage);
}
String requestBody = "{\n" +
" \"model_name\": \"" + modelDeploy.getVersionName() + "\",\n" +
" \"controller_address\": \"" + pythonConfig.getControllerAddress() + "\"\n" +
"}";
try {
String result = proxyPythonService.predictPost(llmModelConfig.getLlmModelInterface() + llmModelConfig.getStop(), requestBody);
JSONObject jo = JSON.parseObject(result);
Integer code = jo.getIntValue("code");
String msg = jo.getString("msg");
String data = jo.getString("data");
if (code != null && code == 200) {
return ResponseResult.success(data);
} else {
return ResponseResult.create(ErrorCodeEnum.SERVER_INTERNAL_ERROR, msg, data);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
/** /**
* 查看指定模型部署对象详情。 * 查看指定模型部署对象详情。
* *
...@@ -158,6 +392,7 @@ public class ModelDeployController { ...@@ -158,6 +392,7 @@ public class ModelDeployController {
errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!";
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage);
} }
this.doStop(originalModelDeploy);
return ResponseResult.success(); return ResponseResult.success();
} }
} }
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
<result column="knowledge_name" jdbcType="VARCHAR" property="knowledgeName"/> <result column="knowledge_name" jdbcType="VARCHAR" property="knowledgeName"/>
<result column="knowledge_code" jdbcType="VARCHAR" property="knowledgeCode"/> <result column="knowledge_code" jdbcType="VARCHAR" property="knowledgeCode"/>
<result column="knowledge_describe" jdbcType="VARCHAR" property="knowledgeDescribe"/> <result column="knowledge_describe" jdbcType="VARCHAR" property="knowledgeDescribe"/>
<result column="knowledge_format" jdbcType="VARCHAR" property="knowledgeFormat"/>
</resultMap> </resultMap>
<insert id="insertList"> <insert id="insertList">
...@@ -21,7 +22,8 @@ ...@@ -21,7 +22,8 @@
update_time, update_time,
knowledge_name, knowledge_name,
knowledge_code, knowledge_code,
knowledge_describe) knowledge_describe,
knowledge_format)
VALUES VALUES
<foreach collection="list" index="index" item="item" separator=","> <foreach collection="list" index="index" item="item" separator=",">
(#{item.knowledgeId}, (#{item.knowledgeId},
...@@ -31,7 +33,8 @@ ...@@ -31,7 +33,8 @@
#{item.updateTime}, #{item.updateTime},
#{item.knowledgeName}, #{item.knowledgeName},
#{item.knowledgeCode}, #{item.knowledgeCode},
#{item.knowledgeDescribe}) #{item.knowledgeDescribe},
#{item.knowledgeFormat})
</foreach> </foreach>
</insert> </insert>
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
<resultMap id="BaseResultMap" type="com.yice.webadmin.app.model.ModelDeploy"> <resultMap id="BaseResultMap" type="com.yice.webadmin.app.model.ModelDeploy">
<id column="deploy_id" jdbcType="BIGINT" property="deployId"/> <id column="deploy_id" jdbcType="BIGINT" property="deployId"/>
<result column="model_id" jdbcType="BIGINT" property="modelId"/> <result column="model_id" jdbcType="BIGINT" property="modelId"/>
<result column="model_name" jdbcType="VARCHAR" property="modelName"/>
<result column="version_id" jdbcType="BIGINT" property="versionId"/> <result column="version_id" jdbcType="BIGINT" property="versionId"/>
<result column="version_name" jdbcType="VARCHAR" property="versionName"/> <result column="version_name" jdbcType="VARCHAR" property="versionName"/>
<result column="deploy_status" jdbcType="TINYINT" property="deployStatus"/> <result column="deploy_status" jdbcType="TINYINT" property="deployStatus"/>
...@@ -15,12 +16,15 @@ ...@@ -15,12 +16,15 @@
<result column="service_id" jdbcType="BIGINT" property="serviceId"/> <result column="service_id" jdbcType="BIGINT" property="serviceId"/>
<result column="service_name" jdbcType="VARCHAR" property="serviceName"/> <result column="service_name" jdbcType="VARCHAR" property="serviceName"/>
<result column="service_version" jdbcType="TINYINT" property="serviceVersion"/> <result column="service_version" jdbcType="TINYINT" property="serviceVersion"/>
<result column="resource_info" jdbcType="VARCHAR" property="resourceInfo"/>
<result column="service_remark" jdbcType="VARCHAR" property="serviceRemark"/>
</resultMap> </resultMap>
<insert id="insertList"> <insert id="insertList">
INSERT INTO lmp_model_deploy INSERT INTO lmp_model_deploy
(deploy_id, (deploy_id,
model_id, model_id,
model_name,
version_id, version_id,
version_name, version_name,
deploy_status, deploy_status,
...@@ -31,11 +35,14 @@ ...@@ -31,11 +35,14 @@
model_version, model_version,
service_id, service_id,
service_name, service_name,
service_version) service_version,
resource_info,
service_remark)
VALUES VALUES
<foreach collection="list" index="index" item="item" separator=","> <foreach collection="list" index="index" item="item" separator=",">
(#{item.deployId}, (#{item.deployId},
#{item.modelId}, #{item.modelId},
#{item.modelName},
#{item.versionId}, #{item.versionId},
#{item.versionName}, #{item.versionName},
#{item.deployStatus}, #{item.deployStatus},
...@@ -46,7 +53,9 @@ ...@@ -46,7 +53,9 @@
#{item.modelVersion}, #{item.modelVersion},
#{item.serviceId}, #{item.serviceId},
#{item.serviceName}, #{item.serviceName},
#{item.serviceVersion}) #{item.serviceVersion},
#{item.resourceInfo},
#{item.serviceRemark})
</foreach> </foreach>
</insert> </insert>
......
...@@ -49,4 +49,10 @@ public class KnowledgeManageDto { ...@@ -49,4 +49,10 @@ public class KnowledgeManageDto {
*/ */
@ApiModelProperty(value = "LIKE模糊搜索字符串") @ApiModelProperty(value = "LIKE模糊搜索字符串")
private String searchString; private String searchString;
/**
* 知识格式。
*/
@ApiModelProperty(value = "知识格式")
private String knowledgeFormat;
} }
...@@ -30,6 +30,12 @@ public class ModelDeployDto { ...@@ -30,6 +30,12 @@ public class ModelDeployDto {
@ApiModelProperty(value = "模型ID") @ApiModelProperty(value = "模型ID")
private Long modelId; private Long modelId;
/**
* 模型名称。
*/
@ApiModelProperty(value = "模型名称")
private String modelName;
/** /**
* 版本ID。 * 版本ID。
*/ */
...@@ -71,4 +77,22 @@ public class ModelDeployDto { ...@@ -71,4 +77,22 @@ public class ModelDeployDto {
*/ */
@ApiModelProperty(value = "服务版本") @ApiModelProperty(value = "服务版本")
private Integer serviceVersion; private Integer serviceVersion;
/**
* 资源信息。
*/
@ApiModelProperty(value = "资源信息")
private String resourceInfo;
/**
* 服务描述。
*/
@ApiModelProperty(value = "服务描述")
private String serviceRemark;
/**
* 资源id。
*/
@ApiModelProperty(value = "资源id")
private String gpuIds;
} }
...@@ -48,6 +48,11 @@ public class KnowledgeManage extends BaseModel { ...@@ -48,6 +48,11 @@ public class KnowledgeManage extends BaseModel {
*/ */
private String knowledgeDescribe; private String knowledgeDescribe;
/**
* 知识格式。
*/
private String knowledgeFormat;
/** /**
* knowledge_name LIKE搜索字符串。 * knowledge_name LIKE搜索字符串。
*/ */
......
...@@ -32,6 +32,10 @@ public class ModelDeploy extends BaseModel { ...@@ -32,6 +32,10 @@ public class ModelDeploy extends BaseModel {
*/ */
private Long modelId; private Long modelId;
/**
* 模型名称。
*/
private String modelName;
/** /**
* 版本ID。 * 版本ID。
*/ */
...@@ -67,6 +71,16 @@ public class ModelDeploy extends BaseModel { ...@@ -67,6 +71,16 @@ public class ModelDeploy extends BaseModel {
*/ */
private Integer serviceVersion; private Integer serviceVersion;
/**
* 资源信息。
*/
private String resourceInfo;
/**
* 服务描述。
*/
private String serviceRemark;
@Mapper @Mapper
public interface ModelDeployModelMapper extends BaseModelMapper<ModelDeployVo, ModelDeploy> { public interface ModelDeployModelMapper extends BaseModelMapper<ModelDeployVo, ModelDeploy> {
} }
......
...@@ -48,4 +48,10 @@ public class KnowledgeManageVo extends BaseVo { ...@@ -48,4 +48,10 @@ public class KnowledgeManageVo extends BaseVo {
*/ */
@ApiModelProperty(value = "创建人名称") @ApiModelProperty(value = "创建人名称")
private Map<String, Object> createUserIdDictMap; private Map<String, Object> createUserIdDictMap;
/**
* 知识格式。
*/
@ApiModelProperty(value = "知识格式")
private String knowledgeFormat;
} }
...@@ -28,7 +28,11 @@ public class ModelDeployVo extends BaseVo { ...@@ -28,7 +28,11 @@ public class ModelDeployVo extends BaseVo {
*/ */
@ApiModelProperty(value = "模型ID") @ApiModelProperty(value = "模型ID")
private Long modelId; private Long modelId;
/**
* 模型名称。
*/
@ApiModelProperty(value = "模型名称")
private String modelName;
/** /**
* 版本ID。 * 版本ID。
*/ */
...@@ -70,4 +74,15 @@ public class ModelDeployVo extends BaseVo { ...@@ -70,4 +74,15 @@ public class ModelDeployVo extends BaseVo {
*/ */
@ApiModelProperty(value = "服务版本") @ApiModelProperty(value = "服务版本")
private Integer serviceVersion; private Integer serviceVersion;
/**
* 资源信息。
*/
@ApiModelProperty(value = "资源信息")
private String resourceInfo;
/**
* 服务描述。
*/
@ApiModelProperty(value = "服务描述")
private String serviceRemark;
} }
...@@ -78,10 +78,25 @@ python: ...@@ -78,10 +78,25 @@ python:
#python websocket 服务地址 #python websocket 服务地址
pythonWebsocketUri: ws://192.168.0.36:7860/queue/join pythonWebsocketUri: ws://192.168.0.36:7860/queue/join
#输出控制地址 #输出控制地址
controllerAddress: http://192.168.0.36:20001 controllerAddress: http://127.0.0.1:20001
#对话基础路径 #对话基础路径
chatAddress: http://192.168.0.36:7861/ chatAddress: http://192.168.0.36:8000/
llm-model:
#模型管理基础路径
llmModelInterface: http://192.168.0.36:7861/llm_model/
#模型停止
stop: stop
#模型模型部署
reload: reload
#模型部署
start: start
#列出当前已加载模型
listRunningModels: list_running_models
other:
#其他管理接口
otherInterface: http://192.168.0.36:7861/other/
#获取gpu信息
getGpuInfo: get_gpu_info
knowledge: knowledge:
#知识库通用接口地址 #知识库通用接口地址
knowledgeInterface: http://192.168.0.36:7861/knowledge_base/ knowledgeInterface: http://192.168.0.36:7861/knowledge_base/
...@@ -95,6 +110,10 @@ knowledge: ...@@ -95,6 +110,10 @@ knowledge:
listFiles: list_files listFiles: list_files
#搜索知识库 #搜索知识库
searchDocs: search_docs searchDocs: search_docs
#直接更新知识库文档
updateDocsById: update_docs_by_id
#直接删除知识库文档片段
deleteDocsById: delete_docs_by_id
#上传文件到知识库,bing/或进行向量化 #上传文件到知识库,bing/或进行向量化
uploadDocs: upload_docs uploadDocs: upload_docs
#删除知识库内指定文件 #删除知识库内指定文件
......
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment