| | 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, |
| | } |
| | |
| | CUSTOM_COMPONENT_SUPPORTED_TYPES = { |
| | **LANGCHAIN_BASE_TYPES, |
| | "NestedDict": NestedDict, |
| | "Data": Data, |
| | "Message": Message, |
| | "Text": Text, |
| | "Object": Object, |
| | "Callable": Callable, |
| | "LanguageModel": LanguageModel, |
| | "Retriever": Retriever, |
| | "DataFrame": DataFrame, |
| | } |
| |
|