mirror of
https://github.com/hwchase17/langchain.git
synced 2025-06-25 16:13:25 +00:00
langchain[patch]: getattr import from langchain.chains (#18160)
This commit is contained in:
parent
ff70cc4e80
commit
a88f62ec3c
@ -17,135 +17,79 @@ The Chain interface makes it easy to create apps that are:
|
|||||||
Chain --> <name>Chain # Examples: LLMChain, MapReduceChain, RouterChain
|
Chain --> <name>Chain # Examples: LLMChain, MapReduceChain, RouterChain
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from langchain.chains.api.base import APIChain
|
import importlib
|
||||||
from langchain.chains.api.openapi.chain import OpenAPIEndpointChain
|
from typing import Any
|
||||||
from langchain.chains.combine_documents.base import AnalyzeDocumentChain
|
|
||||||
from langchain.chains.combine_documents.map_reduce import MapReduceDocumentsChain
|
|
||||||
from langchain.chains.combine_documents.map_rerank import MapRerankDocumentsChain
|
|
||||||
from langchain.chains.combine_documents.reduce import ReduceDocumentsChain
|
|
||||||
from langchain.chains.combine_documents.refine import RefineDocumentsChain
|
|
||||||
from langchain.chains.combine_documents.stuff import StuffDocumentsChain
|
|
||||||
from langchain.chains.constitutional_ai.base import ConstitutionalChain
|
|
||||||
from langchain.chains.conversation.base import ConversationChain
|
|
||||||
from langchain.chains.conversational_retrieval.base import (
|
|
||||||
ChatVectorDBChain,
|
|
||||||
ConversationalRetrievalChain,
|
|
||||||
)
|
|
||||||
from langchain.chains.example_generator import generate_example
|
|
||||||
from langchain.chains.flare.base import FlareChain
|
|
||||||
from langchain.chains.graph_qa.arangodb import ArangoGraphQAChain
|
|
||||||
from langchain.chains.graph_qa.base import GraphQAChain
|
|
||||||
from langchain.chains.graph_qa.cypher import GraphCypherQAChain
|
|
||||||
from langchain.chains.graph_qa.falkordb import FalkorDBQAChain
|
|
||||||
from langchain.chains.graph_qa.hugegraph import HugeGraphQAChain
|
|
||||||
from langchain.chains.graph_qa.kuzu import KuzuQAChain
|
|
||||||
from langchain.chains.graph_qa.nebulagraph import NebulaGraphQAChain
|
|
||||||
from langchain.chains.graph_qa.neptune_cypher import NeptuneOpenCypherQAChain
|
|
||||||
from langchain.chains.graph_qa.neptune_sparql import NeptuneSparqlQAChain
|
|
||||||
from langchain.chains.graph_qa.ontotext_graphdb import OntotextGraphDBQAChain
|
|
||||||
from langchain.chains.graph_qa.sparql import GraphSparqlQAChain
|
|
||||||
from langchain.chains.history_aware_retriever import create_history_aware_retriever
|
|
||||||
from langchain.chains.hyde.base import HypotheticalDocumentEmbedder
|
|
||||||
from langchain.chains.llm import LLMChain
|
|
||||||
from langchain.chains.llm_checker.base import LLMCheckerChain
|
|
||||||
from langchain.chains.llm_math.base import LLMMathChain
|
|
||||||
from langchain.chains.llm_requests import LLMRequestsChain
|
|
||||||
from langchain.chains.llm_summarization_checker.base import LLMSummarizationCheckerChain
|
|
||||||
from langchain.chains.loading import load_chain
|
|
||||||
from langchain.chains.mapreduce import MapReduceChain
|
|
||||||
from langchain.chains.moderation import OpenAIModerationChain
|
|
||||||
from langchain.chains.natbot.base import NatBotChain
|
|
||||||
from langchain.chains.openai_functions import (
|
|
||||||
create_citation_fuzzy_match_chain,
|
|
||||||
create_extraction_chain,
|
|
||||||
create_extraction_chain_pydantic,
|
|
||||||
create_qa_with_sources_chain,
|
|
||||||
create_qa_with_structure_chain,
|
|
||||||
create_tagging_chain,
|
|
||||||
create_tagging_chain_pydantic,
|
|
||||||
)
|
|
||||||
from langchain.chains.qa_generation.base import QAGenerationChain
|
|
||||||
from langchain.chains.qa_with_sources.base import QAWithSourcesChain
|
|
||||||
from langchain.chains.qa_with_sources.retrieval import RetrievalQAWithSourcesChain
|
|
||||||
from langchain.chains.qa_with_sources.vector_db import VectorDBQAWithSourcesChain
|
|
||||||
from langchain.chains.retrieval import create_retrieval_chain
|
|
||||||
from langchain.chains.retrieval_qa.base import (
|
|
||||||
RetrievalQA,
|
|
||||||
VectorDBQA,
|
|
||||||
)
|
|
||||||
from langchain.chains.router import (
|
|
||||||
LLMRouterChain,
|
|
||||||
MultiPromptChain,
|
|
||||||
MultiRetrievalQAChain,
|
|
||||||
MultiRouteChain,
|
|
||||||
RouterChain,
|
|
||||||
)
|
|
||||||
from langchain.chains.sequential import SequentialChain, SimpleSequentialChain
|
|
||||||
from langchain.chains.sql_database.query import create_sql_query_chain
|
|
||||||
from langchain.chains.structured_output import create_structured_output_runnable
|
|
||||||
from langchain.chains.summarize import load_summarize_chain
|
|
||||||
from langchain.chains.transform import TransformChain
|
|
||||||
|
|
||||||
__all__ = [
|
_module_lookup = {
|
||||||
"APIChain",
|
"APIChain": "langchain.chains.api.base",
|
||||||
"AnalyzeDocumentChain",
|
"OpenAPIEndpointChain": "langchain.chains.api.openapi.chain",
|
||||||
"ArangoGraphQAChain",
|
"AnalyzeDocumentChain": "langchain.chains.combine_documents.base",
|
||||||
"ChatVectorDBChain",
|
"MapReduceDocumentsChain": "langchain.chains.combine_documents.map_reduce",
|
||||||
"ConstitutionalChain",
|
"MapRerankDocumentsChain": "langchain.chains.combine_documents.map_rerank",
|
||||||
"ConversationChain",
|
"ReduceDocumentsChain": "langchain.chains.combine_documents.reduce",
|
||||||
"ConversationalRetrievalChain",
|
"RefineDocumentsChain": "langchain.chains.combine_documents.refine",
|
||||||
"FalkorDBQAChain",
|
"StuffDocumentsChain": "langchain.chains.combine_documents.stuff",
|
||||||
"FlareChain",
|
"ConstitutionalChain": "langchain.chains.constitutional_ai.base",
|
||||||
"GraphCypherQAChain",
|
"ConversationChain": "langchain.chains.conversation.base",
|
||||||
"GraphQAChain",
|
"ChatVectorDBChain": "langchain.chains.conversational_retrieval.base",
|
||||||
"GraphSparqlQAChain",
|
"ConversationalRetrievalChain": "langchain.chains.conversational_retrieval.base",
|
||||||
"OntotextGraphDBQAChain",
|
"generate_example": "langchain.chains.example_generator",
|
||||||
"HugeGraphQAChain",
|
"FlareChain": "langchain.chains.flare.base",
|
||||||
"HypotheticalDocumentEmbedder",
|
"ArangoGraphQAChain": "langchain.chains.graph_qa.arangodb",
|
||||||
"KuzuQAChain",
|
"GraphQAChain": "langchain.chains.graph_qa.base",
|
||||||
"LLMChain",
|
"GraphCypherQAChain": "langchain.chains.graph_qa.cypher",
|
||||||
"LLMCheckerChain",
|
"FalkorDBQAChain": "langchain.chains.graph_qa.falkordb",
|
||||||
"LLMMathChain",
|
"HugeGraphQAChain": "langchain.chains.graph_qa.hugegraph",
|
||||||
"LLMRequestsChain",
|
"KuzuQAChain": "langchain.chains.graph_qa.kuzu",
|
||||||
"LLMRouterChain",
|
"NebulaGraphQAChain": "langchain.chains.graph_qa.nebulagraph",
|
||||||
"LLMSummarizationCheckerChain",
|
"NeptuneOpenCypherQAChain": "langchain.chains.graph_qa.neptune_cypher",
|
||||||
"MapReduceChain",
|
"NeptuneSparqlQAChain": "langchain.chains.graph_qa.neptune_sparql",
|
||||||
"MapReduceDocumentsChain",
|
"OntotextGraphDBQAChain": "langchain.chains.graph_qa.ontotext_graphdb",
|
||||||
"MapRerankDocumentsChain",
|
"GraphSparqlQAChain": "langchain.chains.graph_qa.sparql",
|
||||||
"MultiPromptChain",
|
"create_history_aware_retriever": "langchain.chains.history_aware_retriever",
|
||||||
"MultiRetrievalQAChain",
|
"HypotheticalDocumentEmbedder": "langchain.chains.hyde.base",
|
||||||
"MultiRouteChain",
|
"LLMChain": "langchain.chains.llm",
|
||||||
"NatBotChain",
|
"LLMCheckerChain": "langchain.chains.llm_checker.base",
|
||||||
"NebulaGraphQAChain",
|
"LLMMathChain": "langchain.chains.llm_math.base",
|
||||||
"NeptuneOpenCypherQAChain",
|
"LLMRequestsChain": "langchain.chains.llm_requests",
|
||||||
"NeptuneSparqlQAChain",
|
"LLMSummarizationCheckerChain": "langchain.chains.llm_summarization_checker.base",
|
||||||
"OpenAIModerationChain",
|
"load_chain": "langchain.chains.loading",
|
||||||
"OpenAPIEndpointChain",
|
"MapReduceChain": "langchain.chains.mapreduce",
|
||||||
"QAGenerationChain",
|
"OpenAIModerationChain": "langchain.chains.moderation",
|
||||||
"QAWithSourcesChain",
|
"NatBotChain": "langchain.chains.natbot.base",
|
||||||
"ReduceDocumentsChain",
|
"create_citation_fuzzy_match_chain": "langchain.chains.openai_functions",
|
||||||
"RefineDocumentsChain",
|
"create_extraction_chain": "langchain.chains.openai_functions",
|
||||||
"RetrievalQA",
|
"create_extraction_chain_pydantic": "langchain.chains.openai_functions",
|
||||||
"RetrievalQAWithSourcesChain",
|
"create_qa_with_sources_chain": "langchain.chains.openai_functions",
|
||||||
"RouterChain",
|
"create_qa_with_structure_chain": "langchain.chains.openai_functions",
|
||||||
"SequentialChain",
|
"create_tagging_chain": "langchain.chains.openai_functions",
|
||||||
"SimpleSequentialChain",
|
"create_tagging_chain_pydantic": "langchain.chains.openai_functions",
|
||||||
"StuffDocumentsChain",
|
"QAGenerationChain": "langchain.chains.qa_generation.base",
|
||||||
"TransformChain",
|
"QAWithSourcesChain": "langchain.chains.qa_with_sources.base",
|
||||||
"VectorDBQA",
|
"RetrievalQAWithSourcesChain": "langchain.chains.qa_with_sources.retrieval",
|
||||||
"VectorDBQAWithSourcesChain",
|
"VectorDBQAWithSourcesChain": "langchain.chains.qa_with_sources.vector_db",
|
||||||
"create_citation_fuzzy_match_chain",
|
"create_retrieval_chain": "langchain.chains.retrieval",
|
||||||
"create_extraction_chain",
|
"RetrievalQA": "langchain.chains.retrieval_qa.base",
|
||||||
"create_extraction_chain_pydantic",
|
"VectorDBQA": "langchain.chains.retrieval_qa.base",
|
||||||
"create_qa_with_sources_chain",
|
"LLMRouterChain": "langchain.chains.router",
|
||||||
"create_qa_with_structure_chain",
|
"MultiPromptChain": "langchain.chains.router",
|
||||||
"create_tagging_chain",
|
"MultiRetrievalQAChain": "langchain.chains.router",
|
||||||
"create_tagging_chain_pydantic",
|
"MultiRouteChain": "langchain.chains.router",
|
||||||
"generate_example",
|
"RouterChain": "langchain.chains.router",
|
||||||
"load_chain",
|
"SequentialChain": "langchain.chains.sequential",
|
||||||
"create_sql_query_chain",
|
"SimpleSequentialChain": "langchain.chains.sequential",
|
||||||
"create_retrieval_chain",
|
"create_sql_query_chain": "langchain.chains.sql_database.query",
|
||||||
"create_history_aware_retriever",
|
"create_structured_output_runnable": "langchain.chains.structured_output",
|
||||||
"create_structured_output_runnable",
|
"load_summarize_chain": "langchain.chains.summarize",
|
||||||
"load_summarize_chain",
|
"TransformChain": "langchain.chains.transform",
|
||||||
]
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def __getattr__(name: str) -> Any:
|
||||||
|
if name in _module_lookup:
|
||||||
|
module = importlib.import_module(_module_lookup[name])
|
||||||
|
return getattr(module, name)
|
||||||
|
raise AttributeError(f"module {__name__} has no attribute {name}")
|
||||||
|
|
||||||
|
|
||||||
|
__all__ = list(_module_lookup.keys())
|
||||||
|
Loading…
Reference in New Issue
Block a user