package com.vincent.rsf.server.ai.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @Data @Configuration @ConfigurationProperties(prefix = "ai") public class AiProperties { private String gatewayBaseUrl = "http://127.0.0.1:8086"; private Integer sessionTtlSeconds = 86400; private Integer maxContextMessages = 12; private String systemPrompt = "你是WMS系统内的智能助手,回答时优先保持准确、简洁,并结合上下文帮助用户理解仓储业务。"; private String defaultModelCode = "mock-general"; private List models = new ArrayList<>(); public List getEnabledModels() { return models.stream().filter(model -> Boolean.TRUE.equals(model.getEnabled())).collect(Collectors.toList()); } public String resolveDefaultModelCode() { if (defaultModelCode != null && !defaultModelCode.trim().isEmpty()) { return defaultModelCode; } return getEnabledModels().isEmpty() ? "mock-general" : getEnabledModels().get(0).getCode(); } @Data public static class ModelConfig { private String code; private String name; private String provider; private Boolean enabled = true; } }