mirror of
https://github.com/amithkoujalgi/ollama4j.git
synced 2025-05-15 11:57:12 +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 static io.github.amithkoujalgi.ollama4j.core.utils.Utils.getObjectMapper;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
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.io.File;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
@ -28,6 +32,7 @@ public class OllamaChatMessage {
|
|||||||
@NonNull
|
@NonNull
|
||||||
private String content;
|
private String content;
|
||||||
|
|
||||||
|
@JsonSerialize(using = FileToBase64Serializer.class)
|
||||||
private List<File> images;
|
private List<File> images;
|
||||||
|
|
||||||
@Override
|
@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