(feature)(chat-sdk) add PLAIN_TEXT query mode (#1229)

This commit is contained in:
williamhliu
2024-06-26 09:42:23 +08:00
committed by GitHub
parent 210163a82a
commit 82b2552d9d
3 changed files with 48 additions and 40 deletions

View File

@@ -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`}>

View File

@@ -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];

View File

@@ -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>