Feat: optimize dashboard UI and fix sql highlight (#1329)

Co-authored-by: hzh97 <2976151305@qq.com>
Co-authored-by: aries_ckt <916701291@qq.com>
This commit is contained in:
lcxadml
2024-04-10 22:50:47 +08:00
committed by GitHub
parent df80bc2079
commit d55c51a6b7
171 changed files with 2306 additions and 979 deletions

View File

@@ -1,7 +1,8 @@
import { EventStreamContentType, fetchEventSource } from '@microsoft/fetch-event-source';
import { message } from 'antd';
import { useCallback, useEffect, useMemo } from 'react';
import { useCallback, useContext, useEffect, useMemo } from 'react';
import i18n from '@/app/i18n';
import { ChatContext } from '@/app/chat-context';
type Props = {
queryAgentURL?: string;
@@ -19,6 +20,7 @@ type ChatParams = {
const useChat = ({ queryAgentURL = '/api/v1/chat/completions' }: Props) => {
const ctrl = useMemo(() => new AbortController(), []);
const { scene } = useContext(ChatContext);
const chat = useCallback(
async ({ data, chatId, onMessage, onClose, onDone, onError }: ChatParams) => {
@@ -61,16 +63,25 @@ const useChat = ({ queryAgentURL = '/api/v1/chat/completions' }: Props) => {
onmessage: (event) => {
let message = event.data;
try {
message = JSON.parse(message).vis;
if (scene === 'chat_agent') {
message = JSON.parse(message).vis;
} else {
message = JSON.parse(message);
}
} catch (e) {
message.replaceAll('\\n', '\n');
}
if (message === '[DONE]') {
onDone?.();
} else if (message?.startsWith('[ERROR]')) {
onError?.(message?.replace('[ERROR]', ''));
if (typeof message === 'string') {
if (message === '[DONE]') {
onDone?.();
} else if (message?.startsWith('[ERROR]')) {
onError?.(message?.replace('[ERROR]', ''));
} else {
onMessage?.(message);
}
} else {
onMessage?.(message);
onDone?.();
}
},
});