Home / Function/ amerge_documents() — langchain Function Reference

amerge_documents() — langchain Function Reference

Architecture documentation for the amerge_documents() function in merger_retriever.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  24216958_8912_8cb9_1a2c_d54e9c9bcaca["amerge_documents()"]
  d3431bb4_b3e7_972f_7bf0_e9f01c630ed7["MergerRetriever"]
  24216958_8912_8cb9_1a2c_d54e9c9bcaca -->|defined in| d3431bb4_b3e7_972f_7bf0_e9f01c630ed7
  5a02cb7f_900b_f2de_bb3b_10f53debbc54["_aget_relevant_documents()"]
  5a02cb7f_900b_f2de_bb3b_10f53debbc54 -->|calls| 24216958_8912_8cb9_1a2c_d54e9c9bcaca
  style 24216958_8912_8cb9_1a2c_d54e9c9bcaca fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain/langchain_classic/retrievers/merger_retriever.py lines 86–119

    async def amerge_documents(
        self,
        query: str,
        run_manager: AsyncCallbackManagerForRetrieverRun,
    ) -> list[Document]:
        """Asynchronously merge the results of the retrievers.

        Args:
            query: The query to search for.
            run_manager: The callback handler to use.

        Returns:
            A list of merged documents.
        """
        # Get the results of all retrievers.
        retriever_docs = await asyncio.gather(
            *(
                retriever.ainvoke(
                    query,
                    config={"callbacks": run_manager.get_child(f"retriever_{i + 1}")},
                )
                for i, retriever in enumerate(self.retrievers)
            ),
        )

        # Merge the results of the retrievers.
        merged_documents = []
        max_docs = max(map(len, retriever_docs), default=0)
        for i in range(max_docs):
            for _retriever, doc in zip(self.retrievers, retriever_docs, strict=False):
                if i < len(doc):
                    merged_documents.append(doc[i])

        return merged_documents

Domain

Subdomains

Frequently Asked Questions

What does amerge_documents() do?
amerge_documents() is a function in the langchain codebase, defined in libs/langchain/langchain_classic/retrievers/merger_retriever.py.
Where is amerge_documents() defined?
amerge_documents() is defined in libs/langchain/langchain_classic/retrievers/merger_retriever.py at line 86.
What calls amerge_documents()?
amerge_documents() is called by 1 function(s): _aget_relevant_documents.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free