feat(AI): don't rerank docs based on preview. just rely on search results for relevance
This commit is contained in:
parent
c47a630372
commit
044f30a547
1 changed files with 10 additions and 12 deletions
|
|
@ -472,7 +472,13 @@ class MetaSearchAgent implements MetaSearchAgentType {
|
||||||
}
|
}
|
||||||
} else if (optimizationMode === 'balanced') {
|
} else if (optimizationMode === 'balanced') {
|
||||||
this.emitProgress(emitter, 40, `Ranking sources`);
|
this.emitProgress(emitter, 40, `Ranking sources`);
|
||||||
let sortedDocs = await getRankedDocs(queryEmbedding, true, true, 10);
|
// Get the top ranked attached files, if any
|
||||||
|
let sortedDocs = await getRankedDocs(queryEmbedding, true, false, 8);
|
||||||
|
|
||||||
|
sortedDocs = [
|
||||||
|
...sortedDocs,
|
||||||
|
...docsWithContent.slice(0, 15 - sortedDocs.length),
|
||||||
|
];
|
||||||
|
|
||||||
this.emitProgress(emitter, 60, `Enriching sources`);
|
this.emitProgress(emitter, 60, `Enriching sources`);
|
||||||
sortedDocs = await Promise.all(
|
sortedDocs = await Promise.all(
|
||||||
|
|
@ -508,14 +514,6 @@ class MetaSearchAgent implements MetaSearchAgentType {
|
||||||
} else if (optimizationMode === 'quality') {
|
} else if (optimizationMode === 'quality') {
|
||||||
this.emitProgress(emitter, 30, 'Ranking sources...');
|
this.emitProgress(emitter, 30, 'Ranking sources...');
|
||||||
|
|
||||||
// Get the top ranked web results for detailed analysis based off their preview embeddings
|
|
||||||
const topWebResults = await getRankedDocs(
|
|
||||||
queryEmbedding,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
30,
|
|
||||||
);
|
|
||||||
|
|
||||||
const summaryParser = new LineOutputParser({
|
const summaryParser = new LineOutputParser({
|
||||||
key: 'summary',
|
key: 'summary',
|
||||||
});
|
});
|
||||||
|
|
@ -523,14 +521,14 @@ class MetaSearchAgent implements MetaSearchAgentType {
|
||||||
// Get full content and generate detailed summaries for top results sequentially
|
// Get full content and generate detailed summaries for top results sequentially
|
||||||
const enhancedDocs: Document[] = [];
|
const enhancedDocs: Document[] = [];
|
||||||
const maxEnhancedDocs = 5;
|
const maxEnhancedDocs = 5;
|
||||||
for (let i = 0; i < topWebResults.length; i++) {
|
for (let i = 0; i < docsWithContent.length; i++) {
|
||||||
if (signal.aborted) {
|
if (signal.aborted) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
if (enhancedDocs.length >= maxEnhancedDocs) {
|
if (enhancedDocs.length >= maxEnhancedDocs) {
|
||||||
break; // Limit to 5 documents
|
break; // Limit to 5 documents
|
||||||
}
|
}
|
||||||
const result = topWebResults[i];
|
const result = docsWithContent[i];
|
||||||
|
|
||||||
this.emitProgress(
|
this.emitProgress(
|
||||||
emitter,
|
emitter,
|
||||||
|
|
@ -593,7 +591,7 @@ class MetaSearchAgent implements MetaSearchAgentType {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add relevant file documents
|
// Add relevant file documents
|
||||||
const fileDocs = await getRankedDocs(queryEmbedding, true, false, 5);
|
const fileDocs = await getRankedDocs(queryEmbedding, true, false, 8);
|
||||||
|
|
||||||
return [...enhancedDocs, ...fileDocs];
|
return [...enhancedDocs, ...fileDocs];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue