diff --git a/pom.xml b/pom.xml
index a0542ee..4057956 100644
--- a/pom.xml
+++ b/pom.xml
@@ -56,6 +56,11 @@
langchain4j-ollama
${langchain4j.version}
+
+ dev.langchain4j
+ langchain4j-easy-rag
+ ${langchain4j.version}
+
dev.langchain4j
langchain4j-embeddings
diff --git a/src/main/java/xyz/wbsite/ai/Main.java b/src/main/java/xyz/wbsite/ai/Main.java
index f8cf0e0..ece5429 100644
--- a/src/main/java/xyz/wbsite/ai/Main.java
+++ b/src/main/java/xyz/wbsite/ai/Main.java
@@ -3,12 +3,15 @@ package xyz.wbsite.ai;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.json.JSONUtil;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
-import dev.langchain4j.data.message.AiMessage;
-import dev.langchain4j.data.message.ChatMessage;
-import dev.langchain4j.data.message.UserMessage;
+import dev.langchain4j.agent.tool.ToolSpecification;
+import dev.langchain4j.data.message.*;
import dev.langchain4j.model.chat.ChatLanguageModel;
import dev.langchain4j.model.chat.StreamingChatLanguageModel;
import dev.langchain4j.model.chat.request.ChatRequest;
+import dev.langchain4j.model.chat.request.ChatRequestParameters;
+import dev.langchain4j.model.chat.request.ChatRequestParametersBuilder;
+import dev.langchain4j.model.chat.request.DefaultChatRequestParameters;
+import dev.langchain4j.model.chat.request.json.JsonObjectSchema;
import dev.langchain4j.model.chat.response.ChatResponse;
import dev.langchain4j.model.chat.response.StreamingChatResponseHandler;
import dev.langchain4j.model.ollama.OllamaChatModel;
@@ -20,9 +23,9 @@ import dev.langchain4j.model.ollama.OllamaStreamingChatModel;
public class Main {
public static void main(String[] args) {
-
// testSimpleChat(args);
- testStreamChat(args);
+// testStreamChat(args);
+ testTool(args);
}
public static void testSimpleChat(String[] args) {
@@ -88,4 +91,27 @@ public class Main {
ThreadUtil.safeSleep(1000);
}
}
+
+ public static void testTool(String[] args) {
+ ChatLanguageModel model = OllamaChatModel.builder()
+ .baseUrl("http://36.138.207.178:11434")
+ .modelName("deepseek-r1:32B")
+ .build();
+
+ ToolSpecification build1 = ToolSpecification.builder().name("weather").parameters(JsonObjectSchema.builder().addStringProperty("城市").build()).build();
+ ChatRequestParameters build2 = DefaultChatRequestParameters.builder().toolSpecifications(build1).build();
+
+ ChatRequest build = ChatRequest.builder()
+ .messages(new ChatMessage[]{
+ UserMessage.from("请问,泰州市明天的天气怎么样?"),
+ SystemMessage.from("请使用天气工具"),
+ })
+ .parameters(build2)
+ .build();
+
+
+ ChatResponse chat = model.chat(build);
+ System.out.println(chat.aiMessage().text());
+
+ }
}
\ No newline at end of file