diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/framework/backend/config/LLMBackendProperties.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/framework/backend/config/LLMBackendProperties.java index ea15ee4df..f70175b48 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/framework/backend/config/LLMBackendProperties.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/framework/backend/config/LLMBackendProperties.java @@ -58,7 +58,7 @@ public class LLMBackendProperties { @NotNull(message = "登录 POST") private String login; - private String loginTenantId; + private String account; private String loginUsername; private String loginPassword; diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/TrainHttpService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/TrainHttpService.java index 59f2cbf30..8acb9cc1f 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/TrainHttpService.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/TrainHttpService.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.llm.service.http; +import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.util.http.HttpUtils; import cn.iocoder.yudao.module.llm.framework.backend.config.LLMBackendProperties; import cn.iocoder.yudao.module.llm.service.http.vo.*; @@ -104,10 +105,28 @@ public class TrainHttpService { String res = HttpUtils.post(login, headers, JSON.toJSONString(req)); log.info("登录接口返回:{}", res); AigcRespVO aigcRespVO = JSON.parseObject(res, AigcRespVO.class); - if (aigcRespVO.isSuccess()){ + if (aigcRespVO.isSuccess() && aigcRespVO.getData() != null){ AigcLoginRespVO aigcLoginRespVO = JSON.parseObject(aigcRespVO.getData().toString(), AigcLoginRespVO.class); - headers.put("Authorization", "Bearer " + aigcLoginRespVO.getToken()); - return aigcLoginRespVO; + headers.put("X-Token", aigcLoginRespVO.getToken()); + AigcAccountRespVO aigcAccountRespVO = account(headers); + if (aigcAccountRespVO != null && CollUtil.isNotEmpty(aigcAccountRespVO.getTenants())) { + aigcLoginRespVO.setTenantId(aigcAccountRespVO.getTenants().get(0).getId()); + log.info(" login:{}", aigcAccountRespVO); + return aigcLoginRespVO; + } + } + return null; + } + + public AigcAccountRespVO account(Map headers){ + String account = llmBackendProperties.getAccount(); + String res = HttpUtils.get(account, headers); + log.info(" account:{}", res); + AigcRespVO aigcRespVO = JSON.parseObject(res, AigcRespVO.class); + if (aigcRespVO.isSuccess() && aigcRespVO.getData() != null){ + AigcAccountRespVO aigcAccountRespVO = JSON.parseObject(aigcRespVO.getData().toString(), AigcAccountRespVO.class); + log.info(" account:{}", aigcAccountRespVO); + return aigcAccountRespVO; } return null; } diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/vo/AigcAccountRespVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/vo/AigcAccountRespVO.java new file mode 100644 index 000000000..fd5858de2 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/vo/AigcAccountRespVO.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.llm.service.http.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class AigcAccountRespVO { + + // 租户列表,由于JSON中是一个数组,所以这里用List来表示 + private List tenants; + // 电子邮件地址 + private String email; + // 昵称 + private String nickname; + // 语言设置 + private String language; + + // 嵌套的Tenant类,用于表示租户信息 + @Data + @AllArgsConstructor + @NoArgsConstructor + public static class Tenant { + + // 租户ID + private String id; + // 租户名称 + private String name; + } +} diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/vo/AigcLoginRespVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/vo/AigcLoginRespVO.java index c8eca1fd3..1dc977f62 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/vo/AigcLoginRespVO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/vo/AigcLoginRespVO.java @@ -11,4 +11,5 @@ public class AigcLoginRespVO { private String token; private String username; + private String tenantId; } diff --git a/yudao-server/src/main/resources/application-dev.yaml b/yudao-server/src/main/resources/application-dev.yaml index 42aa99236..e75bc4b81 100644 --- a/yudao-server/src/main/resources/application-dev.yaml +++ b/yudao-server/src/main/resources/application-dev.yaml @@ -236,7 +236,7 @@ llm: models_list: http://localhost:8123/api/models # 登录 POST login: http://aigc.xhllm.xinnuojinzhi.com/api/auth/login - login_tenant_id: 5c4e33fb-7ae2-4a48-9a78-fb74e4634d16 + account: http://aigc.xhllm.xinnuojinzhi.com/api/auth/account login_username: admin login_password: admin # 创建微调任务 POST diff --git a/yudao-server/src/main/resources/application-local.yaml b/yudao-server/src/main/resources/application-local.yaml index db4453437..730f1668e 100644 --- a/yudao-server/src/main/resources/application-local.yaml +++ b/yudao-server/src/main/resources/application-local.yaml @@ -279,7 +279,7 @@ llm: models_list: http://localhost:8123/api/models # 登录 POST login: http://aigc.xhllm.xinnuojinzhi.com/api/auth/login - login_tenant_id: 5c4e33fb-7ae2-4a48-9a78-fb74e4634d16 + account: http://aigc.xhllm.xinnuojinzhi.com/api/auth/account login_username: admin login_password: admin # 创建微调任务 POST