From d397f4457facb78262afc96387990c53da9cf5eb Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Wed, 2 Aug 2023 22:05:52 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=80=20merge(base.py):=20add=20SQLDatab?= =?UTF-8?q?aseChain=20to=20the=20ChainCreator's=20type=5Fdict=20to=20enabl?= =?UTF-8?q?e=20support=20for=20SQL=20database=20chains=20=F0=9F=93=A6=20ch?= =?UTF-8?q?ore(pyproject.toml):=20add=20langchain-experimental=20package?= =?UTF-8?q?=20as=20a=20dependency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- poetry.lock | 16 +++++++++++++++- pyproject.toml | 1 + src/backend/langflow/interface/chains/base.py | 3 +++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/poetry.lock b/poetry.lock index b53c4820e..5564c1fdd 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2890,6 +2890,20 @@ openai = ["openai (>=0,<1)", "tiktoken (>=0.3.2,<0.4.0)"] qdrant = ["qdrant-client (>=1.3.1,<2.0.0)"] text-helpers = ["chardet (>=5.1.0,<6.0.0)"] +[[package]] +name = "langchain-experimental" +version = "0.0.8" +description = "Building applications with LLMs through composability" +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langchain_experimental-0.0.8-py3-none-any.whl", hash = "sha256:34cf202ba29fdef178c5d68772cf2fa08dd2a0fad588ca3ef324ae71e596cc21"}, + {file = "langchain_experimental-0.0.8.tar.gz", hash = "sha256:35d198f8e70a053ccd84273198ff08b4b700ac03ec5f43ba9b7ef797dd42ad14"}, +] + +[package.dependencies] +langchain = ">=0.0.239" + [[package]] name = "langchain-serve" version = "0.0.58" @@ -7564,4 +7578,4 @@ local = ["ctransformers", "llama-cpp-python", "sentence-transformers"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.11" -content-hash = "154238df4e8b249196011f592d63e2fad0e18316960e400037f54453c813d47a" +content-hash = "57abce2ebcdc3cd7e359c36805822b9398d3bfb500c175b173a6d784d1276df6" diff --git a/pyproject.toml b/pyproject.toml index 849130a74..ef5360662 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -76,6 +76,7 @@ google-cloud-aiplatform = "^1.26.1" psycopg = "^3.1.9" psycopg-binary = "^3.1.9" fastavro = "^1.8.0" +langchain-experimental = "^0.0.8" [tool.poetry.group.dev.dependencies] black = "^23.1.0" diff --git a/src/backend/langflow/interface/chains/base.py b/src/backend/langflow/interface/chains/base.py index 67d31308f..3ec8b9e4d 100644 --- a/src/backend/langflow/interface/chains/base.py +++ b/src/backend/langflow/interface/chains/base.py @@ -8,6 +8,7 @@ from langflow.template.frontend_node.chains import ChainFrontendNode from langflow.utils.logger import logger from langflow.utils.util import build_template_from_class, build_template_from_method from langchain import chains +from langchain_experimental.sql import SQLDatabaseChain # Assuming necessary imports for Field, Template, and FrontendNode classes @@ -35,6 +36,8 @@ class ChainCreator(LangChainTypeCreator): } from langflow.interface.chains.custom import CUSTOM_CHAINS + self.type_dict["SQLDatabaseChain"] = SQLDatabaseChain + self.type_dict.update(CUSTOM_CHAINS) # Filter according to settings.chains self.type_dict = {