Skip to content

Commit

Permalink
feat: add top k to asQueryEngine (#801)
Browse files Browse the repository at this point in the history
Co-authored-by: Alex Yang <[email protected]>
  • Loading branch information
yisding and himself65 authored May 3, 2024
1 parent 5e61934 commit 9e74a43
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 4 deletions.
5 changes: 5 additions & 0 deletions .changeset/slow-adults-nail.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"llamaindex": patch
---

feat: add top k to `asQueryEngine`
19 changes: 15 additions & 4 deletions packages/core/src/indices/vectorStore/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -279,18 +279,29 @@ export class VectorStoreIndex extends BaseIndex<IndexDict> {
return new VectorIndexRetriever({ index: this, ...options });
}

/**
* Create a RetrieverQueryEngine.
* similarityTopK is only used if no existing retriever is provided.
*/
asQueryEngine(options?: {
retriever?: BaseRetriever;
responseSynthesizer?: BaseSynthesizer;
preFilters?: MetadataFilters;
nodePostprocessors?: BaseNodePostprocessor[];
similarityTopK?: number;
}): QueryEngine & RetrieverQueryEngine {
const { retriever, responseSynthesizer } = options ?? {};
const {
retriever,
responseSynthesizer,
preFilters,
nodePostprocessors,
similarityTopK,
} = options ?? {};
return new RetrieverQueryEngine(
retriever ?? this.asRetriever(),
retriever ?? this.asRetriever({ similarityTopK }),
responseSynthesizer,
options?.preFilters,
options?.nodePostprocessors,
preFilters,
nodePostprocessors,
);
}

Expand Down

0 comments on commit 9e74a43

Please sign in to comment.