Browse Source

fix: filter empty value in xlsx to improve vector similarity hit (#422)

lisaifei@cvte.com 1 year ago
parent
commit
23ef2262bd

+ 3 - 1
api/core/index/readers/xlsx_parser.py

@@ -27,5 +27,7 @@ class XLSXParser(BaseParser):
                     if keys == []:
                         keys = list(map(str, row))
                     else:
-                        data.append(json.dumps(dict(zip(keys, list(map(str, row)))), ensure_ascii=False))
+                        row_dict = dict(zip(keys, row))
+                        row_dict = {k: v for k, v in row_dict.items() if v}
+                        data.append(json.dumps(row_dict, ensure_ascii=False))
         return '\n\n'.join(data)

+ 1 - 1
web/app/(commonLayout)/datasets/(datasetDetailLayout)/[datasetId]/layout.tsx

@@ -124,7 +124,7 @@ const DatasetDetailLayout: FC<IAppDetailLayoutProps> = (props) => {
         ? (
           <>
             <div className={s.subTitle}>{relatedApps?.total || '--'} {t('common.datasetMenus.relatedApp')}</div>
-            {relatedApps?.data?.map(item => (<LikedItem detail={item} />))}
+            {relatedApps?.data?.map((item, index) => (<LikedItem key={index} detail={item} />))}
           </>
         )
         : (

+ 2 - 1
web/app/components/datasets/hit-testing/index.tsx

@@ -137,8 +137,9 @@ const HitTesting: FC<Props> = ({ datasetId }: Props) => {
               <div className='text-gray-600 font-semibold mb-4'>{t('datasetHitTesting.hit.title')}</div>
               <div className='overflow-auto flex-1'>
                 <div className={s.cardWrapper}>
-                  {hitResult?.records.map((record) => {
+                  {hitResult?.records.map((record, idx) => {
                     return <SegmentCard
+                      key={idx}
                       loading={false}
                       detail={record.segment as any}
                       score={record.score}