fix(rag): default search to keyword and rebuild saved roots
This commit is contained in:
@@ -670,7 +670,7 @@ export function createSidebarPageSettingsRuntime(context) {
|
||||
'</div>' +
|
||||
'<div class="wolai-page-settings-index-actions">' +
|
||||
'<button type="button" data-knowledge-rag-action="refresh">刷新状态</button>' +
|
||||
'<button type="button" data-knowledge-rag-action="ingest">索引来源</button>' +
|
||||
'<button type="button" data-knowledge-rag-action="ingest">索引/重建来源</button>' +
|
||||
'<button type="button" data-knowledge-rag-action="prune">清除失效记录</button>' +
|
||||
'<button type="button" data-knowledge-rag-action="open-dashboard">打开 LightRAG</button>' +
|
||||
'</div>' +
|
||||
@@ -1058,6 +1058,17 @@ export function createSidebarPageSettingsRuntime(context) {
|
||||
});
|
||||
}
|
||||
|
||||
function knowledgeRagIndexedRootValues() {
|
||||
var status = currentKnowledgeRagSummary().status || {};
|
||||
var registry = status.registry && typeof status.registry === 'object' ? status.registry : {};
|
||||
var roots = Array.isArray(registry.indexedRoots) ? registry.indexedRoots : [];
|
||||
return roots.map(function(root) {
|
||||
return String(root && (root.rootRelativePath || root.root_relative_path) || '').trim();
|
||||
}).filter(Boolean).filter(function(value, index, list) {
|
||||
return list.indexOf(value) === index;
|
||||
});
|
||||
}
|
||||
|
||||
function knowledgeRagCurrentFilter() {
|
||||
return pageUiState.knowledgeRagSourceFilter || 'attention';
|
||||
}
|
||||
@@ -1503,11 +1514,12 @@ export function createSidebarPageSettingsRuntime(context) {
|
||||
async function ingestKnowledgeRagSources() {
|
||||
if (!knowledgeRagIsAvailable()) return;
|
||||
var sources = knowledgeRagSourceInputValues();
|
||||
if (!sources.length) sources = knowledgeRagIndexedRootValues();
|
||||
if (!sources.length) {
|
||||
pageUiState.knowledgeRagSummary = Object.assign({}, currentKnowledgeRagSummary(), {
|
||||
scopeKey: knowledgeRagScopeKey(),
|
||||
loading: false,
|
||||
error: '请先填写要索引的资料路径'
|
||||
error: '请先填写要索引的资料路径,或保留至少一个已保存的索引范围'
|
||||
});
|
||||
renderKnowledgeRagSettings();
|
||||
return;
|
||||
|
||||
@@ -2135,12 +2135,12 @@ import { createSidebarPageSettingsRuntime } from './sidebar-page-settings-runtim
|
||||
'<div class="wolai-search-options-left">' +
|
||||
'<span class="wolai-search-switch-control"><span>仅匹配标题</span><button type="button" class="wolai-search-switch" data-search-switch="title" role="switch" aria-checked="false" aria-label="仅匹配标题"></button></span>' +
|
||||
'<span class="wolai-search-switch-control"><span>精确匹配</span><button type="button" class="wolai-search-switch" data-search-switch="exact" role="switch" aria-checked="false" aria-label="精确匹配"></button></span>' +
|
||||
'<span class="wolai-search-sort-control"><span>资料库模式</span><select class="wolai-search-sort-value" data-search-knowledge-mode aria-label="资料库检索模式"><option value="mix">综合</option><option value="hybrid">图谱混合</option><option value="naive">向量</option><option value="local">实体</option><option value="global">关系</option><option value="exact">关键词</option></select></span>' +
|
||||
'<span class="wolai-search-sort-control"><span>资料库模式</span><select class="wolai-search-sort-value" data-search-knowledge-mode aria-label="资料库检索模式"><option value="exact" selected>关键词</option><option value="mix">综合</option><option value="hybrid">图谱混合</option><option value="naive">向量</option><option value="local">实体</option><option value="global">关系</option></select></span>' +
|
||||
'<span class="wolai-search-sort-control"><span>按编辑时间</span><button type="button" class="wolai-search-sort-value" data-search-sort="updated" aria-label="按编辑时间范围">所有</button></span>' +
|
||||
'<span class="wolai-search-sort-control"><span>按创建时间</span><button type="button" class="wolai-search-sort-value" data-search-sort="created" aria-label="按创建时间范围">所有</button></span>' +
|
||||
'</div>' +
|
||||
'<div class="wolai-search-options-right">' +
|
||||
'<span class="wolai-search-switch-control"><span>全盘资料库</span><button type="button" class="wolai-search-switch" data-search-switch="knowledge" role="switch" aria-checked="false" aria-label="全盘资料库检索"></button></span>' +
|
||||
'<span class="wolai-search-switch-control"><span>全盘资料库</span><button type="button" class="wolai-search-switch is-on" data-search-switch="knowledge" role="switch" aria-checked="true" aria-label="全盘资料库检索"></button></span>' +
|
||||
'<span class="wolai-search-switch-control"><span>页面内搜索</span><button type="button" class="wolai-search-switch" data-search-switch="page" role="switch" aria-checked="false" aria-label="页面内搜索"></button></span>' +
|
||||
'<span class="wolai-search-switch-control"><span>折叠同来源</span><button type="button" class="wolai-search-switch is-on" data-search-switch="collapseSource" role="switch" aria-checked="true" aria-label="默认折叠相同来源结果"></button></span>' +
|
||||
'</div>' +
|
||||
@@ -2152,7 +2152,9 @@ import { createSidebarPageSettingsRuntime } from './sidebar-page-settings-runtim
|
||||
document.body.appendChild(overlay);
|
||||
var input = overlay.querySelector('[data-testid="wolai-search-input"]');
|
||||
var closeButton = overlay.querySelector('[data-testid="wolai-search-close"]');
|
||||
applySearchSwitchState(overlay, { collapseSource: readSearchCollapseSourcesDefault() });
|
||||
applySearchSwitchState(overlay, { knowledge: true, collapseSource: readSearchCollapseSourcesDefault() });
|
||||
var initialKnowledgeModeSelect = overlay.querySelector('[data-search-knowledge-mode]');
|
||||
if (initialKnowledgeModeSelect && 'value' in initialKnowledgeModeSelect) initialKnowledgeModeSelect.value = 'exact';
|
||||
if (input) input.addEventListener('input', function() {
|
||||
searchUiState.hasRendered = false;
|
||||
scheduleSearchResultsRender();
|
||||
@@ -2194,7 +2196,7 @@ import { createSidebarPageSettingsRuntime } from './sidebar-page-settings-runtim
|
||||
metaHtml: '',
|
||||
resultsHtml: '',
|
||||
items: [],
|
||||
knowledgeMode: 'mix',
|
||||
knowledgeMode: 'exact',
|
||||
sourceCollapsed: {},
|
||||
scrollTop: 0,
|
||||
signature: '',
|
||||
@@ -2345,7 +2347,7 @@ import { createSidebarPageSettingsRuntime } from './sidebar-page-settings-runtim
|
||||
if (input && 'value' in input) input.value = searchUiState.query || '';
|
||||
applySearchSwitchState(overlay, searchUiState.switches);
|
||||
var knowledgeModeSelect = overlay.querySelector('[data-search-knowledge-mode]');
|
||||
if (knowledgeModeSelect && 'value' in knowledgeModeSelect) knowledgeModeSelect.value = searchUiState.knowledgeMode || 'mix';
|
||||
if (knowledgeModeSelect && 'value' in knowledgeModeSelect) knowledgeModeSelect.value = searchUiState.knowledgeMode || 'exact';
|
||||
if (options instanceof HTMLElement) options.hidden = !searchText(searchUiState.query);
|
||||
if (meta && searchUiState.metaHtml) meta.innerHTML = searchUiState.metaHtml;
|
||||
if (results && searchUiState.resultsHtml) {
|
||||
|
||||
Reference in New Issue
Block a user