haive.agents.rag.fusion.agent ============================= .. py:module:: haive.agents.rag.fusion.agent .. autoapi-nested-parse:: 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 ------- .. autoapisummary:: haive.agents.rag.fusion.agent.FusionResult haive.agents.rag.fusion.agent.MultiQueryRetrievalAgent haive.agents.rag.fusion.agent.QueryVariationsFusion haive.agents.rag.fusion.agent.RAGFusionAgent haive.agents.rag.fusion.agent.ReciprocalRankFusionAgent Functions --------- .. autoapisummary:: haive.agents.rag.fusion.agent.create_multi_query_retrieval_callable haive.agents.rag.fusion.agent.create_rag_fusion_agent haive.agents.rag.fusion.agent.get_rag_fusion_io_schema Module Contents --------------- .. py:class:: FusionResult(/, **data) Bases: :py:obj:`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. .. py:class:: MultiQueryRetrievalAgent Bases: :py:obj:`haive.agents.base.agent.Agent` Agent that uses a callable node for multi-query retrieval - proper Pydantic approach. .. py:method:: build_graph() Build multi-query retrieval graph with callable node using Pydantic fields. .. py:class:: QueryVariationsFusion(/, **data) Bases: :py:obj:`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. .. py:class:: RAGFusionAgent Bases: :py:obj:`haive.agents.multi.base.SequentialAgent` Complete RAG Fusion agent with query expansion and RRF. .. py:method:: from_documents(documents, llm_config = None, embedding_model = None, num_variations = 3, k_parameter = 60.0, **kwargs) :classmethod: Create RAG Fusion agent from documents. :param documents: Documents to index :param llm_config: LLM configuration :param embedding_model: Embedding model for retrieval :param num_variations: Number of query variations to generate :param k_parameter: RRF k parameter :param \*\*kwargs: Additional arguments :returns: RAGFusionAgent instance .. py:class:: ReciprocalRankFusionAgent Bases: :py:obj:`haive.agents.base.agent.Agent` Agent that performs reciprocal rank fusion on multiple retrieval results. .. py:method:: build_graph() Build RRF fusion graph. .. py:function:: 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. .. py:function:: create_rag_fusion_agent(documents, llm_config = None, fusion_type = 'standard', **kwargs) Create a RAG Fusion agent. :param documents: Documents for retrieval :param llm_config: LLM configuration :param fusion_type: Type of fusion ("standard", "aggressive", "conservative") :param \*\*kwargs: Additional arguments :returns: Configured RAG Fusion agent .. py:function:: get_rag_fusion_io_schema() Get I/O schema for RAG Fusion agents.