mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 19:51:00 +00:00
(feature)(chat-sdk) add PLAIN_TEXT query mode (#1229)
This commit is contained in:
@@ -9,6 +9,7 @@ import React, { ReactNode, useState } from 'react';
|
||||
|
||||
type Props = {
|
||||
queryId?: number;
|
||||
queryMode?: string;
|
||||
executeLoading: boolean;
|
||||
entitySwitchLoading: boolean;
|
||||
chartIndex: number;
|
||||
@@ -23,6 +24,7 @@ type Props = {
|
||||
|
||||
const ExecuteItem: React.FC<Props> = ({
|
||||
queryId,
|
||||
queryMode,
|
||||
executeLoading,
|
||||
entitySwitchLoading,
|
||||
chartIndex,
|
||||
@@ -54,6 +56,9 @@ const ExecuteItem: React.FC<Props> = ({
|
||||
};
|
||||
|
||||
if (executeLoading) {
|
||||
if (queryMode === 'PLAIN_TEXT') {
|
||||
return <Loading />;
|
||||
}
|
||||
return getNodeTip('数据查询中');
|
||||
}
|
||||
|
||||
@@ -73,6 +78,10 @@ const ExecuteItem: React.FC<Props> = ({
|
||||
return null;
|
||||
}
|
||||
|
||||
if (data.queryMode === 'PLAIN_TEXT') {
|
||||
return <>{data.textResult}</>;
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className={`${prefixCls}-title-bar`}>
|
||||
|
||||
@@ -121,7 +121,6 @@ const ParseTip: React.FC<Props> = ({
|
||||
|
||||
const getTipNode = () => {
|
||||
const dimensionItems = dimensions?.filter(item => item.type === 'DIMENSION');
|
||||
|
||||
const itemValueClass = `${prefixCls}-tip-item-value`;
|
||||
const entityId = dimensionFilters?.length > 0 ? dimensionFilters[0].value : undefined;
|
||||
const entityAlias = entity?.alias?.[0]?.split('.')?.[0];
|
||||
|
||||
@@ -84,7 +84,7 @@ const ChatItem: React.FC<Props> = ({
|
||||
const updateData = (res: Result<MsgDataType>) => {
|
||||
let tip: string = '';
|
||||
let data: MsgDataType | undefined = undefined;
|
||||
const { queryColumns, queryResults, queryState, queryMode, response, chatContext } =
|
||||
const { queryColumns, queryResults, queryState, queryMode, response, chatContext, textResult } =
|
||||
res.data || {};
|
||||
if (res.code === 400 || res.code === 401 || res.code === 412) {
|
||||
tip = res.msg;
|
||||
@@ -94,7 +94,8 @@ const ChatItem: React.FC<Props> = ({
|
||||
tip = response && typeof response === 'string' ? response : SEARCH_EXCEPTION_TIP;
|
||||
} else if (
|
||||
(queryColumns && queryColumns.length > 0 && queryResults) ||
|
||||
queryMode === 'WEB_PAGE'
|
||||
queryMode === 'WEB_PAGE' ||
|
||||
queryMode === 'PLAIN_TEXT'
|
||||
) {
|
||||
data = res.data;
|
||||
tip = '';
|
||||
@@ -319,6 +320,7 @@ const ChatItem: React.FC<Props> = ({
|
||||
)}
|
||||
<div className={isMobile ? `${prefixCls}-mobile-msg-card` : `${prefixCls}-msg-card`}>
|
||||
<div className={contentClass}>
|
||||
{parseInfo?.queryMode !== 'PLAIN_TEXT' && (
|
||||
<ParseTip
|
||||
isSimpleMode={isSimpleMode}
|
||||
parseLoading={parseLoading}
|
||||
@@ -338,13 +340,10 @@ const ChatItem: React.FC<Props> = ({
|
||||
onDateInfoChange={onDateInfoChange}
|
||||
onRefresh={onRefresh}
|
||||
/>
|
||||
)}
|
||||
{executeMode && (
|
||||
<>
|
||||
{!isMobile &&
|
||||
parseInfo?.sqlInfo &&
|
||||
isDeveloper &&
|
||||
integrateSystem !== 'c2' &&
|
||||
!isSimpleMode && (
|
||||
{!isMobile && parseInfo?.sqlInfo && isDeveloper && !isSimpleMode && (
|
||||
<SqlItem
|
||||
llmReq={llmReq}
|
||||
llmResp={llmResp}
|
||||
@@ -357,6 +356,7 @@ const ChatItem: React.FC<Props> = ({
|
||||
<ExecuteItem
|
||||
isSimpleMode={isSimpleMode}
|
||||
queryId={parseInfo?.queryId}
|
||||
queryMode={parseInfo?.queryMode}
|
||||
executeLoading={executeLoading}
|
||||
entitySwitchLoading={entitySwitchLoading}
|
||||
executeTip={executeTip}
|
||||
@@ -370,17 +370,17 @@ const ChatItem: React.FC<Props> = ({
|
||||
</>
|
||||
)}
|
||||
{(parseTip !== '' || (executeMode && !executeLoading)) &&
|
||||
integrateSystem !== 'c2' &&
|
||||
!isSimpleMode && (
|
||||
!isSimpleMode &&
|
||||
parseInfo?.queryMode !== 'PLAIN_TEXT' && (
|
||||
<SimilarQuestionItem
|
||||
queryId={parseInfo?.queryId}
|
||||
defaultExpanded={parseTip !== '' || executeTip !== '' || integrateSystem === 'wiki'}
|
||||
defaultExpanded={parseTip !== '' || executeTip !== ''}
|
||||
similarQueries={data?.similarQueries}
|
||||
onSelectQuestion={onSelectQuestion}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
{(parseTip !== '' || (executeMode && !executeLoading)) && integrateSystem !== 'c2' && (
|
||||
{(parseTip !== '' || (executeMode && !executeLoading)) && (
|
||||
<Tools queryId={parseInfo?.queryId || 0} scoreValue={score} />
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user