Nomic: migrate from Gson to Jackson (#1774)
Fix https://github.com/langchain4j/langchain4j/issues/1674
This commit is contained in:
parent
43a263b71c
commit
cce0620c43
|
@ -26,7 +26,12 @@
|
|||
|
||||
<dependency>
|
||||
<groupId>com.squareup.retrofit2</groupId>
|
||||
<artifactId>converter-gson</artifactId>
|
||||
<artifactId>converter-jackson</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- DEPENDENCY CONFLICT RESOLUTION FOR OKHTTP (START) -->
|
||||
|
@ -103,4 +108,4 @@
|
|||
</pluginManagement>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
</project>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
package dev.langchain4j.model.nomic;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Builder
|
||||
@Getter
|
||||
class EmbeddingRequest {
|
||||
|
||||
private String model;
|
||||
|
|
|
@ -1,25 +1,28 @@
|
|||
package dev.langchain4j.model.nomic;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
||||
import com.fasterxml.jackson.databind.SerializationFeature;
|
||||
import dev.langchain4j.internal.Utils;
|
||||
import lombok.Builder;
|
||||
import okhttp3.OkHttpClient;
|
||||
import retrofit2.Retrofit;
|
||||
import retrofit2.converter.gson.GsonConverterFactory;
|
||||
import retrofit2.converter.jackson.JacksonConverterFactory;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Duration;
|
||||
|
||||
import static com.google.gson.FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES;
|
||||
import static dev.langchain4j.internal.ValidationUtils.ensureNotBlank;
|
||||
|
||||
class NomicClient {
|
||||
|
||||
private static final Gson GSON = new GsonBuilder()
|
||||
.setFieldNamingPolicy(LOWER_CASE_WITH_UNDERSCORES)
|
||||
.setPrettyPrinting()
|
||||
.create();
|
||||
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper()
|
||||
.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE)
|
||||
.enable(SerializationFeature.INDENT_OUTPUT)
|
||||
.setSerializationInclusion(JsonInclude.Include.NON_NULL)
|
||||
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||
|
||||
private final NomicApi nomicApi;
|
||||
private final String authorizationHeader;
|
||||
|
@ -43,7 +46,7 @@ class NomicClient {
|
|||
Retrofit retrofit = new Retrofit.Builder()
|
||||
.baseUrl(Utils.ensureTrailingForwardSlash(baseUrl))
|
||||
.client(okHttpClientBuilder.build())
|
||||
.addConverterFactory(GsonConverterFactory.create(GSON))
|
||||
.addConverterFactory(JacksonConverterFactory.create(OBJECT_MAPPER))
|
||||
.build();
|
||||
|
||||
this.nomicApi = retrofit.create(NomicApi.class);
|
||||
|
|
Loading…
Reference in New Issue