mirror of
https://github.com/ccmjga/zhilu-admin
synced 2026-03-14 13:43:42 +08:00
fix flyway depends bean
This commit is contained in:
@@ -1,23 +1,27 @@
|
||||
package com.zl.mjga.config.ai;
|
||||
|
||||
import com.zl.mjga.service.LlmService;
|
||||
import dev.langchain4j.community.model.zhipu.ZhipuAiStreamingChatModel;
|
||||
import dev.langchain4j.memory.chat.MessageWindowChatMemory;
|
||||
import dev.langchain4j.model.openai.OpenAiStreamingChatModel;
|
||||
import dev.langchain4j.service.AiServices;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.jooq.generated.mjga.enums.LlmCodeEnum;
|
||||
import org.jooq.generated.mjga.tables.pojos.AiLlmConfig;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.DependsOn;
|
||||
|
||||
@Configuration
|
||||
@RequiredArgsConstructor
|
||||
public class ChatModelConfig {
|
||||
|
||||
private final DeepSeekConfiguration deepSeekConfiguration;
|
||||
private final ZhiPuConfiguration zhiPuConfiguration;
|
||||
private final LlmService llmService;
|
||||
private final PromptConfiguration promptConfiguration;
|
||||
|
||||
@Bean
|
||||
public ZhipuAiStreamingChatModel zhipuChatModel() {
|
||||
@DependsOn("flywayInitializer")
|
||||
public ZhipuAiStreamingChatModel zhipuChatModel(ZhiPuConfiguration zhiPuConfiguration) {
|
||||
return ZhipuAiStreamingChatModel.builder()
|
||||
.model(zhiPuConfiguration.getModelName())
|
||||
.apiKey(zhiPuConfiguration.getApiKey())
|
||||
@@ -27,7 +31,8 @@ public class ChatModelConfig {
|
||||
}
|
||||
|
||||
@Bean
|
||||
public OpenAiStreamingChatModel deepSeekChatModel() {
|
||||
@DependsOn("flywayInitializer")
|
||||
public OpenAiStreamingChatModel deepSeekChatModel(DeepSeekConfiguration deepSeekConfiguration) {
|
||||
return OpenAiStreamingChatModel.builder()
|
||||
.baseUrl(deepSeekConfiguration.getBaseUrl())
|
||||
.apiKey(deepSeekConfiguration.getApiKey())
|
||||
@@ -36,6 +41,7 @@ public class ChatModelConfig {
|
||||
}
|
||||
|
||||
@Bean
|
||||
@DependsOn("flywayInitializer")
|
||||
public AiChatAssistant deepSeekChatAssistant(OpenAiStreamingChatModel deepSeekChatModel) {
|
||||
return AiServices.builder(AiChatAssistant.class)
|
||||
.streamingChatModel(deepSeekChatModel)
|
||||
@@ -45,6 +51,7 @@ public class ChatModelConfig {
|
||||
}
|
||||
|
||||
@Bean
|
||||
@DependsOn("flywayInitializer")
|
||||
public AiChatAssistant zhiPuChatAssistant(ZhipuAiStreamingChatModel zhipuChatModel) {
|
||||
return AiServices.builder(AiChatAssistant.class)
|
||||
.streamingChatModel(zhipuChatModel)
|
||||
@@ -52,4 +59,22 @@ public class ChatModelConfig {
|
||||
.chatMemoryProvider(memoryId -> MessageWindowChatMemory.withMaxMessages(10))
|
||||
.build();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@DependsOn("flywayInitializer")
|
||||
public DeepSeekConfiguration deepSeekConfiguration() {
|
||||
DeepSeekConfiguration deepSeekConfiguration = new DeepSeekConfiguration();
|
||||
AiLlmConfig deepSeek = llmService.loadConfig(LlmCodeEnum.DEEP_SEEK);
|
||||
deepSeekConfiguration.init(deepSeek);
|
||||
return deepSeekConfiguration;
|
||||
}
|
||||
|
||||
@Bean
|
||||
@DependsOn("flywayInitializer")
|
||||
public ZhiPuConfiguration zhiPuConfiguration() {
|
||||
ZhiPuConfiguration zhiPuConfiguration = new ZhiPuConfiguration();
|
||||
AiLlmConfig aiLlmConfig = llmService.loadConfig(LlmCodeEnum.ZHI_PU);
|
||||
zhiPuConfiguration.init(aiLlmConfig);
|
||||
return zhiPuConfiguration;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +1,18 @@
|
||||
package com.zl.mjga.config.ai;
|
||||
|
||||
import com.zl.mjga.service.LlmService;
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import lombok.Data;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.jooq.generated.default_schema.enums.LlmCodeEnum;
|
||||
import org.jooq.generated.mjga.tables.pojos.AiLlmConfig;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Data
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class DeepSeekConfiguration {
|
||||
|
||||
private String baseUrl;
|
||||
private String apiKey;
|
||||
private String modelName;
|
||||
|
||||
private final LlmService llmService;
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
AiLlmConfig aiLlmConfig = llmService.loadConfig(LlmCodeEnum.DEEP_SEEK);
|
||||
baseUrl = aiLlmConfig.getUrl();
|
||||
apiKey = aiLlmConfig.getApiKey();
|
||||
modelName = aiLlmConfig.getModelName();
|
||||
public void init(AiLlmConfig config) {
|
||||
this.baseUrl = config.getUrl();
|
||||
this.apiKey = config.getApiKey();
|
||||
this.modelName = config.getModelName();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
package com.zl.mjga.config.ai;
|
||||
|
||||
import com.zl.mjga.service.LlmService;
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import lombok.Data;
|
||||
import org.jooq.generated.default_schema.enums.LlmCodeEnum;
|
||||
import org.jooq.generated.mjga.tables.pojos.AiLlmConfig;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@@ -15,13 +12,9 @@ public class ZhiPuConfiguration {
|
||||
private String apiKey;
|
||||
private String modelName;
|
||||
|
||||
private final LlmService llmService;
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
AiLlmConfig aiLlmConfig = llmService.loadConfig(LlmCodeEnum.ZHI_PU);
|
||||
baseUrl = aiLlmConfig.getUrl();
|
||||
apiKey = aiLlmConfig.getApiKey();
|
||||
modelName = aiLlmConfig.getModelName();
|
||||
public void init(AiLlmConfig config) {
|
||||
this.baseUrl = config.getUrl();
|
||||
this.apiKey = config.getApiKey();
|
||||
this.modelName = config.getModelName();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.zl.mjga.config.ai.AiChatAssistant;
|
||||
import dev.langchain4j.service.TokenStream;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jooq.generated.default_schema.enums.LlmCodeEnum;
|
||||
import org.jooq.generated.mjga.enums.LlmCodeEnum;
|
||||
import org.jooq.generated.mjga.tables.pojos.AiLlmConfig;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jooq.Record;
|
||||
import org.jooq.Result;
|
||||
import org.jooq.generated.default_schema.enums.LlmCodeEnum;
|
||||
import org.jooq.generated.mjga.enums.LlmCodeEnum;
|
||||
import org.jooq.generated.mjga.tables.pojos.AiLlmConfig;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -66,7 +66,7 @@ CREATE TABLE mjga.user_position_map (
|
||||
FOREIGN KEY (position_id) REFERENCES mjga.position(id) ON UPDATE NO ACTION ON DELETE RESTRICT
|
||||
);
|
||||
|
||||
CREATE TYPE "llm_code_enum" AS ENUM (
|
||||
CREATE TYPE mjga.llm_code_enum AS ENUM (
|
||||
'DEEP_SEEK',
|
||||
'ZHI_PU'
|
||||
);
|
||||
@@ -75,7 +75,7 @@ CREATE TYPE "llm_code_enum" AS ENUM (
|
||||
CREATE TABLE mjga.ai_llm_config (
|
||||
id BIGSERIAL NOT NULL UNIQUE,
|
||||
name VARCHAR(255) NOT NULL UNIQUE,
|
||||
code LLM_CODE_ENUM NOT NULL UNIQUE,
|
||||
code mjga.llm_code_enum NOT NULL UNIQUE,
|
||||
model_name VARCHAR(255) NOT NULL,
|
||||
api_key VARCHAR(255) NOT NULL,
|
||||
url VARCHAR(255) NOT NULL,
|
||||
|
||||
@@ -30,5 +30,5 @@ VALUES (1, 1),
|
||||
|
||||
INSERT INTO mjga.ai_llm_config (name,code,model_name, api_key, url, enable, priority)
|
||||
VALUES
|
||||
('DeepSeek','DEEP_SEEK','deepseek-chat','', 'https://api.deepseek.com', false, 0),
|
||||
('智谱清言','ZHI_PU','glm-4-flash', '', 'https://open.bigmodel.cn/', false, 1);
|
||||
('DeepSeek','DEEP_SEEK','deepseek-chat','your_api_key', 'https://api.deepseek.com', false, 0),
|
||||
('智谱清言','ZHI_PU','glm-4-flash', 'your_api_key', 'https://open.bigmodel.cn/', false, 1);
|
||||
Reference in New Issue
Block a user