|
|
|
@ -3,6 +3,7 @@ package xyz.wbsite.ai;
|
|
|
|
|
import cn.hutool.core.thread.ThreadUtil;
|
|
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
|
|
import com.fasterxml.jackson.annotation.JsonUnwrapped;
|
|
|
|
|
import dev.langchain4j.agent.tool.ToolExecutionRequest;
|
|
|
|
|
import dev.langchain4j.agent.tool.ToolSpecification;
|
|
|
|
|
import dev.langchain4j.data.message.*;
|
|
|
|
|
import dev.langchain4j.model.chat.ChatLanguageModel;
|
|
|
|
@ -16,6 +17,9 @@ import dev.langchain4j.model.chat.response.ChatResponse;
|
|
|
|
|
import dev.langchain4j.model.chat.response.StreamingChatResponseHandler;
|
|
|
|
|
import dev.langchain4j.model.ollama.OllamaChatModel;
|
|
|
|
|
import dev.langchain4j.model.ollama.OllamaStreamingChatModel;
|
|
|
|
|
import dev.langchain4j.model.openai.OpenAiChatModel;
|
|
|
|
|
import dev.langchain4j.model.openai.OpenAiStreamingChatModel;
|
|
|
|
|
import dev.langchain4j.service.tool.ToolExecutor;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 主函数入口
|
|
|
|
@ -98,7 +102,18 @@ public class Main {
|
|
|
|
|
.modelName("deepseek-r1:32B")
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
ToolSpecification build1 = ToolSpecification.builder().name("weather").parameters(JsonObjectSchema.builder().addStringProperty("城市").build()).build();
|
|
|
|
|
ToolSpecification build1 = ToolSpecification.builder()
|
|
|
|
|
.name("获取天气")
|
|
|
|
|
.description("返回指定城市的天气")
|
|
|
|
|
.parameters(JsonObjectSchema.builder().addStringProperty("城市").build())
|
|
|
|
|
.build();
|
|
|
|
|
ToolExecutor toolExecutor = new ToolExecutor() {
|
|
|
|
|
public String execute(ToolExecutionRequest toolExecutionRequest, Object o) {
|
|
|
|
|
System.out.println();
|
|
|
|
|
return "=============";
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
ChatRequestParameters build2 = DefaultChatRequestParameters.builder().toolSpecifications(build1).build();
|
|
|
|
|
|
|
|
|
|
ChatRequest build = ChatRequest.builder()
|
|
|
|
|