Skip to content

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