construct_instance() — langchain Function Reference
Architecture documentation for the construct_instance() function in qdrant.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 0eee8f8f_565a_e169_7071_de903da2cbd3["construct_instance()"] 671b47a0_cdd3_a89d_e90f_0631a4bd67d3["QdrantVectorStore"] 0eee8f8f_565a_e169_7071_de903da2cbd3 -->|defined in| 671b47a0_cdd3_a89d_e90f_0631a4bd67d3 88421693_b7b6_8b4b_b6ab_bf2897b37dfe["from_texts()"] 88421693_b7b6_8b4b_b6ab_bf2897b37dfe -->|calls| 0eee8f8f_565a_e169_7071_de903da2cbd3 09bf631d_0a09_6ea2_a66a_e380f0889c5a["_validate_embeddings()"] 0eee8f8f_565a_e169_7071_de903da2cbd3 -->|calls| 09bf631d_0a09_6ea2_a66a_e380f0889c5a f3995a8f_51a1_a376_2f6a_8d9f0f7797e6["_validate_collection_config()"] 0eee8f8f_565a_e169_7071_de903da2cbd3 -->|calls| f3995a8f_51a1_a376_2f6a_8d9f0f7797e6 style 0eee8f8f_565a_e169_7071_de903da2cbd3 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/partners/qdrant/langchain_qdrant/qdrant.py lines 891–997
def construct_instance(
cls: type[QdrantVectorStore],
embedding: Embeddings | None = None,
retrieval_mode: RetrievalMode = RetrievalMode.DENSE,
sparse_embedding: SparseEmbeddings | None = None,
client_options: dict[str, Any] | None = None,
collection_name: str | None = None,
distance: models.Distance = models.Distance.COSINE,
content_payload_key: str = CONTENT_KEY,
metadata_payload_key: str = METADATA_KEY,
vector_name: str = VECTOR_NAME,
sparse_vector_name: str = SPARSE_VECTOR_NAME,
force_recreate: bool = False, # noqa: FBT001, FBT002
collection_create_options: dict[str, Any] | None = None,
vector_params: dict[str, Any] | None = None,
sparse_vector_params: dict[str, Any] | None = None,
validate_embeddings: bool = True, # noqa: FBT001, FBT002
validate_collection_config: bool = True, # noqa: FBT001, FBT002
) -> QdrantVectorStore:
if sparse_vector_params is None:
sparse_vector_params = {}
if vector_params is None:
vector_params = {}
if collection_create_options is None:
collection_create_options = {}
if client_options is None:
client_options = {}
if validate_embeddings:
cls._validate_embeddings(retrieval_mode, embedding, sparse_embedding)
collection_name = collection_name or uuid.uuid4().hex
client = QdrantClient(**client_options)
collection_exists = client.collection_exists(collection_name)
if collection_exists and force_recreate:
client.delete_collection(collection_name)
collection_exists = False
if collection_exists:
if validate_collection_config:
cls._validate_collection_config(
client,
collection_name,
retrieval_mode,
vector_name,
sparse_vector_name,
distance,
embedding,
)
else:
vectors_config, sparse_vectors_config = {}, {}
if retrieval_mode == RetrievalMode.DENSE:
partial_embeddings = embedding.embed_documents(["dummy_text"]) # type: ignore[union-attr]
vector_params["size"] = len(partial_embeddings[0])
vector_params["distance"] = distance
vectors_config = {
vector_name: models.VectorParams(
**vector_params,
)
}
elif retrieval_mode == RetrievalMode.SPARSE:
sparse_vectors_config = {
sparse_vector_name: models.SparseVectorParams(
**sparse_vector_params
)
}
elif retrieval_mode == RetrievalMode.HYBRID:
partial_embeddings = embedding.embed_documents(["dummy_text"]) # type: ignore[union-attr]
vector_params["size"] = len(partial_embeddings[0])
vector_params["distance"] = distance
vectors_config = {
vector_name: models.VectorParams(
**vector_params,
)
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does construct_instance() do?
construct_instance() is a function in the langchain codebase, defined in libs/partners/qdrant/langchain_qdrant/qdrant.py.
Where is construct_instance() defined?
construct_instance() is defined in libs/partners/qdrant/langchain_qdrant/qdrant.py at line 891.
What does construct_instance() call?
construct_instance() calls 2 function(s): _validate_collection_config, _validate_embeddings.
What calls construct_instance()?
construct_instance() is called by 1 function(s): from_texts.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free