mirror of
https://github.com/tencentmusic/supersonic.git
synced 2026-04-28 20:04:27 +08:00
(improvement)(chat) Support embedding store configuration. (#1363)
This commit is contained in:
@@ -1,17 +1,32 @@
|
||||
package dev.langchain4j.milvus.spring;
|
||||
|
||||
import com.tencent.supersonic.common.config.EmbeddingStoreConfig;
|
||||
import dev.langchain4j.data.segment.TextSegment;
|
||||
import dev.langchain4j.store.embedding.BaseEmbeddingStoreFactory;
|
||||
import dev.langchain4j.store.embedding.EmbeddingStore;
|
||||
import dev.langchain4j.store.embedding.milvus.MilvusEmbeddingStore;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
public class MilvusEmbeddingStoreFactory extends BaseEmbeddingStoreFactory {
|
||||
private final Properties properties;
|
||||
|
||||
public MilvusEmbeddingStoreFactory(EmbeddingStoreConfig storeConfig) {
|
||||
this(createPropertiesFromConfig(storeConfig));
|
||||
}
|
||||
|
||||
public MilvusEmbeddingStoreFactory(Properties properties) {
|
||||
this.properties = properties;
|
||||
}
|
||||
|
||||
private static Properties createPropertiesFromConfig(EmbeddingStoreConfig storeConfig) {
|
||||
Properties properties = new Properties();
|
||||
EmbeddingStoreProperties embeddingStore = new EmbeddingStoreProperties();
|
||||
BeanUtils.copyProperties(storeConfig, embeddingStore);
|
||||
embeddingStore.setUri(storeConfig.getBaseUrl());
|
||||
properties.setEmbeddingStore(embeddingStore);
|
||||
return properties;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EmbeddingStore<TextSegment> createEmbeddingStore(String collectionName) {
|
||||
EmbeddingStoreProperties storeProperties = properties.getEmbeddingStore();
|
||||
|
||||
Reference in New Issue
Block a user