diff --git a/base/src/main/java/com/tinyengine/it/model/dto/ChatRequest.java b/base/src/main/java/com/tinyengine/it/model/dto/ChatRequest.java index 79711779..7a210a22 100644 --- a/base/src/main/java/com/tinyengine/it/model/dto/ChatRequest.java +++ b/base/src/main/java/com/tinyengine/it/model/dto/ChatRequest.java @@ -15,6 +15,7 @@ import lombok.Data; import java.util.List; +import java.util.Map; /** * ChatRequest dto @@ -27,6 +28,7 @@ public class ChatRequest { private String apiKey; private String baseUrl; private List messages; + private List> tools; private Double temperature = 0.7; private boolean stream = false; // 流式开关 } diff --git a/base/src/main/java/com/tinyengine/it/service/app/impl/v1/AiChatV1ServiceImpl.java b/base/src/main/java/com/tinyengine/it/service/app/impl/v1/AiChatV1ServiceImpl.java index 9c3bd87d..43b76a02 100644 --- a/base/src/main/java/com/tinyengine/it/service/app/impl/v1/AiChatV1ServiceImpl.java +++ b/base/src/main/java/com/tinyengine/it/service/app/impl/v1/AiChatV1ServiceImpl.java @@ -58,8 +58,9 @@ public class AiChatV1ServiceImpl implements AiChatV1Service { public Object chatCompletion(ChatRequest request) throws Exception { String requestBody = buildRequestBody(request); String apiKey = request.getApiKey() != null ? request.getApiKey() : config.getApiKey(); + String baseUrl = request.getBaseUrl() != null ? request.getBaseUrl() : config.getBaseUrl(); HttpRequest.Builder requestBuilder = HttpRequest.newBuilder() - .uri(URI.create(request.getBaseUrl() != null ? request.getBaseUrl() : config.getBaseUrl())) + .uri(URI.create(baseUrl)) .header("Content-Type", "application/json") .header("Authorization", "Bearer " + apiKey) .POST(HttpRequest.BodyPublishers.ofString(requestBody)); @@ -78,6 +79,7 @@ private String buildRequestBody(ChatRequest request) throws JsonProcessingExcept body.put("messages", request.getMessages()); body.put("temperature", request.getTemperature()); body.put("stream", request.isStream()); + body.put("tools", request.getTools()); return JsonUtils.encode(body); }