From 5f50c137e446ba18ecfc7d91458063c8f090e6f4 Mon Sep 17 00:00:00 2001 From: Xin Wang Date: Tue, 10 Feb 2026 10:57:52 +0800 Subject: [PATCH] Test KB index button move --- web/pages/KnowledgeBase.tsx | 138 +++++++++++++++++++----------------- 1 file changed, 73 insertions(+), 65 deletions(-) diff --git a/web/pages/KnowledgeBase.tsx b/web/pages/KnowledgeBase.tsx index f5c09e9..3ff4acf 100644 --- a/web/pages/KnowledgeBase.tsx +++ b/web/pages/KnowledgeBase.tsx @@ -473,6 +473,7 @@ const KnowledgeBaseDetail: React.FC<{ const [debugLoading, setDebugLoading] = useState(false); const [debugResults, setDebugResults] = useState([]); const [debugError, setDebugError] = useState(''); + const [debugDialogOpen, setDebugDialogOpen] = useState(false); const filteredDocs = kb.documents.filter((d) => d.name.toLowerCase().includes(docSearch.toLowerCase())); const docNameById = new Map(kb.documents.map((doc) => [doc.id, doc.name])); @@ -535,6 +536,7 @@ const KnowledgeBaseDetail: React.FC<{
+ @@ -609,71 +611,6 @@ const KnowledgeBaseDetail: React.FC<{ - -
-

调试检索

-

- 输入测试文本,使用当前知识库的 embedding 配置检索文档片段并查看匹配度。 -

-
-
-
- setDebugQuery(e.target.value)} - onKeyDown={(e) => { - if (e.key === 'Enter' && !debugLoading) void runDebugSearch(); - }} - className="bg-black/20 border-transparent focus:bg-black/40" - /> - setDebugTopK(parseInt(e.target.value || '1', 10))} - className="bg-black/20 border-transparent focus:bg-black/40" - /> - -
- - {!!debugError && ( -
{debugError}
- )} - - {!debugLoading && debugResults.length === 0 && !debugError && ( -
暂无结果,输入文本后点击“开始检索”。
- )} - - {debugResults.length > 0 && ( -
- {debugResults.map((item, idx) => { - const docId = String(item.metadata?.document_id || ''); - const chunkIndex = item.metadata?.chunk_index; - const docName = docNameById.get(docId); - return ( -
-
- #{idx + 1} - {docName || docId || 'unknown_doc'} - chunk {chunkIndex ?? '-'} - distance: {typeof item.distance === 'number' ? item.distance.toFixed(6) : '-'} - 匹配度: {renderMatchPercent(item.distance)} -
-

- {item.content || '(空内容)'} -

-
- ); - })} -
- )} -
-
- { @@ -712,6 +649,77 @@ const KnowledgeBaseDetail: React.FC<{ />
+ + setDebugDialogOpen(false)} + title="调试检索" + footer={ + <> + + + + } + > +
+

+ 输入测试文本,使用当前知识库的 embedding 配置检索文档片段并查看匹配度。 +

+
+ setDebugQuery(e.target.value)} + onKeyDown={(e) => { + if (e.key === 'Enter' && !debugLoading) void runDebugSearch(); + }} + className="bg-black/20 border-transparent focus:bg-black/40" + /> + setDebugTopK(parseInt(e.target.value || '1', 10))} + className="bg-black/20 border-transparent focus:bg-black/40" + /> +
+ + {!!debugError && ( +
{debugError}
+ )} + + {!debugLoading && debugResults.length === 0 && !debugError && ( +
暂无结果,输入文本后点击“开始检索”。
+ )} + + {debugResults.length > 0 && ( +
+ {debugResults.map((item, idx) => { + const docId = String(item.metadata?.document_id || ''); + const chunkIndex = item.metadata?.chunk_index; + const docName = docNameById.get(docId); + return ( +
+
+ #{idx + 1} + {docName || docId || 'unknown_doc'} + chunk {chunkIndex ?? '-'} + distance: {typeof item.distance === 'number' ? item.distance.toFixed(6) : '-'} + 匹配度: {renderMatchPercent(item.distance)} +
+

+ {item.content || '(空内容)'} +

+
+ ); + })} +
+ )} +
+
); };