package com.ruoyi.ai.config;
|
|
import com.ruoyi.ai.store.MongoChatMemoryStore;
|
import dev.langchain4j.community.model.dashscope.QwenStreamingChatModel;
|
import dev.langchain4j.memory.chat.ChatMemoryProvider;
|
import dev.langchain4j.memory.chat.MessageWindowChatMemory;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
|
@Configuration
|
public class PurchaseAgentConfig {
|
|
@Bean
|
ChatMemoryProvider chatMemoryProviderPurchase(MongoChatMemoryStore mongoChatMemoryStore) {
|
return memoryId -> MessageWindowChatMemory.builder()
|
.id(memoryId)
|
.maxMessages(30)
|
.chatMemoryStore(mongoChatMemoryStore)
|
.build();
|
}
|
|
@Bean("purchaseVisionStreamingChatModel")
|
QwenStreamingChatModel purchaseVisionStreamingChatModel(
|
@Value("${langchain4j.community.dashscope.streaming-chat-model.api-key}") String apiKey) {
|
return QwenStreamingChatModel.builder()
|
.apiKey(apiKey)
|
.modelName("qwen-vl-max")
|
.isMultimodalModel(true)
|
.build();
|
}
|
}
|