上传备份

master
王兵 1 month ago
parent e9ce6f25d1
commit 1649e5782e

@ -11,7 +11,7 @@
<properties>
<java.version>17</java.version>
<!-- 需要jdk17以上 -->
<langchain4j.version>1.1.0</langchain4j.version>
<langchain4j.version>1.2.0</langchain4j.version>
</properties>
<repositories>
@ -32,6 +32,7 @@
<layout>default</layout>
</pluginRepository>
</pluginRepositories>
<build>
<plugins>
<plugin>
@ -102,6 +103,12 @@
<version>1.0.0-beta2</version>
</dependency>
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-mcp</artifactId>
<version>1.2.0-beta8</version>
</dependency>
<!-- 然语言处理工具包 -->
<dependency>
<groupId>com.hankcs</groupId>
@ -120,6 +127,7 @@
<artifactId>slf4j-api</artifactId>
<version>1.7.32</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>

@ -75,8 +75,8 @@ public class Helper {
.apiKey("1")
.modelName("qwen2.5:0.5b")
.maxTokens(4096)
.timeout(Duration.ofMinutes(50))
.responseFormat("json")
.timeout(Duration.ofSeconds(5))
//.responseFormat("json")
.logRequests(true)
.logResponses(true)
.build();
@ -89,13 +89,13 @@ public class Helper {
.build();
private static OpenAiChatModel toolChatModel = OpenAiChatModel.builder()
.baseUrl("http://192.168.88.106:11434/v1")
.baseUrl("http://192.168.88.105:11434/v1")
.apiKey("1")
.modelName("qwen2.5:0.5b")
.build();
private static OpenAiChatModel gemmaModel = OpenAiChatModel.builder()
.baseUrl("http://192.168.88.106:11434/v1")
.baseUrl("http://192.168.88.105:11434/v1")
.apiKey("1")
.modelName("gemma3:4b")
.build();

@ -35,6 +35,8 @@ public class Json_Example {
).build()
).build();
System.out.println(build1.toString());
ChatRequest build = ChatRequest.builder()
.messages(UserMessage.from("返回中国古代任意三个朝代"))
.responseFormat(build1)

@ -0,0 +1,77 @@
package xyz.wbsite.ai;
import dev.langchain4j.agent.tool.ToolSpecification;
import dev.langchain4j.mcp.McpToolProvider;
import dev.langchain4j.mcp.client.DefaultMcpClient;
import dev.langchain4j.mcp.client.McpClient;
import dev.langchain4j.mcp.client.McpPrompt;
import dev.langchain4j.mcp.client.McpResource;
import dev.langchain4j.mcp.client.McpResourceTemplate;
import dev.langchain4j.mcp.client.transport.McpTransport;
import dev.langchain4j.mcp.client.transport.http.HttpMcpTransport;
import dev.langchain4j.model.chat.ChatModel;
import dev.langchain4j.model.openai.OpenAiChatModel;
import dev.langchain4j.service.AiServices;
import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.tool.ToolProvider;
import java.time.Duration;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
/**
* Mcp_Example
*/
public class Mcp_Example {
public static void main(String[] args) throws Exception {
OpenAiChatModel chatModel = Helper.getChatModel();
// 1. 异步初始化 MCP 客户端
HttpMcpTransport mcpTransport = new HttpMcpTransport.Builder()
.sseUrl("http://192.168.9.100:8080/sse")
// .sseUrl("http://192.168.9.100:8080/mcp/sse")
.logRequests(true)
.logResponses(true)
.timeout(Duration.ZERO)
.build();
McpClient mcpClient = new DefaultMcpClient.Builder()
.transport(mcpTransport)
.clientVersion("v1")
.protocolVersion("2024-11-05")
.toolExecutionTimeout(Duration.ZERO)
.build();
// List<McpPrompt> mcpPrompts = mcpClient.listPrompts();
// List<McpResource> mcpResources = mcpClient.listResources();
// List<ToolSpecification> toolSpecifications = mcpClient.listTools();
// List<McpResourceTemplate> mcpResourceTemplates = mcpClient.listResourceTemplates();
McpToolProvider mcpToolProvider = new McpToolProvider.Builder()
.mcpClients(List.of(mcpClient))
.build();
Assistant assistant = AiServices.builder(Assistant.class)
.chatModel(chatModel)
.toolProvider(mcpToolProvider)
.build();
String chat = assistant.chat("今天,泰州的天气怎么样");
System.out.println(chat);
}
/**
*
*/
interface Assistant {
@SystemMessage("请参考提供资料,不要发散,没有请直接回答没有")
String chat(String userMessage);
}
}
Loading…
Cancel
Save

Powered by TurnKey Linux.