diff --git a/src/components/logs-viewer/virtual-log-list.tsx b/src/components/logs-viewer/virtual-log-list.tsx index a1adf4b6..42f39746 100644 --- a/src/components/logs-viewer/virtual-log-list.tsx +++ b/src/components/logs-viewer/virtual-log-list.tsx @@ -129,8 +129,10 @@ const LogsViewer: React.FC = forwardRef((props, ref) => { const currentPage = list.slice(start, end).join('\n'); setPage(newPage); setTotalPage(totalPage); + if (pageRef.current === totalPageRef.current && scrollPos[0] === 'bottom') { + setScrollPos(['bottom', newPage]); + } pageRef.current = newPage; - totalPageRef.current = totalPage; logParseWorker.current.postMessage({ inputStr: currentPage }); @@ -232,6 +234,18 @@ const LogsViewer: React.FC = forwardRef((props, ref) => { async (data: { isTop: boolean; isBottom: boolean }) => { const { isTop, isBottom } = data; setIsAtTop(isTop); + console.log('scroll========', { isTop, isBottom }); + // if (isBottom) { + // setScrollPos((pre) => { + // return ['bottom', pre[1]]; + // }); + // } else if (isTop) { + // setScrollPos((pre) => { + // return ['top', pre[1]]; + // }); + // } else { + // setScrollPos([]); + // } if ( loading || (logs.length > 0 && logs.length < pageSize && !loadMoreDone.current) || @@ -287,8 +301,9 @@ const LogsViewer: React.FC = forwardRef((props, ref) => { return (
+
-
+
= (props) => { > diff --git a/src/pages/llmodels/catalog.tsx b/src/pages/llmodels/catalog.tsx index 57992fe5..e6787598 100644 --- a/src/pages/llmodels/catalog.tsx +++ b/src/pages/llmodels/catalog.tsx @@ -43,27 +43,30 @@ const Catalog: React.FC = () => { const categoryOptions = [...modelCategories.filter((item) => item.value)]; - const filterData = (data: { search: string; categories: string[] }) => { - const { search, categories } = data; - const dataList = cacheData.current.filter((item) => { - if (search && categories.length > 0) { - return ( - _.toLower(item.name).includes(search) && - categories.some((category) => item.categories.includes(category)) - ); - } - if (search) { - return _.toLower(item.name).includes(search); - } - if (categories.length > 0) { - return categories.some((category) => - item.categories.includes(category) - ); - } - return true; - }); - return dataList; - }; + const filterData = useCallback( + (data: { search: string; categories: string[] }) => { + const { search, categories } = data; + const dataList = cacheData.current.filter((item) => { + if (search && categories.length > 0) { + return ( + _.toLower(item.name).includes(search) && + categories.some((category) => item.categories.includes(category)) + ); + } + if (search) { + return _.toLower(item.name).includes(search); + } + if (categories.length > 0) { + return categories.some((category) => + item.categories.includes(category) + ); + } + return true; + }); + return dataList; + }, + [cacheData.current] + ); const fetchData = useCallback(async () => { setDataSource((pre) => { @@ -77,8 +80,12 @@ const Catalog: React.FC = () => { const res: any = await queryCatalogList(params); cacheData.current = res.items || []; + const dataList = filterData({ + search: queryParams.search, + categories: queryParams.categories + }); setDataSource({ - dataList: res.items, + dataList: dataList, loading: false, total: res.pagination.total }); @@ -93,7 +100,7 @@ const Catalog: React.FC = () => { } finally { setIsFirst(false); } - }, [queryParams]); + }, [queryParams, cacheData.current]); const handleDeployModalCancel = () => { setOpenDeployModal({ diff --git a/src/pages/playground/components/image-edit.tsx b/src/pages/playground/components/image-edit.tsx index 3c3e2bbc..53b863ed 100644 --- a/src/pages/playground/components/image-edit.tsx +++ b/src/pages/playground/components/image-edit.tsx @@ -294,18 +294,20 @@ const GroundImages: React.FC = forwardRef((props, ref) => { // preview let stream_options: Record = { - chunk_size: 16 * 1024, - chunk_results: true + stream_options_chunk_size: 16 * 1024, + stream_options_chunk_result: true }; if (parameters.preview === 'preview') { stream_options = { - preview: true + ...stream_options, + stream_options_preview: true }; } if (parameters.preview === 'preview_faster') { stream_options = { - preview_faster: true + ...stream_options, + stream_options_preview_faster: true }; } @@ -333,9 +335,7 @@ const GroundImages: React.FC = forwardRef((props, ref) => { ..._.omitBy(finalParameters, (value: string) => !value), seed: parameters.random_seed ? generateRandomNumber() : parameters.seed, stream: true, - stream_options: { - ...stream_options - }, + ...stream_options, prompt: current?.content || currentPrompt || '' }; setParams({ @@ -346,7 +346,6 @@ const GroundImages: React.FC = forwardRef((props, ref) => { const result: any = await fetchChunkedData({ data: params, - // url: 'http://192.168.50.174:40053/v1/images/edits', url: EDIT_IMAGE_API, signal: requestToken.current.signal }); @@ -374,11 +373,15 @@ const GroundImages: React.FC = forwardRef((props, ref) => { } chunk?.data?.forEach((item: any) => { const imgItem = newImageList[item.index]; - if (item.b64_json && stream_options.chunk_results) { + if (item.b64_json && params.stream_options_chunk_result) { imgItem.dataUrl += item.b64_json; } else if (item.b64_json) { imgItem.dataUrl = `data:image/png;base64,${item.b64_json}`; } + console.log( + 'stream_options_chunk_result:', + params.stream_options_chunk_result + ); const progress = _.round(item.progress, 0); console.log('progress:', item, progress); newImageList[item.index] = { @@ -389,7 +392,9 @@ const GroundImages: React.FC = forwardRef((props, ref) => { maxWidth: `${imgSize[0]}px`, uid: imgItem.uid, span: imgItem.span, - loading: stream_options.chunk_results ? progress < 100 : false, + loading: params.stream_options_chunk_result + ? false + : progress < 100, preview: false, progress: progress }; diff --git a/src/pages/playground/components/params-settings.tsx b/src/pages/playground/components/params-settings.tsx index 8e702d8f..9923e23e 100644 --- a/src/pages/playground/components/params-settings.tsx +++ b/src/pages/playground/components/params-settings.tsx @@ -108,7 +108,6 @@ const ParamsSettings: React.FC = ({ } return acc; }, {}); - console.log('handleModelChange', obj); form.setFieldsValue(obj); setMetaData(obj); return obj; @@ -121,8 +120,8 @@ const ParamsSettings: React.FC = ({ } const modelMetaData = handleModelChange(model); const mergeData = _.merge({}, initialValues, modelMetaData); - const defaultMaxTokens = mergeData?.max_tokens - ? _.divide(mergeData?.max_tokens, 2) + const defaultMaxTokens = modelMetaData?.max_tokens + ? _.divide(modelMetaData?.max_tokens, 2) : 1024; form.setFieldsValue({