mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-11 20:25:12 +00:00
[improvement][chat]Rename implementation classes of ResultProcessor.
This commit is contained in:
@@ -20,6 +20,9 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DataInterpretProcessor interprets query result to make it more readable to the users.
|
||||||
|
*/
|
||||||
public class DataInterpretProcessor implements ExecuteResultProcessor {
|
public class DataInterpretProcessor implements ExecuteResultProcessor {
|
||||||
|
|
||||||
private static final Logger keyPipelineLog = LoggerFactory.getLogger("keyPipeline");
|
private static final Logger keyPipelineLog = LoggerFactory.getLogger("keyPipeline");
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ import static com.tencent.supersonic.common.pojo.Constants.TIME_FORMAT;
|
|||||||
* Add ratio queries for metric queries.
|
* Add ratio queries for metric queries.
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class MetricRatioProcessor implements ExecuteResultProcessor {
|
public class MetricRatioCalcProcessor implements ExecuteResultProcessor {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void process(ExecuteContext executeContext, QueryResult queryResult) {
|
public void process(ExecuteContext executeContext, QueryResult queryResult) {
|
||||||
@@ -26,7 +26,9 @@ import java.util.Objects;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/** MetricRecommendProcessor fills recommended metrics based on embedding similarity. */
|
/**
|
||||||
|
* MetricRecommendProcessor fills recommended metrics based on embedding similarity.
|
||||||
|
**/
|
||||||
public class MetricRecommendProcessor implements ExecuteResultProcessor {
|
public class MetricRecommendProcessor implements ExecuteResultProcessor {
|
||||||
|
|
||||||
private static final int METRIC_RECOMMEND_SIZE = 5;
|
private static final int METRIC_RECOMMEND_SIZE = 5;
|
||||||
|
|||||||
@@ -19,7 +19,10 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class ErrorMessageProcessor implements ParseResultProcessor {
|
/**
|
||||||
|
* ErrorMsgRewriteProcessor rewrites error message to make it more readable to the users.
|
||||||
|
**/
|
||||||
|
public class ErrorMsgRewriteProcessor implements ParseResultProcessor {
|
||||||
|
|
||||||
private static final Logger keyPipelineLog = LoggerFactory.getLogger("keyPipeline");
|
private static final Logger keyPipelineLog = LoggerFactory.getLogger("keyPipeline");
|
||||||
|
|
||||||
@@ -33,7 +36,7 @@ public class ErrorMessageProcessor implements ParseResultProcessor {
|
|||||||
+ "#Input: {{user_question}}\n" + "#Output: {{system_message}}\n"
|
+ "#Input: {{user_question}}\n" + "#Output: {{system_message}}\n"
|
||||||
+ "#Examples: {{examples}}\n" + "#Response: ";
|
+ "#Examples: {{examples}}\n" + "#Response: ";
|
||||||
|
|
||||||
public ErrorMessageProcessor() {
|
public ErrorMsgRewriteProcessor() {
|
||||||
ChatAppManager.register(APP_KEY_ERROR_MESSAGE,
|
ChatAppManager.register(APP_KEY_ERROR_MESSAGE,
|
||||||
ChatApp.builder().prompt(REWRITE_ERROR_MESSAGE_INSTRUCTION).name("异常提示改写")
|
ChatApp.builder().prompt(REWRITE_ERROR_MESSAGE_INSTRUCTION).name("异常提示改写")
|
||||||
.appModule(AppModule.CHAT).description("通过大模型将异常信息改写为更友好和引导性的提示用语")
|
.appModule(AppModule.CHAT).description("通过大模型将异常信息改写为更友好和引导性的提示用语")
|
||||||
@@ -13,7 +13,10 @@ import java.util.Optional;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class TextInfoProcessor implements ParseResultProcessor {
|
/**
|
||||||
|
* ParseInfoFormatProcessor formats parse info to make it more readable to the users.
|
||||||
|
**/
|
||||||
|
public class ParseInfoFormatProcessor implements ParseResultProcessor {
|
||||||
@Override
|
@Override
|
||||||
public void process(ParseContext parseContext) {
|
public void process(ParseContext parseContext) {
|
||||||
parseContext.getResponse().getSelectedParses().forEach(p -> {
|
parseContext.getResponse().getSelectedParses().forEach(p -> {
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.tencent.supersonic.chat.server.processor.parse;
|
||||||
|
|
||||||
|
import com.tencent.supersonic.chat.server.pojo.ParseContext;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ParseInfoSortProcessor sorts candidate parse info based on certain algorithm. \
|
||||||
|
**/
|
||||||
|
public class ParseInfoSortProcessor implements ParseResultProcessor {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void process(ParseContext parseContext) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,7 +17,9 @@ import java.util.List;
|
|||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/** MetricRecommendProcessor fills recommended query based on embedding similarity. */
|
/**
|
||||||
|
* MetricRecommendProcessor fills recommended query based on embedding similarity.
|
||||||
|
**/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class QueryRecommendProcessor implements ParseResultProcessor {
|
public class QueryRecommendProcessor implements ParseResultProcessor {
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,13 @@ package com.tencent.supersonic.chat.server.processor.parse;
|
|||||||
|
|
||||||
import com.tencent.supersonic.chat.api.pojo.response.ChatParseResp;
|
import com.tencent.supersonic.chat.api.pojo.response.ChatParseResp;
|
||||||
import com.tencent.supersonic.chat.server.pojo.ParseContext;
|
import com.tencent.supersonic.chat.server.pojo.ParseContext;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.ParseResp;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
/** TimeCostProcessor adds time cost of parsing. */
|
/**
|
||||||
|
* TimeCostProcessor adds time cost of parsing.
|
||||||
|
**/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class TimeCostProcessor implements ParseResultProcessor {
|
public class TimeCostCalcProcessor implements ParseResultProcessor {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void process(ParseContext parseContext) {
|
public void process(ParseContext parseContext) {
|
||||||
@@ -15,12 +15,12 @@ com.tencent.supersonic.chat.server.plugin.recognize.PluginRecognizer=\
|
|||||||
|
|
||||||
com.tencent.supersonic.chat.server.processor.parse.ParseResultProcessor=\
|
com.tencent.supersonic.chat.server.processor.parse.ParseResultProcessor=\
|
||||||
com.tencent.supersonic.chat.server.processor.parse.QueryRecommendProcessor,\
|
com.tencent.supersonic.chat.server.processor.parse.QueryRecommendProcessor,\
|
||||||
com.tencent.supersonic.chat.server.processor.parse.TimeCostProcessor
|
com.tencent.supersonic.chat.server.processor.parse.TimeCostCalcProcessor
|
||||||
|
|
||||||
com.tencent.supersonic.chat.server.processor.execute.ExecuteResultProcessor=\
|
com.tencent.supersonic.chat.server.processor.execute.ExecuteResultProcessor=\
|
||||||
com.tencent.supersonic.chat.server.processor.execute.MetricRecommendProcessor,\
|
com.tencent.supersonic.chat.server.processor.execute.MetricRecommendProcessor,\
|
||||||
com.tencent.supersonic.chat.server.processor.execute.DimensionRecommendProcessor,\
|
com.tencent.supersonic.chat.server.processor.execute.DimensionRecommendProcessor,\
|
||||||
com.tencent.supersonic.chat.server.processor.execute.MetricRatioProcessor,\
|
com.tencent.supersonic.chat.server.processor.execute.MetricRatioCalcProcessor,\
|
||||||
com.tencent.supersonic.chat.server.processor.execute.DataInterpretProcessor
|
com.tencent.supersonic.chat.server.processor.execute.DataInterpretProcessor
|
||||||
|
|
||||||
### auth-authentication SPIs
|
### auth-authentication SPIs
|
||||||
|
|||||||
@@ -67,14 +67,14 @@ com.tencent.supersonic.chat.server.plugin.recognize.PluginRecognizer=\
|
|||||||
|
|
||||||
com.tencent.supersonic.chat.server.processor.parse.ParseResultProcessor=\
|
com.tencent.supersonic.chat.server.processor.parse.ParseResultProcessor=\
|
||||||
com.tencent.supersonic.chat.server.processor.parse.QueryRecommendProcessor,\
|
com.tencent.supersonic.chat.server.processor.parse.QueryRecommendProcessor,\
|
||||||
com.tencent.supersonic.chat.server.processor.parse.TimeCostProcessor,\
|
com.tencent.supersonic.chat.server.processor.parse.TimeCostCalcProcessor,\
|
||||||
com.tencent.supersonic.chat.server.processor.parse.ErrorMessageProcessor,\
|
com.tencent.supersonic.chat.server.processor.parse.ErrorMsgRewriteProcessor,\
|
||||||
com.tencent.supersonic.chat.server.processor.parse.TextInfoProcessor
|
com.tencent.supersonic.chat.server.processor.parse.ParseInfoFormatProcessor
|
||||||
|
|
||||||
com.tencent.supersonic.chat.server.processor.execute.ExecuteResultProcessor=\
|
com.tencent.supersonic.chat.server.processor.execute.ExecuteResultProcessor=\
|
||||||
com.tencent.supersonic.chat.server.processor.execute.MetricRecommendProcessor,\
|
com.tencent.supersonic.chat.server.processor.execute.MetricRecommendProcessor,\
|
||||||
com.tencent.supersonic.chat.server.processor.execute.DimensionRecommendProcessor,\
|
com.tencent.supersonic.chat.server.processor.execute.DimensionRecommendProcessor,\
|
||||||
com.tencent.supersonic.chat.server.processor.execute.MetricRatioProcessor,\
|
com.tencent.supersonic.chat.server.processor.execute.MetricRatioCalcProcessor,\
|
||||||
com.tencent.supersonic.chat.server.processor.execute.DataInterpretProcessor
|
com.tencent.supersonic.chat.server.processor.execute.DataInterpretProcessor
|
||||||
|
|
||||||
### auth-authentication SPIs
|
### auth-authentication SPIs
|
||||||
|
|||||||
Reference in New Issue
Block a user