This commit is contained in:
ire 2025-01-10 10:42:15 +08:00
parent 9c77a2c331
commit bce978afd9
7 changed files with 37 additions and 7 deletions

View File

@ -4,12 +4,15 @@ import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.llm.controller.admin.application.vo.ApplicationPageReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.application.vo.ApplicationRespVO;
import cn.iocoder.yudao.module.llm.controller.admin.application.vo.ApplicationSaveReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.conversation.vo.ChatApiReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.conversation.vo.ChatReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.conversation.vo.ChatRespVO;
import cn.iocoder.yudao.module.llm.controller.admin.datarefluxconfig.vo.DataRefluxConfigRespVO;
import cn.iocoder.yudao.module.llm.dal.dataobject.application.ApplicationDO;
import cn.iocoder.yudao.module.llm.service.application.ApplicationService;
import cn.iocoder.yudao.module.llm.service.conversation.ConversationService;
@ -106,12 +109,14 @@ public class ApplicationController {
@PermitAll
@PostMapping("/api/{apiKey}/chat")
@Operation(summary = "api对话接口")
public CommonResult<ChatRespVO> apiChat(@PathVariable("apiKey") String apiKey,@RequestBody ChatReqVO chatReqVO){
public CommonResult<ChatRespVO> apiChat(@PathVariable("apiKey") String apiKey,@RequestBody ChatApiReqVO chatReqVO){
ApplicationDO applicationDO = applicationService.getByApiKey(apiKey);
chatReqVO.setApplicationId(applicationDO.getId());
chatReqVO.setModelId(applicationDO.getModelServiceId());
chatReqVO.setModelType(chatReqVO.getModelType());
ChatRespVO chat = conversationService.chat(chatReqVO);
ChatReqVO bean = BeanUtils.toBean(chatReqVO, ChatReqVO.class);
ChatRespVO chat = conversationService.chat(bean);
return success(chat);
}

View File

@ -0,0 +1,24 @@
package cn.iocoder.yudao.module.llm.controller.admin.conversation.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@Schema(description = "管理后台 - 大模型对话推理聊天 Request VO")
@Data
public class ChatApiReqVO {
@Schema(description = "模型类型", requiredMode = Schema.RequiredMode.REQUIRED)
private Integer modelType;
@Schema(description = "模型ID", requiredMode = Schema.RequiredMode.REQUIRED)
private Long modelId;
@Schema(description = "应用ID", requiredMode = Schema.RequiredMode.REQUIRED)
private Long applicationId;
@Schema(description = "对话的内容", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "对话的内容不能为空")
private String prompt;
@Schema(description = "对话ID", requiredMode = Schema.RequiredMode.REQUIRED)
private String uuid;
}

View File

@ -62,7 +62,8 @@ public class ApplicationServiceImpl implements ApplicationService {
ApplicationDO application = BeanUtils.toBean(createReqVO, ApplicationDO.class);
String apikey = getApikey();
application.setApiKey(apikey);
application.setApiUrl(String.format(llmBackendProperties.getApplicationApi(), apikey));
String replace = llmBackendProperties.getApplicationApi().replace("apiKey", apikey);
application.setApiUrl(replace);
applicationMapper.insert(application);
//prompt使用量+1

View File

@ -143,4 +143,4 @@ public class ConversationServiceImpl implements ConversationService {
dataRefluxDataService.saveDataRefluxData(dataRefluxDataSaveReqVO);
return chatRespVO;
}
}
}

View File

@ -365,7 +365,7 @@ public class AdminUserServiceImpl implements AdminUserService {
// 校验手机号唯一
validateMobileUnique(id, mobile);
// 校验邮箱唯一
validateEmailUnique(id, email);
// validateEmailUnique(id, email);
// 校验部门处于开启状态
deptService.validateDeptList(CollectionUtils.singleton(deptId));
// 校验岗位处于开启状态

View File

@ -253,7 +253,7 @@ llm:
model_completions: http://api.xhllm.xinnuojinzhi.com/model/v1/chat/completions
application_api: http://localhost:48100/admin-app/llm/application/api/{apiKey}/chat
application_api: http://localhost:48100/admin-app/llm/application/api/apiKey/chat
--- #################### iot相关配置 TODO 芋艿:再瞅瞅 ####################
iot:

View File

@ -296,7 +296,7 @@ llm:
model_completions: http://api.xhllm.xinnuojinzhi.com/model/v1/chat/completions
application_api: http://localhost:48100/admin-app/llm/application/api/{apiKey}/chat
application_api: http://localhost:48080/admin-app/llm/application/api/apiKey/chat
--- #################### iot相关配置 TODO 芋艿:再瞅瞅 ####################
iot: