feat:langchain4j接入
This commit is contained in:
@@ -3,7 +3,10 @@ package com.xiang;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.core.env.Environment;
|
||||
|
||||
|
||||
@@ -1,40 +1,22 @@
|
||||
package com.xiang.xsa.xservice.ai.server;
|
||||
|
||||
import com.xiang.xservice.ai.agent.BaseAgent;
|
||||
import com.xiang.xservice.ai.core.enums.ModelTypeEnum;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.ai.chat.client.ChatClient;
|
||||
import org.springframework.ai.chat.client.advisor.MessageChatMemoryAdvisor;
|
||||
import org.springframework.ai.chat.client.advisor.SimpleLoggerAdvisor;
|
||||
import org.springframework.ai.chat.memory.ChatMemory;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import reactor.core.publisher.Flux;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class ChatController {
|
||||
|
||||
private final ChatClient chatClient;
|
||||
private final ChatMemory chatMemory;
|
||||
private final BaseAgent baseAgent;
|
||||
|
||||
@PostMapping("/chat")
|
||||
@GetMapping("/chat")
|
||||
public String chatDemo(@RequestParam("question") String question) {
|
||||
return chatClient.prompt(question).call().content();
|
||||
baseAgent.chat(ModelTypeEnum.OPEN_AI, question);
|
||||
return "321";
|
||||
}
|
||||
|
||||
@PostMapping(value = "/chatWithFlux")
|
||||
public Flux<String> chatWithFlux(@RequestParam("question") String question) {
|
||||
return chatClient.prompt(question).stream().content();
|
||||
}
|
||||
|
||||
@PostMapping("/chatWithConversionId")
|
||||
public String chatWithConversionId(@RequestParam("sessionId") String sessionId, @RequestParam("question") String question) {
|
||||
|
||||
return chatClient.prompt()
|
||||
.user(question)
|
||||
.advisors(
|
||||
MessageChatMemoryAdvisor.builder(chatMemory).conversationId(sessionId).build(), new SimpleLoggerAdvisor()
|
||||
)
|
||||
.call().content();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
spring:
|
||||
|
||||
datasource:
|
||||
url: jdbc:mysql://rm-bp15t34gqx62jm069ro.mysql.rds.aliyuncs.com:3306/xservice-ai-center?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
|
||||
username: root
|
||||
password: xb#UWqnhH24&XpX
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
ai:
|
||||
dashscope:
|
||||
api-key: sk-07353fd191074c9c930b134230ba88ea
|
||||
chat:
|
||||
options:
|
||||
model: qwen-plus
|
||||
http:
|
||||
connect-timeout: 30s
|
||||
read-timeout: 60s
|
||||
|
||||
ai:
|
||||
openai:
|
||||
configs:
|
||||
bai-lian:
|
||||
apiKey: sk-70cb426d7d1e4b54b4ffe71022e7d815
|
||||
modelName: qwen3.5-plus
|
||||
baseUrl: https://dashscope.aliyuncs.com/compatible-mode/v1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user