diff --git a/web/app/components/datasets/hit-testing/components/result-item.tsx b/web/app/components/datasets/hit-testing/components/result-item.tsx index 5376e095d9..c18becd825 100644 --- a/web/app/components/datasets/hit-testing/components/result-item.tsx +++ b/web/app/components/datasets/hit-testing/components/result-item.tsx @@ -17,15 +17,18 @@ import Tag from '@/app/components/datasets/documents/detail/completed/common/tag const i18nPrefix = 'datasetHitTesting' type Props = { + isExternal: boolean payload: HitTesting } const ResultItem: FC = ({ + isExternal, payload, }) => { const { t } = useTranslation() - const { segment, score, child_chunks } = payload - const { position, word_count, content, keywords, document } = segment + const { segment, content: externalContent, score, child_chunks } = payload + const data = isExternal ? externalContent : segment + const { position, word_count, content, keywords, document } = data const isParentChildRetrieval = !!(child_chunks && child_chunks.length > 0) const extension = document.name.split('.').slice(-1)[0] as FileAppearanceTypeEnum const [isFold, { diff --git a/web/app/components/datasets/hit-testing/hit-detail.tsx b/web/app/components/datasets/hit-testing/hit-detail.tsx deleted file mode 100644 index d2129ef1ae..0000000000 --- a/web/app/components/datasets/hit-testing/hit-detail.tsx +++ /dev/null @@ -1,68 +0,0 @@ -import type { FC } from 'react' -import React from 'react' -import { useTranslation } from 'react-i18next' -import { SegmentIndexTag } from '../documents/detail/completed/common/segment-index-tag' -import s from '../documents/detail/completed/style.module.css' -import cn from '@/utils/classnames' -import type { SegmentDetailModel } from '@/models/datasets' -import Divider from '@/app/components/base/divider' - -type IHitDetailProps = { - segInfo?: Partial & { id: string } -} - -const HitDetail: FC = ({ segInfo }) => { - const { t } = useTranslation() - - const renderContent = () => { - if (segInfo?.answer) { - return ( - <> -
QUESTION
-
{segInfo.content}
-
ANSWER
-
{segInfo.answer}
- - ) - } - - return
{segInfo?.content}
- } - - return ( - segInfo?.id === 'external' - ?
-
{renderContent()}
-
- :
-
- -
- - {segInfo?.word_count} {t('datasetDocuments.segment.characters', { count: segInfo?.word_count || 0 })} - -
- - {segInfo?.hit_count} {t('datasetDocuments.segment.hitCount')} - -
- -
{renderContent()}
-
- {t('datasetDocuments.segment.keywords')} -
-
- {!segInfo?.keywords?.length - ? '-' - : segInfo?.keywords?.map((word, index) => { - return
{word}
- })} -
-
- ) -} - -export default HitDetail diff --git a/web/app/components/datasets/hit-testing/index.tsx b/web/app/components/datasets/hit-testing/index.tsx index 2a0a4aeb8a..99f031c0ea 100644 --- a/web/app/components/datasets/hit-testing/index.tsx +++ b/web/app/components/datasets/hit-testing/index.tsx @@ -9,13 +9,11 @@ import { useContext } from 'use-context-selector' import SegmentCard from '../documents/detail/completed/SegmentCard' import Textarea from './textarea' import s from './style.module.css' -import HitDetail from './hit-detail' import ModifyRetrievalModal from './modify-retrieval-modal' import ResultItem from './components/result-item' import cn from '@/utils/classnames' -import type { ExternalKnowledgeBaseHitTestingResponse, ExternalKnowledgeBaseHitTesting as ExternalKnowledgeBaseHitTestingType, HitTestingResponse, HitTesting as HitTestingType } from '@/models/datasets' +import type { ExternalKnowledgeBaseHitTestingResponse, HitTestingResponse } from '@/models/datasets' import Loading from '@/app/components/base/loading' -import Modal from '@/app/components/base/modal' import Drawer from '@/app/components/base/drawer' import Pagination from '@/app/components/base/pagination' import FloatRightContainer from '@/app/components/base/float-right-container' @@ -50,11 +48,8 @@ const HitTesting: FC = ({ datasetId }: Props) => { const isMobile = media === MediaType.mobile const [hitResult, setHitResult] = useState() // 初始化记录为空数组 - // console.log(hitResult?.records) const [externalHitResult, setExternalHitResult] = useState() const [submitLoading, setSubmitLoading] = useState(false) - const [currParagraph, setCurrParagraph] = useState<{ paraInfo?: HitTestingType; showModal: boolean }>({ showModal: false }) - const [externalCurrParagraph, setExternalCurrParagraph] = useState<{ paraInfo?: ExternalKnowledgeBaseHitTestingType; showModal: boolean }>({ showModal: false }) const [text, setText] = useState('') const [currPage, setCurrPage] = React.useState(0) @@ -82,6 +77,7 @@ const HitTesting: FC = ({ datasetId }: Props) => { ))}
@@ -103,10 +99,10 @@ const HitTesting: FC = ({ datasetId }: Props) => { return (
-
-
-

{t('datasetHitTesting.title')}

-

{t('datasetHitTesting.desc')}

+
+
+

{t('datasetHitTesting.title')}

+

{t('datasetHitTesting.desc')}