52 public OllamaResult(String response, String thinking,
long responseTime,
int httpStatusCode) {
53 this.response = response;
54 this.thinking = thinking;
55 this.responseTime = responseTime;
56 this.httpStatusCode = httpStatusCode;
62 Map<String, Object> responseMap =
new HashMap<>();
63 responseMap.put(
"response", this.response);
64 responseMap.put(
"thinking", this.thinking);
65 responseMap.put(
"httpStatusCode", this.httpStatusCode);
66 responseMap.put(
"responseTime", this.responseTime);
67 responseMap.put(
"model", this.model);
68 responseMap.put(
"createdAt", this.createdAt);
69 responseMap.put(
"done", this.done);
70 responseMap.put(
"doneReason", this.doneReason);
71 responseMap.put(
"context", this.context);
72 responseMap.put(
"totalDuration", this.totalDuration);
73 responseMap.put(
"loadDuration", this.loadDuration);
74 responseMap.put(
"promptEvalCount", this.promptEvalCount);
75 responseMap.put(
"promptEvalDuration", this.promptEvalDuration);
76 responseMap.put(
"evalCount", this.evalCount);
77 responseMap.put(
"evalDuration", this.evalDuration);
78 return getObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(responseMap);
79 }
catch (JsonProcessingException e) {
80 throw new RuntimeException(e);
91 String responseStr = this.getResponse();
92 if (responseStr ==
null || responseStr.trim().isEmpty()) {
93 throw new IllegalArgumentException(
"Response is empty or null");
98 if ((!responseStr.trim().startsWith(
"{") && !responseStr.trim().startsWith(
"[")) ||
99 (!responseStr.trim().endsWith(
"}") && !responseStr.trim().endsWith(
"]"))) {
100 throw new IllegalArgumentException(
"Response is not a valid JSON object");
103 Map<String, Object> response = getObjectMapper().readValue(responseStr,
104 new TypeReference<Map<String, Object>>() {
107 }
catch (JsonProcessingException e) {
108 throw new IllegalArgumentException(
"Failed to parse response as JSON: " + e.getMessage(), e);