agents.rag.query_decomposition.agent¶
Query Decomposition Agents.
Modular agents for breaking down complex queries into manageable sub-queries. Can be plugged into any workflow with compatible I/O schemas.
Classes¶
Adaptive query decomposition that selects best strategy. |
|
Context-aware query decomposition. |
|
Context-aware query decomposition agent. |
|
Hierarchical query decomposition with levels. |
|
Hierarchical query decomposition agent. |
|
Basic query decomposition agent. |
|
Complete query decomposition result. |
|
Types of queries for decomposition strategy. |
|
Individual sub-query in decomposition. |
Functions¶
|
Create a query decomposer agent. |
Get I/O schema for query decomposers for compatibility checking. |
Module Contents¶
- class agents.rag.query_decomposition.agent.AdaptiveQueryDecomposerAgent(llm_config=None, enable_fallback=True, **kwargs)¶
Bases:
haive.agents.base.agent.Agent
Adaptive query decomposition that selects best strategy.
Initialize adaptive query decomposer.
- Parameters:
llm_config (haive.core.models.llm.base.LLMConfig | None) – LLM configuration
enable_fallback (bool) – Whether to fallback to simpler decomposition if needed
**kwargs – Additional agent arguments
- build_graph()¶
Build adaptive decomposition graph.
- Return type:
haive.core.graph.state_graph.base_graph2.BaseGraph
- class agents.rag.query_decomposition.agent.ContextualDecomposition(/, **data)¶
Bases:
pydantic.BaseModel
Context-aware query decomposition.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- class agents.rag.query_decomposition.agent.ContextualQueryDecomposerAgent(llm_config=None, context_threshold=0.7, **kwargs)¶
Bases:
haive.agents.base.agent.Agent
Context-aware query decomposition agent.
Initialize contextual query decomposer.
- Parameters:
llm_config (haive.core.models.llm.base.LLMConfig | None) – LLM configuration
context_threshold (float) – Threshold for context sufficiency
**kwargs – Additional agent arguments
- build_graph()¶
Build contextual decomposition graph.
- Return type:
haive.core.graph.state_graph.base_graph2.BaseGraph
- class agents.rag.query_decomposition.agent.HierarchicalDecomposition(/, **data)¶
Bases:
pydantic.BaseModel
Hierarchical query decomposition with levels.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- class agents.rag.query_decomposition.agent.HierarchicalQueryDecomposerAgent(llm_config=None, max_levels=3, **kwargs)¶
Bases:
haive.agents.base.agent.Agent
Hierarchical query decomposition agent.
Initialize hierarchical query decomposer.
- Parameters:
llm_config (haive.core.models.llm.base.LLMConfig | None) – LLM configuration
max_levels (int) – Maximum hierarchy levels
**kwargs – Additional agent arguments
- build_graph()¶
Build hierarchical decomposition graph.
- Return type:
haive.core.graph.state_graph.base_graph2.BaseGraph
- class agents.rag.query_decomposition.agent.QueryDecomposerAgent(llm_config=None, max_sub_queries=5, **kwargs)¶
Bases:
haive.agents.base.agent.Agent
Basic query decomposition agent.
Initialize query decomposer.
- Parameters:
llm_config (haive.core.models.llm.base.LLMConfig | None) – LLM configuration
max_sub_queries (int) – Maximum number of sub-queries to generate
**kwargs – Additional agent arguments
- build_graph()¶
Build query decomposition graph.
- Return type:
haive.core.graph.state_graph.base_graph2.BaseGraph
- class agents.rag.query_decomposition.agent.QueryDecomposition(/, **data)¶
Bases:
pydantic.BaseModel
Complete query decomposition result.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- class agents.rag.query_decomposition.agent.QueryType¶
-
Types of queries for decomposition strategy.
Initialize self. See help(type(self)) for accurate signature.
- class agents.rag.query_decomposition.agent.SubQuery(/, **data)¶
Bases:
pydantic.BaseModel
Individual sub-query in decomposition.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- agents.rag.query_decomposition.agent.create_query_decomposer(decomposer_type='basic', llm_config=None, **kwargs)¶
Create a query decomposer agent.
- Parameters:
decomposer_type (Literal['basic', 'hierarchical', 'contextual', 'adaptive']) – Type of decomposer to create
llm_config (haive.core.models.llm.base.LLMConfig | None) – LLM configuration
**kwargs – Additional arguments
- Returns:
Configured query decomposer agent
- Return type:
haive.agents.base.agent.Agent