Spaces:
Running
Running
from collections.abc import Callable | |
from typing import Text, TypeAlias, TypeVar | |
from langchain.agents.agent import AgentExecutor | |
from langchain.chains.base import Chain | |
from langchain.memory.chat_memory import BaseChatMemory | |
from langchain_core.chat_history import BaseChatMessageHistory | |
from langchain_core.document_loaders import BaseLoader | |
from langchain_core.documents import Document | |
from langchain_core.embeddings import Embeddings | |
from langchain_core.language_models import BaseLanguageModel, BaseLLM | |
from langchain_core.language_models.chat_models import BaseChatModel | |
from langchain_core.memory import BaseMemory | |
from langchain_core.output_parsers import BaseLLMOutputParser, BaseOutputParser | |
from langchain_core.prompts import BasePromptTemplate, ChatPromptTemplate, PromptTemplate | |
from langchain_core.retrievers import BaseRetriever | |
from langchain_core.tools import BaseTool, Tool | |
from langchain_core.vectorstores import VectorStore, VectorStoreRetriever | |
from langchain_text_splitters import TextSplitter | |
from langflow.schema.data import Data | |
from langflow.schema.dataframe import DataFrame | |
from langflow.schema.message import Message | |
NestedDict: TypeAlias = dict[str, str | dict] | |
LanguageModel = TypeVar("LanguageModel", BaseLanguageModel, BaseLLM, BaseChatModel) | |
ToolEnabledLanguageModel = TypeVar("ToolEnabledLanguageModel", BaseLanguageModel, BaseLLM, BaseChatModel) | |
Retriever = TypeVar( | |
"Retriever", | |
BaseRetriever, | |
VectorStoreRetriever, | |
) | |
OutputParser = TypeVar( | |
"OutputParser", | |
BaseOutputParser, | |
BaseLLMOutputParser, | |
) | |
class Object: | |
pass | |
class Code: | |
pass | |
LANGCHAIN_BASE_TYPES = { | |
"Chain": Chain, | |
"AgentExecutor": AgentExecutor, | |
"BaseTool": BaseTool, | |
"Tool": Tool, | |
"BaseLLM": BaseLLM, | |
"BaseLanguageModel": BaseLanguageModel, | |
"PromptTemplate": PromptTemplate, | |
"ChatPromptTemplate": ChatPromptTemplate, | |
"BasePromptTemplate": BasePromptTemplate, | |
"BaseLoader": BaseLoader, | |
"Document": Document, | |
"TextSplitter": TextSplitter, | |
"VectorStore": VectorStore, | |
"Embeddings": Embeddings, | |
"BaseRetriever": BaseRetriever, | |
"BaseOutputParser": BaseOutputParser, | |
"BaseMemory": BaseMemory, | |
"BaseChatMemory": BaseChatMemory, | |
"BaseChatModel": BaseChatModel, | |
"BaseChatMessageHistory": BaseChatMessageHistory, | |
} | |
# Langchain base types plus Python base types | |
CUSTOM_COMPONENT_SUPPORTED_TYPES = { | |
**LANGCHAIN_BASE_TYPES, | |
"NestedDict": NestedDict, | |
"Data": Data, | |
"Message": Message, | |
"Text": Text, # noqa: UP019 | |
"Object": Object, | |
"Callable": Callable, | |
"LanguageModel": LanguageModel, | |
"Retriever": Retriever, | |
"DataFrame": DataFrame, | |
} | |