Ollama4j
A Java library (wrapper/binding) for Ollama server.
Loading...
Searching...
No Matches
OllamaChatMessage.java
Go to the documentation of this file.
1package io.github.ollama4j.models.chat;
2
3import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4import com.fasterxml.jackson.annotation.JsonProperty;
5import com.fasterxml.jackson.core.JsonProcessingException;
6import com.fasterxml.jackson.databind.annotation.JsonSerialize;
7import io.github.ollama4j.utils.FileToBase64Serializer;
8import lombok.*;
9
10import java.util.List;
11
12import static io.github.ollama4j.utils.Utils.getObjectMapper;
13
19@Data
20@AllArgsConstructor
21@RequiredArgsConstructor
22@NoArgsConstructor
23@JsonIgnoreProperties(ignoreUnknown = true)
24public class OllamaChatMessage {
25
26 @NonNull
27 private OllamaChatMessageRole role;
28
29 @NonNull
30 private String content;
31
32 private String thinking;
33
34 private @JsonProperty("tool_calls") List<OllamaChatToolCalls> toolCalls;
35
36 @JsonSerialize(using = FileToBase64Serializer.class)
37 private List<byte[]> images;
38
39 @Override
40 public String toString() {
41 try {
42 return getObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(this);
43 } catch (JsonProcessingException e) {
44 throw new RuntimeException(e);
45 }
46 }
47}