haive.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¶

AdaptiveQueryDecomposerAgent

Adaptive query decomposition that selects best strategy.

ContextualDecomposition

Context-aware query decomposition.

ContextualQueryDecomposerAgent

Context-aware query decomposition agent.

HierarchicalDecomposition

Hierarchical query decomposition with levels.

HierarchicalQueryDecomposerAgent

Hierarchical query decomposition agent.

QueryDecomposerAgent

Basic query decomposition agent.

QueryDecomposition

Complete query decomposition result.

QueryType

Types of queries for decomposition strategy.

SubQuery

Individual sub-query in decomposition.

Functions¶

create_query_decomposer([decomposer_type, llm_config])

Create a query decomposer agent.

get_query_decomposer_io_schema()

Get I/O schema for query decomposers for compatibility checking.

Module Contents¶

class haive.agents.rag.query_decomposition.agent.AdaptiveQueryDecomposerAgent¶

Bases: haive.agents.base.agent.Agent

Adaptive query decomposition that selects best strategy.

build_graph()¶

Build adaptive decomposition graph.

Return type:

haive.core.graph.state_graph.base_graph2.BaseGraph

class haive.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 haive.agents.rag.query_decomposition.agent.ContextualQueryDecomposerAgent¶

Bases: haive.agents.base.agent.Agent

Context-aware query decomposition agent.

build_graph()¶

Build contextual decomposition graph.

Return type:

haive.core.graph.state_graph.base_graph2.BaseGraph

class haive.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 haive.agents.rag.query_decomposition.agent.HierarchicalQueryDecomposerAgent¶

Bases: haive.agents.base.agent.Agent

Hierarchical query decomposition agent.

build_graph()¶

Build hierarchical decomposition graph.

Return type:

haive.core.graph.state_graph.base_graph2.BaseGraph

class haive.agents.rag.query_decomposition.agent.QueryDecomposerAgent¶

Bases: haive.agents.base.agent.Agent

Basic query decomposition agent.

build_graph()¶

Build query decomposition graph.

Return type:

haive.core.graph.state_graph.base_graph2.BaseGraph

class haive.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 haive.agents.rag.query_decomposition.agent.QueryType¶

Bases: str, enum.Enum

Types of queries for decomposition strategy.

Initialize self. See help(type(self)) for accurate signature.

class haive.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)

haive.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

haive.agents.rag.query_decomposition.agent.get_query_decomposer_io_schema()¶

Get I/O schema for query decomposers for compatibility checking.

Return type:

dict[str, list[str]]