feat(ai): restClient和webClient提供给其他类使用
This commit is contained in:
@@ -1,17 +1,13 @@
|
||||
package com.lanyuanxiaoyao.service.ai.chat;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import java.net.http.HttpClient;
|
||||
import com.lanyuanxiaoyao.service.ai.core.configuration.WebClientConfiguration;
|
||||
import org.springframework.ai.chat.client.ChatClient;
|
||||
import org.springframework.ai.openai.OpenAiChatModel;
|
||||
import org.springframework.ai.openai.OpenAiChatOptions;
|
||||
import org.springframework.ai.openai.api.OpenAiApi;
|
||||
import org.springframework.ai.tool.annotation.Tool;
|
||||
import org.springframework.ai.tool.annotation.ToolParam;
|
||||
import org.springframework.http.client.JdkClientHttpRequestFactory;
|
||||
import org.springframework.http.client.reactive.JdkClientHttpConnector;
|
||||
import org.springframework.web.client.RestClient;
|
||||
import org.springframework.web.reactive.function.client.WebClient;
|
||||
import reactor.core.Disposable;
|
||||
|
||||
/**
|
||||
@@ -26,8 +22,8 @@ public class TestSpringAiTools {
|
||||
OpenAiApi.builder()
|
||||
.baseUrl("http://132.121.206.65:10086")
|
||||
.apiKey("*XMySqV%>hR&v>>g*NwCs3tpQ5FVMFEF2VHVTj<MYQd$&@$sY7CgqNyea4giJi4")
|
||||
.restClientBuilder(restClientBuilder())
|
||||
.webClientBuilder(webClientBuilder())
|
||||
.restClientBuilder(WebClientConfiguration.generateRestClientBuilder())
|
||||
.webClientBuilder(WebClientConfiguration.generateWebClientBuilder())
|
||||
.build()
|
||||
)
|
||||
.defaultOptions(
|
||||
@@ -48,22 +44,6 @@ public class TestSpringAiTools {
|
||||
}
|
||||
}
|
||||
|
||||
private static HttpClient httpClient() {
|
||||
return HttpClient.newBuilder()
|
||||
.version(HttpClient.Version.HTTP_1_1)
|
||||
.build();
|
||||
}
|
||||
|
||||
private static RestClient.Builder restClientBuilder() {
|
||||
return RestClient.builder()
|
||||
.requestFactory(new JdkClientHttpRequestFactory(httpClient()));
|
||||
}
|
||||
|
||||
private static WebClient.Builder webClientBuilder() {
|
||||
return WebClient.builder()
|
||||
.clientConnector(new JdkClientHttpConnector(httpClient()));
|
||||
}
|
||||
|
||||
public static final class TestTool {
|
||||
@Tool(description = "传入任意动物名称,返回一个关于这个动物的笑话")
|
||||
public String submit(@ToolParam(description = "动物名称") String animalName) {
|
||||
|
||||
Reference in New Issue
Block a user