From 3a905d7fb1128907f8c24330bcf3a2fb31f79577 Mon Sep 17 00:00:00 2001 From: lexluo09 <39718951+lexluo09@users.noreply.github.com> Date: Thu, 24 Oct 2024 22:59:35 +0800 Subject: [PATCH] [improvement][chat] Milvus supports setting the user and password parameters (#1845) --- .../config/EmbeddingStoreParameterConfig.java | 25 ++++++++++++++----- .../common/pojo/EmbeddingStoreConfig.java | 1 + .../spring/EmbeddingStoreProperties.java | 2 +- .../spring/MilvusEmbeddingStoreFactory.java | 2 +- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/common/src/main/java/com/tencent/supersonic/common/config/EmbeddingStoreParameterConfig.java b/common/src/main/java/com/tencent/supersonic/common/config/EmbeddingStoreParameterConfig.java index 8a5da2131..69a6b7ae4 100644 --- a/common/src/main/java/com/tencent/supersonic/common/config/EmbeddingStoreParameterConfig.java +++ b/common/src/main/java/com/tencent/supersonic/common/config/EmbeddingStoreParameterConfig.java @@ -50,12 +50,16 @@ public class EmbeddingStoreParameterConfig extends ParameterConfig { public static final Parameter EMBEDDING_STORE_USER = new Parameter("s2.embedding.store.user", "", "用户名", "", "string", MODULE_NAME, null, getUserDependency()); + public static final Parameter EMBEDDING_STORE_PASSWORD = + new Parameter("s2.embedding.store.password", "", "密码", "", "password", MODULE_NAME, + null, getPasswordDependency()); + @Override public List getSysParameters() { return Lists.newArrayList(EMBEDDING_STORE_PROVIDER, EMBEDDING_STORE_BASE_URL, - EMBEDDING_STORE_POST, EMBEDDING_STORE_USER, EMBEDDING_STORE_API_KEY, - EMBEDDING_STORE_DATABASE_NAME, EMBEDDING_STORE_PERSIST_PATH, - EMBEDDING_STORE_TIMEOUT, EMBEDDING_STORE_DIMENSION); + EMBEDDING_STORE_POST, EMBEDDING_STORE_USER, EMBEDDING_STORE_PASSWORD, + EMBEDDING_STORE_API_KEY, EMBEDDING_STORE_DATABASE_NAME, + EMBEDDING_STORE_PERSIST_PATH, EMBEDDING_STORE_TIMEOUT, EMBEDDING_STORE_DIMENSION); } public EmbeddingStoreConfig convert() { @@ -74,9 +78,10 @@ public class EmbeddingStoreParameterConfig extends ParameterConfig { port = Integer.valueOf(getParameterValue(EMBEDDING_STORE_POST)); } String user = getParameterValue(EMBEDDING_STORE_USER); + String password = getParameterValue(EMBEDDING_STORE_PASSWORD); return EmbeddingStoreConfig.builder().provider(provider).baseUrl(baseUrl).apiKey(apiKey) .persistPath(persistPath).databaseName(databaseName).timeOut(Long.valueOf(timeOut)) - .dimension(dimension).post(port).user(user).build(); + .dimension(dimension).post(port).user(user).password(password).build(); } private static ArrayList getCandidateValues() { @@ -132,7 +137,15 @@ public class EmbeddingStoreParameterConfig extends ParameterConfig { private static List getUserDependency() { return getDependency(EMBEDDING_STORE_PROVIDER.getName(), - Lists.newArrayList(EmbeddingStoreType.PGVECTOR.name()), - ImmutableMap.of(EmbeddingStoreType.PGVECTOR.name(), "pgvector")); + Lists.newArrayList(EmbeddingStoreType.MILVUS.name(), + EmbeddingStoreType.PGVECTOR.name()), + ImmutableMap.of(EmbeddingStoreType.MILVUS.name(), "milvus", + EmbeddingStoreType.PGVECTOR.name(), "pgvector")); + } + + private static List getPasswordDependency() { + return getDependency(EMBEDDING_STORE_PROVIDER.getName(), + Lists.newArrayList(EmbeddingStoreType.MILVUS.name()), + ImmutableMap.of(EmbeddingStoreType.MILVUS.name(), "milvus")); } } diff --git a/common/src/main/java/com/tencent/supersonic/common/pojo/EmbeddingStoreConfig.java b/common/src/main/java/com/tencent/supersonic/common/pojo/EmbeddingStoreConfig.java index eafdd60a0..374544594 100644 --- a/common/src/main/java/com/tencent/supersonic/common/pojo/EmbeddingStoreConfig.java +++ b/common/src/main/java/com/tencent/supersonic/common/pojo/EmbeddingStoreConfig.java @@ -24,4 +24,5 @@ public class EmbeddingStoreConfig implements Serializable { private String databaseName; private Integer post; private String user; + private String password; } diff --git a/common/src/main/java/dev/langchain4j/milvus/spring/EmbeddingStoreProperties.java b/common/src/main/java/dev/langchain4j/milvus/spring/EmbeddingStoreProperties.java index 52530a7f0..b2622d43c 100644 --- a/common/src/main/java/dev/langchain4j/milvus/spring/EmbeddingStoreProperties.java +++ b/common/src/main/java/dev/langchain4j/milvus/spring/EmbeddingStoreProperties.java @@ -18,7 +18,7 @@ class EmbeddingStoreProperties { private IndexType indexType; private MetricType metricType; private String token; - private String username; + private String user; private String password; private ConsistencyLevelEnum consistencyLevel; private Boolean retrieveEmbeddingsOnSearch; diff --git a/common/src/main/java/dev/langchain4j/milvus/spring/MilvusEmbeddingStoreFactory.java b/common/src/main/java/dev/langchain4j/milvus/spring/MilvusEmbeddingStoreFactory.java index eca6aa7d5..7f137a45f 100644 --- a/common/src/main/java/dev/langchain4j/milvus/spring/MilvusEmbeddingStoreFactory.java +++ b/common/src/main/java/dev/langchain4j/milvus/spring/MilvusEmbeddingStoreFactory.java @@ -33,7 +33,7 @@ public class MilvusEmbeddingStoreFactory extends BaseEmbeddingStoreFactory { .port(storeProperties.getPort()).collectionName(collectionName) .dimension(storeProperties.getDimension()).indexType(storeProperties.getIndexType()) .metricType(storeProperties.getMetricType()).uri(storeProperties.getUri()) - .token(storeProperties.getToken()).username(storeProperties.getUsername()) + .token(storeProperties.getToken()).username(storeProperties.getUser()) .password(storeProperties.getPassword()) .consistencyLevel(storeProperties.getConsistencyLevel()) .retrieveEmbeddingsOnSearch(storeProperties.getRetrieveEmbeddingsOnSearch())