(improvement)(chat) Support configuring embeddingModel or embeddingStore at the agent level. (#1361)

This commit is contained in:
lexluo09
2024-07-06 20:44:23 +08:00
committed by GitHub
parent d39db734c4
commit 6db6aaf98d
42 changed files with 669 additions and 299 deletions

View File

@@ -0,0 +1,25 @@
package com.tencent.supersonic.common.config;
import com.tencent.supersonic.common.util.AESEncryptionUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ChatModelConfig implements Serializable {
private static final long serialVersionUID = 1L;
private String provider;
private String baseUrl;
private String apiKey;
private String modelName;
private Double temperature = 0.0d;
private Long timeOut = 60L;
public String keyDecrypt() {
return AESEncryptionUtil.aesDecryptECB(getApiKey());
}
}

View File

@@ -0,0 +1,24 @@
package com.tencent.supersonic.common.config;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class EmbeddingModelConfig implements Serializable {
private static final long serialVersionUID = 1L;
private String provider;
private String baseUrl;
private String apiKey;
private String modelName;
private String modelPath;
private String vocabularyPath;
private Integer maxRetries;
private Integer maxToken;
private Boolean logRequests;
private Boolean logResponses;
}

View File

@@ -0,0 +1,15 @@
package com.tencent.supersonic.common.config;
import lombok.Data;
import java.io.Serializable;
@Data
public class EmbeddingStoreConfig implements Serializable {
private static final long serialVersionUID = 1L;
private String provider;
private String persistPath;
private String baseUrl;
private String apiKey;
private Long timeOut = 60L;
}

View File

@@ -1,45 +0,0 @@
package com.tencent.supersonic.common.config;
import com.tencent.supersonic.common.util.AESEncryptionUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LLMConfig {
private String provider;
private String baseUrl;
private String apiKey;
private String modelName;
private Double temperature = 0.0d;
private Long timeOut = 60L;
public LLMConfig(String provider, String baseUrl, String apiKey, String modelName) {
this.provider = provider;
this.baseUrl = baseUrl;
this.apiKey = apiKey;
this.modelName = modelName;
}
public LLMConfig(String provider, String baseUrl, String apiKey, String modelName,
double temperature) {
this.provider = provider;
this.baseUrl = baseUrl;
this.apiKey = apiKey;
this.modelName = modelName;
this.temperature = temperature;
}
public String keyDecrypt() {
return AESEncryptionUtil.aesDecryptECB(apiKey);
}
}

View File

@@ -0,0 +1,17 @@
package com.tencent.supersonic.common.config;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ModelConfig implements Serializable {
private static final long serialVersionUID = 1L;
private ChatModelConfig chatModel;
private EmbeddingModelConfig embeddingModel;
}