mirror of
https://github.com/tencentmusic/supersonic.git
synced 2026-04-23 07:34:20 +08:00
(improvement)(common) support zhipu in springboot (#1190)
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
package dev.langchain4j.zhipu.spring;
|
||||
|
||||
import static dev.langchain4j.zhipu.spring.Properties.PREFIX;
|
||||
|
||||
import dev.langchain4j.model.zhipu.ZhipuAiChatModel;
|
||||
import dev.langchain4j.model.zhipu.ZhipuAiEmbeddingModel;
|
||||
import dev.langchain4j.model.zhipu.ZhipuAiStreamingChatModel;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
@EnableConfigurationProperties(Properties.class)
|
||||
public class ZhipuAutoConfig {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnProperty(PREFIX + ".chat-model.api-key")
|
||||
ZhipuAiChatModel zhipuAiChatModel(Properties properties) {
|
||||
ChatModelProperties chatModelProperties = properties.getChatModel();
|
||||
return ZhipuAiChatModel.builder()
|
||||
.baseUrl(chatModelProperties.getBaseUrl())
|
||||
.apiKey(chatModelProperties.getApiKey())
|
||||
.model(chatModelProperties.getModel())
|
||||
.temperature(chatModelProperties.getTemperature())
|
||||
.topP(chatModelProperties.getTopP())
|
||||
.maxRetries(chatModelProperties.getMaxRetries())
|
||||
.maxToken(chatModelProperties.getMaxToken())
|
||||
.logRequests(chatModelProperties.getLogRequests())
|
||||
.logResponses(chatModelProperties.getLogResponses())
|
||||
.build();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnProperty(PREFIX + ".streaming-chat-model.api-key")
|
||||
ZhipuAiStreamingChatModel zhipuStreamingChatModel(Properties properties) {
|
||||
ChatModelProperties chatModelProperties = properties.getStreamingChatModel();
|
||||
return ZhipuAiStreamingChatModel.builder()
|
||||
.baseUrl(chatModelProperties.getBaseUrl())
|
||||
.apiKey(chatModelProperties.getApiKey())
|
||||
.model(chatModelProperties.getModel())
|
||||
.temperature(chatModelProperties.getTemperature())
|
||||
.topP(chatModelProperties.getTopP())
|
||||
.maxToken(chatModelProperties.getMaxToken())
|
||||
.logRequests(chatModelProperties.getLogRequests())
|
||||
.logResponses(chatModelProperties.getLogResponses())
|
||||
.build();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnProperty(PREFIX + ".embedding-model.api-key")
|
||||
ZhipuAiEmbeddingModel zhipuEmbeddingModel(Properties properties) {
|
||||
EmbeddingModelProperties embeddingModelProperties = properties.getEmbeddingModel();
|
||||
return ZhipuAiEmbeddingModel.builder()
|
||||
.baseUrl(embeddingModelProperties.getBaseUrl())
|
||||
.apiKey(embeddingModelProperties.getApiKey())
|
||||
.model(embeddingModelProperties.getModel())
|
||||
.maxRetries(embeddingModelProperties.getMaxRetries())
|
||||
.logRequests(embeddingModelProperties.getLogRequests())
|
||||
.logResponses(embeddingModelProperties.getLogResponses())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user