58 lines
2.5 KiB
Java
58 lines
2.5 KiB
Java
package com.imeeting.controller.android;
|
|
|
|
import com.imeeting.dto.android.AndroidAuthContext;
|
|
import com.imeeting.dto.biz.AiModelVO;
|
|
import com.imeeting.service.android.AndroidAuthService;
|
|
import com.imeeting.service.biz.AiModelService;
|
|
import com.imeeting.support.AndroidRequestLogHelper;
|
|
import com.unisbase.common.ApiResponse;
|
|
import com.unisbase.dto.PageResult;
|
|
import com.unisbase.security.LoginUser;
|
|
import io.swagger.v3.oas.annotations.media.ArraySchema;
|
|
import io.swagger.v3.oas.annotations.media.Content;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
import java.util.List;
|
|
|
|
@Tag(name = "Android模型接口")
|
|
@RestController
|
|
@RequestMapping("/api/android/llm-models")
|
|
@RequiredArgsConstructor
|
|
@Slf4j
|
|
public class AndroidLlmModelController {
|
|
|
|
private final AndroidAuthService androidAuthService;
|
|
private final AiModelService aiModelService;
|
|
|
|
@Operation(summary = "查询启用的大模型列表")
|
|
@ApiResponses({
|
|
@io.swagger.v3.oas.annotations.responses.ApiResponse(
|
|
responseCode = "200",
|
|
description = "返回当前租户下启用的大语言模型列表",
|
|
content = @Content(array = @ArraySchema(schema = @Schema(implementation = AiModelVO.class)))
|
|
)
|
|
})
|
|
@GetMapping("/active")
|
|
public ApiResponse<List<AiModelVO>> activeModels(HttpServletRequest request) {
|
|
AndroidRequestLogHelper.logRequest(log, "Android模型", "查询启用大模型列表接口");
|
|
AndroidAuthContext authContext = androidAuthService.authenticateHttp(request);
|
|
LoginUser loginUser = AndroidLoginUserSupport.requireLoginUser(authContext);
|
|
PageResult<List<AiModelVO>> result = aiModelService.pageModels(1, 1000, null, "LLM", loginUser.getTenantId(), false);
|
|
List<AiModelVO> enabledModels = result.getRecords() == null
|
|
? List.of()
|
|
: result.getRecords().stream()
|
|
.filter(item -> Integer.valueOf(1).equals(item.getStatus()))
|
|
.toList();
|
|
return ApiResponse.ok(enabledModels);
|
|
}
|
|
}
|