mirror of
https://github.com/amithkoujalgi/ollama4j.git
synced 2025-05-15 03:47:13 +02:00
Adds base64 encoding for chat-API request messages
This commit is contained in:
parent
bbcd458849
commit
ca613ed80a
@ -3,6 +3,10 @@ package io.github.amithkoujalgi.ollama4j.core.models.chat;
|
||||
import static io.github.amithkoujalgi.ollama4j.core.utils.Utils.getObjectMapper;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
|
||||
import io.github.amithkoujalgi.ollama4j.core.utils.FileToBase64Serializer;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
@ -28,6 +32,7 @@ public class OllamaChatMessage {
|
||||
@NonNull
|
||||
private String content;
|
||||
|
||||
@JsonSerialize(using = FileToBase64Serializer.class)
|
||||
private List<File> images;
|
||||
|
||||
@Override
|
||||
|
@ -0,0 +1,31 @@
|
||||
package io.github.amithkoujalgi.ollama4j.core.utils;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.util.Base64;
|
||||
import java.util.Collection;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonGenerator;
|
||||
import com.fasterxml.jackson.databind.JsonSerializer;
|
||||
import com.fasterxml.jackson.databind.SerializerProvider;
|
||||
|
||||
public class FileToBase64Serializer extends JsonSerializer<Collection<File>> {
|
||||
|
||||
@Override
|
||||
public void serialize(Collection<File> value, JsonGenerator jsonGenerator, SerializerProvider serializers) throws IOException {
|
||||
jsonGenerator.writeStartArray();
|
||||
for (File file : value) {
|
||||
jsonGenerator.writeString(Base64.getEncoder().encodeToString(serialize(file)));
|
||||
}
|
||||
jsonGenerator.writeEndArray();
|
||||
}
|
||||
|
||||
public static byte[] serialize(Object obj) throws IOException {
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
ObjectOutputStream os = new ObjectOutputStream(out);
|
||||
os.writeObject(obj);
|
||||
return out.toByteArray();
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user