API Reference¶
Engine¶
llm_context_search.engine.ContextSearchEngine
¶
Orchestrates the full search-to-context pipeline
search → normalize → dedupe → fetch → extract → score → chunk → rank → pack
All components are injected via constructor (DI / SOLID open-closed principle). Missing components default to the built-in implementations.
build_context(query, *, language='en', max_results=None, max_sources=None, max_passages=None, budget_tokens=None)
async
¶
Full pipeline – returns ContextBundle with context_text ready for LLM.
collect_sources(query, *, language='en', max_results=None, max_sources=None)
async
¶
Search, deduplicate, fetch and extract – returns SourceCollection.
search(query, *, language='en', max_results=None)
async
¶
Search only – returns raw SearchResult list without fetching pages.
Models¶
llm_context_search.models.ContextBundle
¶
Bases: BaseModel
llm_context_search.models.SourceCollection
¶
Bases: BaseModel
llm_context_search.models.SourceDocument
¶
Bases: BaseModel
llm_context_search.models.Passage
¶
Bases: BaseModel
llm_context_search.models.RetrievalStats
¶
Bases: BaseModel
llm_context_search.models.SearchResult
¶
Bases: BaseModel
Configuration¶
llm_context_search.config.ContextSearchConfig
¶
Bases: BaseModel
llm_context_search.config.FetchConfig
¶
Bases: BaseModel
Providers¶
llm_context_search.providers.searxng.SearXNGProvider
¶
Protocols¶
llm_context_search.providers.base.SearchProvider
¶
Bases: Protocol
llm_context_search.fetch.base.PageFetcherProtocol
¶
Bases: Protocol
llm_context_search.extract.base.ContentExtractor
¶
Bases: Protocol
llm_context_search.chunk.base.PassageChunker
¶
Bases: Protocol
llm_context_search.rank.base.PassageRanker
¶
Bases: Protocol
llm_context_search.rank.base.SourceScorer
¶
Bases: Protocol
llm_context_search.pack.base.ContextPacker
¶
Bases: Protocol