Skip to content

Retrieval Parameter Extractor

Modules concerning the retrieval parameter extractors used in Gen AI applications.

LMBasedRetrievalParameterExtractor(lm_request_processor, validator=None)

Bases: BaseRetrievalParameterExtractor, UsesLM

A retrieval parameter extractor that uses a language model to extract parameters from a query.

This class processes input queries and additional parameters through a language model to extract structured parameters for retrieval operations.

Attributes:

Name Type Description
lm_request_processor LMRequestProcessor

The language model processor for parameter extraction.

validator dict[str, Any] | type[BaseModel]

The validator schema or Pydantic model.

Note

The LM request processor's prompt template MUST include placeholders for all parameters: - The 'query' parameter is required - Any additional parameters passed through kwargs must also have corresponding placeholders in the prompt template.

Example Usage

extractor = LMBasedRetrievalParameterExtractor(lm_request_processor) params = await extractor.extract_parameters( "Find security documentation", department="InfoSec", content_type="security_policies" )

Example Prompt Template

query: {query} department: {department} content_type: {content_type}

Example Output

{ "query": "Find security documentation", "filters": [ { "field": "category", "operator": "eq", "value": "security_policies" }, { "field": "department", "operator": "eq", "value": "InfoSec" } ], "sort": [ { "field": "date", "order": "desc" } ] }

Initialize the LMRetrievalParameterExtractor.

Parameters:

Name Type Description Default
lm_request_processor LMRequestProcessor

The language model processor for parameter extraction.

required
validator dict[str, Any] | type[BaseModel]

The validator schema or Pydantic model. Defaults to None.

None