Add vertex ai autoconfig and spring boot
- Add Vertex AI Autoconfigurations for chat and embedding clients. - Factor out the embeding client dimensions() computation into an abstract parent AbstractEmbeddingClient. - Add ITs - Vertex dos.
This commit is contained in:
@@ -6,7 +6,6 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
@@ -25,7 +24,7 @@ import org.springframework.util.StringUtils;
|
||||
*
|
||||
* @author Toshiaki Maki
|
||||
*/
|
||||
public class PostgresMlEmbeddingClient implements EmbeddingClient, InitializingBean {
|
||||
public class PostgresMlEmbeddingClient extends AbstractEmbeddingClient implements InitializingBean {
|
||||
|
||||
private final JdbcTemplate jdbcTemplate;
|
||||
|
||||
@@ -35,8 +34,6 @@ public class PostgresMlEmbeddingClient implements EmbeddingClient, InitializingB
|
||||
|
||||
private final String kwargs;
|
||||
|
||||
private final AtomicInteger embeddingDimensions = new AtomicInteger(-1);
|
||||
|
||||
private final MetadataMode metadataMode;
|
||||
|
||||
public enum VectorType {
|
||||
@@ -162,14 +159,6 @@ public class PostgresMlEmbeddingClient implements EmbeddingClient, InitializingB
|
||||
Map.of("transformer", this.transformer, "vector-type", this.vectorType.name(), "kwargs", this.kwargs));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int dimensions() {
|
||||
if (this.embeddingDimensions.get() < 0) {
|
||||
this.embeddingDimensions.set(EmbeddingUtil.dimensions(this, this.transformer));
|
||||
}
|
||||
return this.embeddingDimensions.get();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
this.jdbcTemplate.execute("CREATE EXTENSION IF NOT EXISTS pgml");
|
||||
|
||||
Reference in New Issue
Block a user