(improvement)(chat) Rename SimilarMetricProcessor, SimilarQueryProcessor to MetricRecommendProcessor, QueryRecommendProcessor (#513)

Co-authored-by: jolunoluo
This commit is contained in:
LXW
2023-12-15 14:56:44 +08:00
committed by GitHub
parent e6eac03ec6
commit 4dae84034e
13 changed files with 44 additions and 20 deletions

View File

@@ -7,6 +7,9 @@ import com.tencent.supersonic.auth.api.authentication.request.UserReq;
import java.util.List;
import java.util.Set;
/**
* UserAdaptor defines some interfaces for obtaining user and organization information
*/
public interface UserAdaptor {
List<String> getUserNames();

View File

@@ -16,6 +16,9 @@ import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* DefaultUserAdaptor provides a default method to obtain user and organization information
*/
public class DefaultUserAdaptor implements UserAdaptor {
private List<UserDO> getUserDOList() {

View File

@@ -19,7 +19,9 @@ import java.util.Set;
import java.util.stream.Collectors;
/***
* A mapper that forms a cluster from connectable models
* ModelClusterMapper build a cluster from
* connectable data models based on model-rela configuration
* and generate SchemaModelClusterMapInfo
*/
public class ModelClusterMapper implements SchemaMapper {

View File

@@ -26,7 +26,7 @@ import java.util.Set;
import java.util.stream.Collectors;
/**
* QueryTypeParser resolves query type as either METRIC or TAG, or OTHER.
* QueryTypeParser resolves query type as either METRIC or TAG, or ID.
*/
@Slf4j
public class QueryTypeParser implements SemanticParser {

View File

@@ -27,6 +27,10 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* PluginParser defines the basic process and common methods for recalling plugins.
*/
public abstract class PluginParser implements SemanticParser {
@Override

View File

@@ -13,16 +13,20 @@ import com.tencent.supersonic.common.config.EmbeddingConfig;
import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.common.util.embedding.Retrieval;
import com.tencent.supersonic.common.util.embedding.RetrieveQueryResult;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.springframework.util.CollectionUtils;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/**
* EmbeddingRecallParser is an implementation of a recall plugin based on Embedding
*/
@Slf4j
public class EmbeddingRecallParser extends PluginParser {

View File

@@ -13,16 +13,20 @@ import com.tencent.supersonic.chat.service.PluginService;
import com.tencent.supersonic.chat.utils.ComponentFactory;
import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.common.util.JsonUtil;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
/**
* FunctionCallParser is an implementation of a recall plugin based on FunctionCall
*/
@Slf4j
public class FunctionCallParser extends PluginParser {

View File

@@ -20,7 +20,8 @@ import java.util.Set;
import java.util.stream.Collectors;
/**
* DimensionRecommendProcessor obtains metric recommended dimensions
* DimensionRecommendProcessor recommend some dimensions
* related to metrics based on configuration
*/
public class DimensionRecommendProcessor implements ExecuteResultProcessor {

View File

@@ -24,9 +24,9 @@ import java.util.Set;
import java.util.stream.Collectors;
/**
* SimilarMetricQueryResponder fills recommended metrics based on embedding similarity.
* MetricRecommendProcessor fills recommended metrics based on embedding similarity.
*/
public class SimilarMetricProcessor implements ExecuteResultProcessor {
public class MetricRecommendProcessor implements ExecuteResultProcessor {
private static final int METRIC_RECOMMEND_SIZE = 5;

View File

@@ -22,8 +22,11 @@ import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
/**
* MetricRecommendProcessor fills recommended query based on embedding similarity.
*/
@Slf4j
public class SimilarQueryProcessor implements ParseResultProcessor {
public class QueryRecommendProcessor implements ParseResultProcessor {
@Override
public void process(ParseResp parseResp, QueryContext queryContext, ChatContext chatContext) {

View File

@@ -40,4 +40,4 @@ com.tencent.supersonic.chat.postprocessor.PostProcessor=\
com.tencent.supersonic.chat.postprocessor.RespBuildPostProcessor
com.tencent.supersonic.chat.processor.execute.ExecuteResultProcessor=\
com.tencent.supersonic.chat.processor.execute.SimilarMetricProcessor
com.tencent.supersonic.chat.processor.execute.MetricRecommendProcessor

View File

@@ -28,7 +28,7 @@ com.tencent.supersonic.chat.processor.parse.ParseResultProcessor=\
com.tencent.supersonic.chat.processor.parse.SqlInfoProcessor, \
com.tencent.supersonic.chat.processor.parse.TimeCostProcessor, \
com.tencent.supersonic.chat.processor.parse.RespBuildProcessor, \
com.tencent.supersonic.chat.processor.parse.SimilarQueryProcessor
com.tencent.supersonic.chat.processor.parse.QueryRecommendProcessor
com.tencent.supersonic.chat.api.component.SemanticInterpreter=\
com.tencent.supersonic.knowledge.semantic.LocalSemanticInterpreter
@@ -43,7 +43,7 @@ com.tencent.supersonic.auth.api.authentication.adaptor.UserAdaptor=\
com.tencent.supersonic.auth.authentication.adaptor.DefaultUserAdaptor
com.tencent.supersonic.chat.processor.execute.ExecuteResultProcessor=\
com.tencent.supersonic.chat.processor.execute.SimilarMetricProcessor,\
com.tencent.supersonic.chat.processor.execute.MetricRecommendProcessor,\
com.tencent.supersonic.chat.processor.execute.DimensionRecommendProcessor
com.tencent.supersonic.common.util.embedding.S2EmbeddingStore=\

View File

@@ -42,7 +42,7 @@ com.tencent.supersonic.chat.postprocessor.PostProcessor=\
com.tencent.supersonic.chat.processor.execute.ExecuteResultProcessor=\
com.tencent.supersonic.chat.processor.execute.SimilarMetricProcessor
com.tencent.supersonic.chat.processor.execute.MetricRecommendProcessor
com.tencent.supersonic.common.util.embedding.S2EmbeddingStore=\