Skip to content
Snippets Groups Projects
Unverified Commit 9e74a432 authored by Yi Ding's avatar Yi Ding Committed by GitHub
Browse files

feat: add top k to `asQueryEngine` (#801)


Co-authored-by: default avatarAlex Yang <himself65@outlook.com>
parent 5e61934d
No related branches found
No related tags found
No related merge requests found
---
"llamaindex": patch
---
feat: add top k to `asQueryEngine`
...@@ -279,18 +279,29 @@ export class VectorStoreIndex extends BaseIndex<IndexDict> { ...@@ -279,18 +279,29 @@ export class VectorStoreIndex extends BaseIndex<IndexDict> {
return new VectorIndexRetriever({ index: this, ...options }); return new VectorIndexRetriever({ index: this, ...options });
} }
/**
* Create a RetrieverQueryEngine.
* similarityTopK is only used if no existing retriever is provided.
*/
asQueryEngine(options?: { asQueryEngine(options?: {
retriever?: BaseRetriever; retriever?: BaseRetriever;
responseSynthesizer?: BaseSynthesizer; responseSynthesizer?: BaseSynthesizer;
preFilters?: MetadataFilters; preFilters?: MetadataFilters;
nodePostprocessors?: BaseNodePostprocessor[]; nodePostprocessors?: BaseNodePostprocessor[];
similarityTopK?: number;
}): QueryEngine & RetrieverQueryEngine { }): QueryEngine & RetrieverQueryEngine {
const { retriever, responseSynthesizer } = options ?? {}; const {
retriever,
responseSynthesizer,
preFilters,
nodePostprocessors,
similarityTopK,
} = options ?? {};
return new RetrieverQueryEngine( return new RetrieverQueryEngine(
retriever ?? this.asRetriever(), retriever ?? this.asRetriever({ similarityTopK }),
responseSynthesizer, responseSynthesizer,
options?.preFilters, preFilters,
options?.nodePostprocessors, nodePostprocessors,
); );
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment