agents.rag.fusion.agent¶
RAG Fusion Agents.
from typing import Any Implementation of RAG Fusion with reciprocal rank fusion for enhanced retrieval. Based on the architecture pattern from rag-architectures-flows.md.
Classes¶
Results from reciprocal rank fusion. |
|
Agent that uses a callable node for multi-query retrieval - proper Pydantic approach. |
|
Enhanced query variations for fusion. |
|
Complete RAG Fusion agent with query expansion and RRF. |
|
Agent that performs reciprocal rank fusion on multiple retrieval results. |
Functions¶
|
Create a callable function for multi-query retrieval that can be used as a graph node. |
|
Create a RAG Fusion agent. |
Get I/O schema for RAG Fusion agents. |
Module Contents¶
- class agents.rag.fusion.agent.FusionResult(/, **data)¶
Bases:
pydantic.BaseModel
Results from reciprocal rank fusion.
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.fusion.agent.MultiQueryRetrievalAgent¶
Bases:
haive.agents.base.agent.Agent
Agent that uses a callable node for multi-query retrieval - proper Pydantic approach.
- build_graph()¶
Build multi-query retrieval graph with callable node using Pydantic fields.
- Return type:
haive.core.graph.state_graph.base_graph2.BaseGraph
- class agents.rag.fusion.agent.QueryVariationsFusion(/, **data)¶
Bases:
pydantic.BaseModel
Enhanced query variations for fusion.
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.fusion.agent.RAGFusionAgent(config)¶
Bases:
haive.agents.multi.base.SequentialAgent
Complete RAG Fusion agent with query expansion and RRF.
Init .
- Parameters:
config (SequentialAgentConfig) – [TODO: Add description]
- classmethod from_documents(documents, llm_config=None, embedding_model=None, num_variations=3, k_parameter=60.0, **kwargs)¶
Create RAG Fusion agent from documents.
- Parameters:
documents (list[langchain_core.documents.Document]) – Documents to index
llm_config (haive.core.models.llm.base.LLMConfig | None) – LLM configuration
embedding_model (str | None) – Embedding model for retrieval
num_variations (int) – Number of query variations to generate
k_parameter (float) – RRF k parameter
**kwargs – Additional arguments
- Returns:
RAGFusionAgent instance
- class agents.rag.fusion.agent.ReciprocalRankFusionAgent¶
Bases:
haive.agents.base.agent.Agent
Agent that performs reciprocal rank fusion on multiple retrieval results.
- build_graph()¶
Build RRF fusion graph.
- Return type:
haive.core.graph.state_graph.base_graph2.BaseGraph
- agents.rag.fusion.agent.create_multi_query_retrieval_callable(documents, embedding_model=None, max_docs_per_query=10)¶
Create a callable function for multi-query retrieval that can be used as a graph node.
- agents.rag.fusion.agent.create_rag_fusion_agent(documents, llm_config=None, fusion_type='standard', **kwargs)¶
Create a RAG Fusion agent.
- Parameters:
- Returns:
Configured RAG Fusion agent
- Return type: