base.py — langchain Source File
Architecture documentation for base.py, a python file in the langchain codebase. 48 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 212bf0d5_b9c0_7381_8651_d188334ace30["base.py"] e27da29f_a1f7_49f3_84d5_6be4cb4125c8["logging"] 212bf0d5_b9c0_7381_8651_d188334ace30 --> e27da29f_a1f7_49f3_84d5_6be4cb4125c8 2bf6d401_816d_d011_3b05_a6114f55ff58["collections.abc"] 212bf0d5_b9c0_7381_8651_d188334ace30 --> 2bf6d401_816d_d011_3b05_a6114f55ff58 feec1ec4_6917_867b_d228_b134d0ff8099["typing"] 212bf0d5_b9c0_7381_8651_d188334ace30 --> feec1ec4_6917_867b_d228_b134d0ff8099 e61aa479_9dc0_09a0_8864_cbf23b8b506c["langchain_core.callbacks.manager"] 212bf0d5_b9c0_7381_8651_d188334ace30 --> e61aa479_9dc0_09a0_8864_cbf23b8b506c 6a98b0a5_5607_0043_2e22_a46a464c2d62["langchain_core.documents"] 212bf0d5_b9c0_7381_8651_d188334ace30 --> 6a98b0a5_5607_0043_2e22_a46a464c2d62 e929cf21_6ab8_6ff3_3765_0d35a099a053["langchain_core.language_models"] 212bf0d5_b9c0_7381_8651_d188334ace30 --> e929cf21_6ab8_6ff3_3765_0d35a099a053 2b1aa4a8_5352_1757_010a_46ac9ef4b0b0["langchain_core.retrievers"] 212bf0d5_b9c0_7381_8651_d188334ace30 --> 2b1aa4a8_5352_1757_010a_46ac9ef4b0b0 31eab4ab_7281_1e6c_b17d_12e6ad9de07a["langchain_core.runnables"] 212bf0d5_b9c0_7381_8651_d188334ace30 --> 31eab4ab_7281_1e6c_b17d_12e6ad9de07a c39a1380_2ee7_581e_4839_31617170612b["langchain_core.structured_query"] 212bf0d5_b9c0_7381_8651_d188334ace30 --> c39a1380_2ee7_581e_4839_31617170612b f75e66a0_314a_f961_16d7_464ee959064b["langchain_core.vectorstores"] 212bf0d5_b9c0_7381_8651_d188334ace30 --> f75e66a0_314a_f961_16d7_464ee959064b dd5e7909_a646_84f1_497b_cae69735550e["pydantic"] 212bf0d5_b9c0_7381_8651_d188334ace30 --> dd5e7909_a646_84f1_497b_cae69735550e f85fae70_1011_eaec_151c_4083140ae9e5["typing_extensions"] 212bf0d5_b9c0_7381_8651_d188334ace30 --> f85fae70_1011_eaec_151c_4083140ae9e5 f106d0c2_1861_6325_aa80_8d8c400b4a23["langchain_classic.chains.query_constructor.base"] 212bf0d5_b9c0_7381_8651_d188334ace30 --> f106d0c2_1861_6325_aa80_8d8c400b4a23 8a419fe5_7dd3_94c5_7aff_c587f82406dd["langchain_classic.chains.query_constructor.schema"] 212bf0d5_b9c0_7381_8651_d188334ace30 --> 8a419fe5_7dd3_94c5_7aff_c587f82406dd style 212bf0d5_b9c0_7381_8651_d188334ace30 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"""Retriever that generates and executes structured queries over its own data source."""
import logging
from collections.abc import Sequence
from typing import Any
from langchain_core.callbacks.manager import (
AsyncCallbackManagerForRetrieverRun,
CallbackManagerForRetrieverRun,
)
from langchain_core.documents import Document
from langchain_core.language_models import BaseLanguageModel
from langchain_core.retrievers import BaseRetriever
from langchain_core.runnables import Runnable
from langchain_core.structured_query import StructuredQuery, Visitor
from langchain_core.vectorstores import VectorStore
from pydantic import ConfigDict, Field, model_validator
from typing_extensions import override
from langchain_classic.chains.query_constructor.base import (
load_query_constructor_runnable,
)
from langchain_classic.chains.query_constructor.schema import AttributeInfo
logger = logging.getLogger(__name__)
QUERY_CONSTRUCTOR_RUN_NAME = "query_constructor"
def _get_builtin_translator(vectorstore: VectorStore) -> Visitor:
"""Get the translator class corresponding to the vector store class."""
try:
import langchain_community # noqa: F401
except ImportError as err:
msg = (
"The langchain-community package must be installed to use this feature."
" Please install it using `pip install langchain-community`."
)
raise ImportError(msg) from err
from langchain_community.query_constructors.astradb import AstraDBTranslator
from langchain_community.query_constructors.chroma import ChromaTranslator
from langchain_community.query_constructors.dashvector import DashvectorTranslator
from langchain_community.query_constructors.databricks_vector_search import (
DatabricksVectorSearchTranslator,
)
from langchain_community.query_constructors.deeplake import DeepLakeTranslator
from langchain_community.query_constructors.dingo import DingoDBTranslator
from langchain_community.query_constructors.elasticsearch import (
ElasticsearchTranslator,
)
from langchain_community.query_constructors.milvus import MilvusTranslator
from langchain_community.query_constructors.mongodb_atlas import (
MongoDBAtlasTranslator,
)
from langchain_community.query_constructors.myscale import MyScaleTranslator
from langchain_community.query_constructors.neo4j import Neo4jTranslator
from langchain_community.query_constructors.opensearch import OpenSearchTranslator
from langchain_community.query_constructors.pgvector import PGVectorTranslator
from langchain_community.query_constructors.pinecone import PineconeTranslator
from langchain_community.query_constructors.qdrant import QdrantTranslator
// ... (348 more lines)
Domain
Subdomains
Functions
Classes
Dependencies
- collections.abc
- langchain_astradb.vectorstores
- langchain_chroma
- langchain_classic.chains.query_constructor.base
- langchain_classic.chains.query_constructor.schema
- langchain_community
- langchain_community.query_constructors.astradb
- langchain_community.query_constructors.chroma
- langchain_community.query_constructors.dashvector
- langchain_community.query_constructors.databricks_vector_search
- langchain_community.query_constructors.deeplake
- langchain_community.query_constructors.dingo
- langchain_community.query_constructors.elasticsearch
- langchain_community.query_constructors.hanavector
- langchain_community.query_constructors.milvus
- langchain_community.query_constructors.mongodb_atlas
- langchain_community.query_constructors.myscale
- langchain_community.query_constructors.neo4j
- langchain_community.query_constructors.opensearch
- langchain_community.query_constructors.pgvector
- langchain_community.query_constructors.pinecone
- langchain_community.query_constructors.qdrant
- langchain_community.query_constructors.redis
- langchain_community.query_constructors.supabase
- langchain_community.query_constructors.tencentvectordb
- langchain_community.query_constructors.timescalevector
- langchain_community.query_constructors.vectara
- langchain_community.query_constructors.weaviate
- langchain_community.vectorstores
- langchain_core.callbacks.manager
- langchain_core.documents
- langchain_core.language_models
- langchain_core.retrievers
- langchain_core.runnables
- langchain_core.structured_query
- langchain_core.vectorstores
- langchain_elasticsearch.vectorstores
- langchain_milvus
- langchain_mongodb
- langchain_neo4j
- langchain_pinecone
- langchain_postgres
- langchain_qdrant
- langchain_weaviate.vectorstores
- logging
- pydantic
- typing
- typing_extensions
Source
Frequently Asked Questions
What does base.py do?
base.py is a source file in the langchain codebase, written in python. It belongs to the LangChainCore domain, LanguageModelBase subdomain.
What functions are defined in base.py?
base.py defines 1 function(s): _get_builtin_translator.
What does base.py depend on?
base.py imports 48 module(s): collections.abc, langchain_astradb.vectorstores, langchain_chroma, langchain_classic.chains.query_constructor.base, langchain_classic.chains.query_constructor.schema, langchain_community, langchain_community.query_constructors.astradb, langchain_community.query_constructors.chroma, and 40 more.
Where is base.py in the architecture?
base.py is located at libs/langchain/langchain_classic/retrievers/self_query/base.py (domain: LangChainCore, subdomain: LanguageModelBase, directory: libs/langchain/langchain_classic/retrievers/self_query).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free