MCPcopy Create free account
hub / github.com/LQF-dev/smart-hr / ModelRouter

Class ModelRouter

back/src/main/java/com/smarthr/service/ai/ModelRouter.java:22–137  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

20import java.util.stream.Collectors;
21
22@Slf4j
23@Service
24@RequiredArgsConstructor
25public class ModelRouter {
26
27 private final ModelRegistry modelRegistry;
28 private final AIModelProperties aiModelProperties;
29 private final UserRepository userRepository;
30
31 /**
32 * 获取当前模型适配器(无用户上下文,走默认模型)
33 */
34 public AIModelAdapter route() {
35 return getDefaultAdapter();
36 }
37
38 /**
39 * 获取指定用户的模型适配器
40 */
41 public AIModelAdapter route(Long userId) {
42 return resolveAdapter(userId);
43 }
44
45 /**
46 * 获取当前模型信息
47 */
48 public Map<String, Object> getCurrentModelInfo() {
49 AIModelAdapter adapter = resolveAdapter(null);
50 return Map.of(
51 "modelId", adapter.getModelId(),
52 "modelName", adapter.getModelName(),
53 "enabled", adapter.isEnabled()
54 );
55 }
56
57 /**
58 * 获取指定用户的当前模型信息
59 */
60 public Map<String, Object> getCurrentModelInfo(Long userId) {
61 AIModelAdapter adapter = resolveAdapter(userId);
62 return Map.of(
63 "modelId", adapter.getModelId(),
64 "modelName", adapter.getModelName(),
65 "enabled", adapter.isEnabled()
66 );
67 }
68
69 /**
70 * 获取所有可用的模型列表
71 */
72 public List<Map<String, Object>> getAvailableModels() {
73 String currentId = getDefaultAdapter().getModelId();
74 return buildModelList(currentId);
75 }
76
77 /**
78 * 获取指定用户可用模型列表,并标记当前模型
79 */

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected