Browse Source

豆包多模态向量模型能正常工作

master
wanghanlin 20 hours ago
parent
commit
b8712ea489
  1. 33
      src/main/java/com/wok/supportbot/service/AiModelConfigService.java
  2. 2
      src/main/resources/application.yml

33
src/main/java/com/wok/supportbot/service/AiModelConfigService.java

@ -148,6 +148,8 @@ public class AiModelConfigService {
deactivateByAppType(config.getAppType()); deactivateByAppType(config.getAppType());
} }
aiModelConfigMapper.insert(config); aiModelConfigMapper.insert(config);
// JSONB 字段 MyBatis Plus typeHandler 可能不触发 JdbcTemplate 显式写入保证可靠
persistExtraConfig(config.getId(), config.getExtraConfig());
log.info("新建 AI 模型配置: name={}, appType={}, modelName={}", log.info("新建 AI 模型配置: name={}, appType={}, modelName={}",
config.getName(), config.getAppType(), config.getModelName()); config.getName(), config.getAppType(), config.getModelName());
return config; return config;
@ -184,6 +186,8 @@ public class AiModelConfigService {
// 设置 ID 确保更新正确 // 设置 ID 确保更新正确
config.setId(id); config.setId(id);
aiModelConfigMapper.updateById(config); aiModelConfigMapper.updateById(config);
// JSONB 字段 MyBatis Plus typeHandler 可能不触发 JdbcTemplate 显式写入保证可靠
persistExtraConfig(id, config.getExtraConfig());
log.info("更新 AI 模型配置: id={}", id); log.info("更新 AI 模型配置: id={}", id);
return aiModelConfigMapper.selectById(id); return aiModelConfigMapper.selectById(id);
} }
@ -265,4 +269,33 @@ public class AiModelConfigService {
} }
return apiKey.substring(0, 4) + "****" + apiKey.substring(apiKey.length() - 4); return apiKey.substring(0, 4) + "****" + apiKey.substring(apiKey.length() - 4);
} }
/**
* 显式持久化 extraConfig JSONB 字段
* MyBatis Plus insert/updateById 对带 typeHandler JSONB 字段可能不触发写入
* 使用 JdbcTemplate 显式更新保证数据可靠落库
*
* @param id 配置ID
* @param extraConfig 扩展配置 Map
*/
private void persistExtraConfig(Long id, Map<String, Object> extraConfig) {
if (id == null) {
return;
}
try {
String json;
if (extraConfig == null || extraConfig.isEmpty()) {
json = "{}";
} else {
com.fasterxml.jackson.databind.ObjectMapper om = new com.fasterxml.jackson.databind.ObjectMapper();
json = om.writeValueAsString(extraConfig);
}
jdbcTemplate.update(
"UPDATE ai_model_config SET extra_config = ?::jsonb WHERE id = ?",
json, id);
log.debug("持久化 extraConfig: id={}, extraConfig={}", id, json);
} catch (Exception e) {
log.warn("持久化 extraConfig 失败: id={}, error={}", id, e.getMessage());
}
}
} }

2
src/main/resources/application.yml

@ -98,6 +98,6 @@ logging:
level: level:
root: INFO root: INFO
com.wok.supportbot: DEBUG com.wok.supportbot: DEBUG
org.springframework.ai: DEBUG
org.springframework.ai: INFO
pattern: pattern:
console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n" console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
Loading…
Cancel
Save