feat: RAG检索过程可视化,显示检索状态和结果提示

This commit is contained in:
thzxx
2026-04-04 23:53:02 +08:00
parent ce930560f8
commit 20876713d3
+20 -11
View File
@@ -404,17 +404,26 @@ export async function sendMessage() {
// RAG 检索增强 // RAG 检索增强
let ragSources = null; let ragSources = null;
if (isRagEnabled()) { if (isRagEnabled()) {
const ragResult = await performRagRetrieval(text); appendSystemMessage('🧠 正在检索知识库...');
if (ragResult && ragResult.ragPrompt) { try {
chatParams.system = chatParams.system const ragResult = await performRagRetrieval(text);
? chatParams.system + '\n\n' + ragResult.ragPrompt if (ragResult && ragResult.results && ragResult.results.length > 0) {
: ragResult.ragPrompt; chatParams.system = chatParams.system
// 保存检索来源信息 ? chatParams.system + '\n\n' + ragResult.ragPrompt
ragSources = ragResult.results.map(r => ({ : ragResult.ragPrompt;
filename: r.filename, ragSources = ragResult.results.map(r => ({
score: r.score, filename: r.filename,
text: truncate(r.text, 100) score: r.score,
})); text: truncate(r.text, 100)
}));
const sourceNames = [...new Set(ragSources.map(s => s.filename))];
appendSystemMessage(`🧠 已检索 ${ragSources.length} 个相关片段(来源:${sourceNames.join('、')}`);
} else {
appendSystemMessage('🧠 知识库未检索到相关内容,使用通用知识回答');
}
} catch (ragErr) {
console.error('[RAG] 检索失败:', ragErr);
appendSystemMessage(`🧠 知识库检索失败: ${ragErr.message}`);
} }
} }