"""**Chains** are easily reusable components linked together. Chains encode a sequence of calls to components like models, document retrievers, other Chains, etc., and provide a simple interface to this sequence. The Chain interface makes it easy to create apps that are: - **Stateful:** add Memory to any Chain to give it state, - **Observable:** pass Callbacks to a Chain to execute additional functionality, like logging, outside the main sequence of component calls, - **Composable:** combine Chains with other components, including other Chains. **Class hierarchy:** .. code-block:: Chain --> <name>Chain # Examples: LLMChain, MapReduceChain, RouterChain """ from typing import Any from langchain._api import create_importer _module_lookup = { "APIChain": "langchain.chains.api.base", "OpenAPIEndpointChain": "langchain_community.chains.openapi.chain", "AnalyzeDocumentChain": "langchain.chains.combine_documents.base", "MapReduceDocumentsChain": "langchain.chains.combine_documents.map_reduce", "MapRerankDocumentsChain": "langchain.chains.combine_documents.map_rerank", "ReduceDocumentsChain": "langchain.chains.combine_documents.reduce", "RefineDocumentsChain": "langchain.chains.combine_documents.refine", "StuffDocumentsChain": "langchain.chains.combine_documents.stuff", "ConstitutionalChain": "langchain.chains.constitutional_ai.base", "ConversationChain": "langchain.chains.conversation.base", "ChatVectorDBChain": "langchain.chains.conversational_retrieval.base", "ConversationalRetrievalChain": "langchain.chains.conversational_retrieval.base", "generate_example": "langchain.chains.example_generator", "FlareChain": "langchain.chains.flare.base", "ArangoGraphQAChain": "langchain_community.chains.graph_qa.arangodb", "GraphQAChain": "langchain_community.chains.graph_qa.base", "GraphCypherQAChain": "langchain_community.chains.graph_qa.cypher", "FalkorDBQAChain": "langchain_community.chains.graph_qa.falkordb", "HugeGraphQAChain": "langchain_community.chains.graph_qa.hugegraph", "KuzuQAChain": "langchain_community.chains.graph_qa.kuzu", "NebulaGraphQAChain": "langchain_community.chains.graph_qa.nebulagraph", "NeptuneOpenCypherQAChain": "langchain_community.chains.graph_qa.neptune_cypher", "NeptuneSparqlQAChain": "langchain_community.chains.graph_qa.neptune_sparql", "OntotextGraphDBQAChain": "langchain_community.chains.graph_qa.ontotext_graphdb", "GraphSparqlQAChain": "langchain_community.chains.graph_qa.sparql", "create_history_aware_retriever": "langchain.chains.history_aware_retriever", "HypotheticalDocumentEmbedder": "langchain.chains.hyde.base", "LLMChain": "langchain.chains.llm", "LLMCheckerChain": "langchain.chains.llm_checker.base", "LLMMathChain": "langchain.chains.llm_math.base", "LLMRequestsChain": "langchain_community.chains.llm_requests", "LLMSummarizationCheckerChain": "langchain.chains.llm_summarization_checker.base", "load_chain": "langchain.chains.loading", "MapReduceChain": "langchain.chains.mapreduce", "OpenAIModerationChain": "langchain.chains.moderation", "NatBotChain": "langchain.chains.natbot.base", "create_citation_fuzzy_match_chain": "langchain.chains.openai_functions", "create_citation_fuzzy_match_runnable": "langchain.chains.openai_functions", "create_extraction_chain": "langchain.chains.openai_functions", "create_extraction_chain_pydantic": "langchain.chains.openai_functions", "create_qa_with_sources_chain": "langchain.chains.openai_functions", "create_qa_with_structure_chain": "langchain.chains.openai_functions", "create_tagging_chain": "langchain.chains.openai_functions", "create_tagging_chain_pydantic": "langchain.chains.openai_functions", "QAGenerationChain": "langchain.chains.qa_generation.base", "QAWithSourcesChain": "langchain.chains.qa_with_sources.base", "RetrievalQAWithSourcesChain": "langchain.chains.qa_with_sources.retrieval", "VectorDBQAWithSourcesChain": "langchain.chains.qa_with_sources.vector_db", "create_retrieval_chain": "langchain.chains.retrieval", "RetrievalQA": "langchain.chains.retrieval_qa.base", "VectorDBQA": "langchain.chains.retrieval_qa.base", "LLMRouterChain": "langchain.chains.router", "MultiPromptChain": "langchain.chains.router", "MultiRetrievalQAChain": "langchain.chains.router", "MultiRouteChain": "langchain.chains.router", "RouterChain": "langchain.chains.router", "SequentialChain": "langchain.chains.sequential", "SimpleSequentialChain": "langchain.chains.sequential", "create_sql_query_chain": "langchain.chains.sql_database.query", "create_structured_output_runnable": "langchain.chains.structured_output", "load_summarize_chain": "langchain.chains.summarize", "TransformChain": "langchain.chains.transform", } importer = create_importer(__package__, module_lookup=_module_lookup) def __getattr__(name: str) -> Any: return importer(name) __all__ = list(_module_lookup.keys())
Memory