Home / Function/ _build_vectors() — langchain Function Reference

_build_vectors() — langchain Function Reference

Architecture documentation for the _build_vectors() function in qdrant.py from the langchain codebase.

Function python LangChainCore Runnables calls 1 called by 1

Entity Profile

Dependency Diagram

graph TD
  b6a0e093_c39e_398d_bfa1_46505881abd6["_build_vectors()"]
  671b47a0_cdd3_a89d_e90f_0631a4bd67d3["QdrantVectorStore"]
  b6a0e093_c39e_398d_bfa1_46505881abd6 -->|defined in| 671b47a0_cdd3_a89d_e90f_0631a4bd67d3
  e5f5df10_5f00_b3ee_ed57_3bff5ff2fd2d["_generate_batches()"]
  e5f5df10_5f00_b3ee_ed57_3bff5ff2fd2d -->|calls| b6a0e093_c39e_398d_bfa1_46505881abd6
  301071b8_045d_6589_e8d8_41bad61e4260["_require_embeddings()"]
  b6a0e093_c39e_398d_bfa1_46505881abd6 -->|calls| 301071b8_045d_6589_e8d8_41bad61e4260
  style b6a0e093_c39e_398d_bfa1_46505881abd6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/partners/qdrant/langchain_qdrant/qdrant.py lines 1098–1147

    def _build_vectors(
        self,
        texts: Iterable[str],
    ) -> list[models.VectorStruct]:
        if self.retrieval_mode == RetrievalMode.DENSE:
            embeddings = self._require_embeddings("DENSE mode")
            batch_embeddings = embeddings.embed_documents(list(texts))
            return [
                {
                    self.vector_name: vector,
                }
                for vector in batch_embeddings
            ]

        if self.retrieval_mode == RetrievalMode.SPARSE:
            batch_sparse_embeddings = self.sparse_embeddings.embed_documents(
                list(texts)
            )
            return [
                {
                    self.sparse_vector_name: models.SparseVector(
                        values=vector.values, indices=vector.indices
                    )
                }
                for vector in batch_sparse_embeddings
            ]

        if self.retrieval_mode == RetrievalMode.HYBRID:
            embeddings = self._require_embeddings("HYBRID mode")
            dense_embeddings = embeddings.embed_documents(list(texts))
            sparse_embeddings = self.sparse_embeddings.embed_documents(list(texts))

            if len(dense_embeddings) != len(sparse_embeddings):
                msg = "Mismatched length between dense and sparse embeddings."
                raise ValueError(msg)

            return [
                {
                    self.vector_name: dense_vector,
                    self.sparse_vector_name: models.SparseVector(
                        values=sparse_vector.values, indices=sparse_vector.indices
                    ),
                }
                for dense_vector, sparse_vector in zip(
                    dense_embeddings, sparse_embeddings, strict=False
                )
            ]

        msg = f"Unknown retrieval mode. {self.retrieval_mode} to build vectors."
        raise ValueError(msg)

Domain

Subdomains

Frequently Asked Questions

What does _build_vectors() do?
_build_vectors() is a function in the langchain codebase, defined in libs/partners/qdrant/langchain_qdrant/qdrant.py.
Where is _build_vectors() defined?
_build_vectors() is defined in libs/partners/qdrant/langchain_qdrant/qdrant.py at line 1098.
What does _build_vectors() call?
_build_vectors() calls 1 function(s): _require_embeddings.
What calls _build_vectors()?
_build_vectors() is called by 1 function(s): _generate_batches.

Analyze Your Own Codebase

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

Try Supermodel Free