Skip to content

Keyword Path Retriever

KeywordsPathRetriever expands a query into key phrases, retrieves matching entity seeds, and synthesizes one-hop graph context into the returned node content. This makes graph neighborhoods directly usable by downstream prompting without exposing low-level traversal code first.

grawiki.retrieval.keywords

Keyword-driven retriever with graph-context expansion.

Keywords

Bases: BaseModel

Structured output returned by the keyword extraction model.

KeywordExtractor

Bases: Protocol

Protocol for extracting key phrases from a raw query.

extract async

extract(query)

Extract keyword phrases from query.

KeywordsPathRetriever

Bases: Retriever

Retrieve entity seeds from extracted keywords and attach graph context.

Parameters:

Name Type Description Default
model str

Chat model used by the default keyword extractor.

required
db GraphDB

Graph database adapter used for vector search and neighbor expansion.

required
embedding Embedding

Shared embedder used to embed extracted keywords.

required
keyword_extractor KeywordExtractor | None

Override for tests or alternative extraction strategies.

None
path_limit int

Maximum number of one-hop relationships included per seed entity.

5

retrieve async

retrieve(query, limit=5, *args, **kwargs)

Retrieve entity hits enriched with one-hop graph context.

Parameters:

Name Type Description Default
query str

Raw user query text.

required
limit int

Maximum number of enriched entity hits to return.

5

Returns:

Type Description
list[NodeHit]

Scored entity hits with synthesized context text stored in node.properties["content"].