Home / Function/ _aget_relevant_documents() — langchain Function Reference

_aget_relevant_documents() — langchain Function Reference

Architecture documentation for the _aget_relevant_documents() function in multi_vector.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  57699508_922d_f9de_b836_1f93a0bf0af3["_aget_relevant_documents()"]
  c7ceffe2_56b9_b96d_5de5_8e679b778e9a["MultiVectorRetriever"]
  57699508_922d_f9de_b836_1f93a0bf0af3 -->|defined in| c7ceffe2_56b9_b96d_5de5_8e679b778e9a
  style 57699508_922d_f9de_b836_1f93a0bf0af3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain/langchain_classic/retrievers/multi_vector.py lines 103–142

    async def _aget_relevant_documents(
        self,
        query: str,
        *,
        run_manager: AsyncCallbackManagerForRetrieverRun,
    ) -> list[Document]:
        """Asynchronously get documents relevant to a query.

        Args:
            query: String to find relevant documents for
            run_manager: The callbacks handler to use
        Returns:
            List of relevant documents.
        """
        if self.search_type == SearchType.mmr:
            sub_docs = await self.vectorstore.amax_marginal_relevance_search(
                query,
                **self.search_kwargs,
            )
        elif self.search_type == SearchType.similarity_score_threshold:
            sub_docs_and_similarities = (
                await self.vectorstore.asimilarity_search_with_relevance_scores(
                    query,
                    **self.search_kwargs,
                )
            )
            sub_docs = [sub_doc for sub_doc, _ in sub_docs_and_similarities]
        else:
            sub_docs = await self.vectorstore.asimilarity_search(
                query,
                **self.search_kwargs,
            )

        # We do this to maintain the order of the IDs that are returned
        ids = []
        for d in sub_docs:
            if self.id_key in d.metadata and d.metadata[self.id_key] not in ids:
                ids.append(d.metadata[self.id_key])
        docs = await self.docstore.amget(ids)
        return [d for d in docs if d is not None]

Domain

Subdomains

Frequently Asked Questions

What does _aget_relevant_documents() do?
_aget_relevant_documents() is a function in the langchain codebase, defined in libs/langchain/langchain_classic/retrievers/multi_vector.py.
Where is _aget_relevant_documents() defined?
_aget_relevant_documents() is defined in libs/langchain/langchain_classic/retrievers/multi_vector.py at line 103.

Analyze Your Own Codebase

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

Try Supermodel Free