From 40d02ccceb75a4046afe38d2517a388cc70d8088 Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Thu, 6 Jun 2024 12:55:39 -0400
Subject: [PATCH 01/37] content
---
docs/docs/administration/playground.mdx | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/docs/docs/administration/playground.mdx b/docs/docs/administration/playground.mdx
index 08166729e..a5bf3a8e1 100644
--- a/docs/docs/administration/playground.mdx
+++ b/docs/docs/administration/playground.mdx
@@ -35,3 +35,7 @@ As long as you have a flow's environment variables set, you can run it by clicki
>
+
+## Playground I/O
+
+The playground is
\ No newline at end of file
From d2cecd7de16a59e2a4363a092279aeddaaa82200 Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Thu, 6 Jun 2024 16:56:44 -0400
Subject: [PATCH 02/37] io-components
---
docs/docs/administration/playground.mdx | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/docs/docs/administration/playground.mdx b/docs/docs/administration/playground.mdx
index a5bf3a8e1..a00d07d3c 100644
--- a/docs/docs/administration/playground.mdx
+++ b/docs/docs/administration/playground.mdx
@@ -38,4 +38,16 @@ As long as you have a flow's environment variables set, you can run it by clicki
## Playground I/O
-The playground is
\ No newline at end of file
+The playground's appearance changes depending on what components are in your canvas.
+
+Adding or removing any of the below components modifies your Playground so you can monitor the inputs and outputs.
+
+* Chat Input
+* Text Input
+* Chat Output
+* Text Output
+* Records Output
+* Inspect Memory
+
+You can also select **Options** > **Logs** to see your flow's logs.
+
From f4b443b28e67cd7442cfa33bd60c81fcf8a44ee0 Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Thu, 6 Jun 2024 17:02:50 -0400
Subject: [PATCH 03/37] langflow-ui-clarity
---
docs/docs/tutorials/rag-with-astradb.mdx | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/docs/docs/tutorials/rag-with-astradb.mdx b/docs/docs/tutorials/rag-with-astradb.mdx
index 9bb813f55..d8dc38a50 100644
--- a/docs/docs/tutorials/rag-with-astradb.mdx
+++ b/docs/docs/tutorials/rag-with-astradb.mdx
@@ -13,7 +13,7 @@ In this guide, we will use Astra DB as a vector store to store and retrieve the
This guide assumes that you have Langflow up and running. If you are new to
- Langflow, you can check out the [Getting Started](/) guide.
+ Langflow, you can check out the [Getting Started](../getting-started/install-langflow.mdx) guide.
TLDR;
@@ -75,9 +75,11 @@ Now we are all set to start building our RAG application using Astra DB and Lang
If you haven't already, now is the time to launch Langflow. To make things easier, you can duplicate our [Langflow 1.0 Space](https://huggingface.co/spaces/Langflow/Langflow-Preview?duplicate=true) which sets up a Langflow instance just for you.
-## Open the Vector Store RAG Project
+## Open the Vector Store RAG Project in Langflow
-To get started, click on the **New Project** button and look for the **Vector Store RAG** project. This will open a starter project with the necessary components to run a RAG application using Astra DB.
+Run Langflow and open the UI.
+
+In the Langflow dashboard, click the **New Project** button and select the **Vector Store RAG** project. This will open a starter project with the necessary components to run a RAG application using Astra DB.
This project consists of two flows. The simpler one is the **Ingestion Flow** which is responsible for ingesting the documents into the Astra DB database.
From 73ccb5e5b4af3ea5979a45537abb238048ab2218 Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Thu, 6 Jun 2024 17:15:43 -0400
Subject: [PATCH 04/37] cap
---
docs/docs/administration/playground.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/docs/administration/playground.mdx b/docs/docs/administration/playground.mdx
index a00d07d3c..a6830edac 100644
--- a/docs/docs/administration/playground.mdx
+++ b/docs/docs/administration/playground.mdx
@@ -38,7 +38,7 @@ As long as you have a flow's environment variables set, you can run it by clicki
## Playground I/O
-The playground's appearance changes depending on what components are in your canvas.
+The Playground's appearance changes depending on what components are in your canvas.
Adding or removing any of the below components modifies your Playground so you can monitor the inputs and outputs.
From 45bc84a31405bf7c13505a314c4c9e96131363a7 Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Thu, 6 Jun 2024 17:21:21 -0400
Subject: [PATCH 05/37] clearer-python-reqs
---
docs/docs/getting-started/install-langflow.mdx | 7 ++-----
docs/docs/getting-started/quickstart.mdx | 2 ++
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/docs/docs/getting-started/install-langflow.mdx b/docs/docs/getting-started/install-langflow.mdx
index 4beb5e362..a81fd36f3 100644
--- a/docs/docs/getting-started/install-langflow.mdx
+++ b/docs/docs/getting-started/install-langflow.mdx
@@ -6,13 +6,10 @@ import Admonition from "@theme/Admonition";
# 📦 Install Langflow
- Langflow v1.0 alpha is also available in HuggingFace Spaces. [Clone the space
- using this
- link](https://huggingface.co/spaces/Langflow/Langflow-Preview?duplicate=true),
- to create your own Langflow workspace in minutes.
+ Langflow **requires** Python version 3.10 or greater.
-Langflow requires [Python >=3.10](https://www.python.org/downloads/release/python-3100/) and [pip](https://pypi.org/project/pip/) or [pipx](https://pipx.pypa.io/stable/installation/) to be installed on your system.
+Langflow **requires** [Python >=3.10](https://www.python.org/downloads/release/python-3100/) and [pip](https://pypi.org/project/pip/) or [pipx](https://pipx.pypa.io/stable/installation/) to be installed on your system.
Install Langflow with pip:
diff --git a/docs/docs/getting-started/quickstart.mdx b/docs/docs/getting-started/quickstart.mdx
index 3f02db27f..544b29b18 100644
--- a/docs/docs/getting-started/quickstart.mdx
+++ b/docs/docs/getting-started/quickstart.mdx
@@ -10,6 +10,8 @@ This guide demonstrates how to build a basic prompt flow and modify that prompt
## Prerequisites
+- [Python >=3.10](https://www.python.org/downloads/release/python-3100/) and [pip](https://pypi.org/project/pip/) or [pipx](https://pipx.pypa.io/stable/installation/)
+
- [Langflow installed and running](./install-langflow.mdx)
- [OpenAI API key](https://platform.openai.com)
From bc86fde139c5348925ea60f42325b9dd9e8d2e0a Mon Sep 17 00:00:00 2001
From: ogabrielluiz
Date: Fri, 7 Jun 2024 08:39:50 -0300
Subject: [PATCH 06/37] chore: Update package versions in pyproject.toml files
---
poetry.lock | 67 +++++++++++----------------------
pyproject.toml | 2 +-
src/backend/base/poetry.lock | 39 +++++--------------
src/backend/base/pyproject.toml | 2 +-
4 files changed, 34 insertions(+), 76 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index 4bf30b352..71be043b6 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -367,13 +367,13 @@ files = [
[[package]]
name = "bce-python-sdk"
-version = "0.9.11"
+version = "0.9.14"
description = "BCE SDK for python"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,<4,>=2.7"
files = [
- {file = "bce_python_sdk-0.9.11-py3-none-any.whl", hash = "sha256:3afb9717f6c0c5f5fe3104a8bea4c111bf2ab3fe87ae73b05492566bc2b5d11a"},
- {file = "bce_python_sdk-0.9.11.tar.gz", hash = "sha256:d9e977f059fef6466eebdbb34ad1e27b6f76ef90338807ab959693a78a761e7d"},
+ {file = "bce_python_sdk-0.9.14-py3-none-any.whl", hash = "sha256:5704aa454151ee608b01ddda7531457433f9b4bb8afbd00706dd368f3b4339a1"},
+ {file = "bce_python_sdk-0.9.14.tar.gz", hash = "sha256:7cbd182ec1e21034f10d3cdb812f3171d31908f1a783d6cf643039272942d8e8"},
]
[package.dependencies]
@@ -2556,13 +2556,13 @@ uritemplate = ">=3.0.1,<5"
[[package]]
name = "google-auth"
-version = "2.29.0"
+version = "2.30.0"
description = "Google Authentication Library"
optional = false
python-versions = ">=3.7"
files = [
- {file = "google-auth-2.29.0.tar.gz", hash = "sha256:672dff332d073227550ffc7457868ac4218d6c500b155fe6cc17d2b13602c360"},
- {file = "google_auth-2.29.0-py2.py3-none-any.whl", hash = "sha256:d452ad095688cd52bae0ad6fafe027f6a6d6f560e810fec20914e17a09526415"},
+ {file = "google-auth-2.30.0.tar.gz", hash = "sha256:ab630a1320f6720909ad76a7dbdb6841cdf5c66b328d690027e4867bdfb16688"},
+ {file = "google_auth-2.30.0-py2.py3-none-any.whl", hash = "sha256:8df7da660f62757388b8a7f249df13549b3373f24388cb5d2f1dd91cc18180b5"},
]
[package.dependencies]
@@ -2594,13 +2594,13 @@ httplib2 = ">=0.19.0"
[[package]]
name = "google-cloud-aiplatform"
-version = "1.53.0"
+version = "1.54.0"
description = "Vertex AI API client library"
optional = false
python-versions = ">=3.8"
files = [
- {file = "google-cloud-aiplatform-1.53.0.tar.gz", hash = "sha256:574cfad8ac5fa5d57ef717f5335ce05636a5fa9b8aeea0f5c325b46b9448e6b1"},
- {file = "google_cloud_aiplatform-1.53.0-py2.py3-none-any.whl", hash = "sha256:9dfb1f110e6d4795b45afcfab79108fc5c8ed9aa4eaf899e433bc2ca1b76c778"},
+ {file = "google-cloud-aiplatform-1.54.0.tar.gz", hash = "sha256:6f5187d35a32951028465804fbb42b478362bf41e2b634ddd22b150299f6e1d8"},
+ {file = "google_cloud_aiplatform-1.54.0-py2.py3-none-any.whl", hash = "sha256:7b3ed849b9fb59a01bd6f44444ccbb7d18495b867a26f913542f6b2d4c3de252"},
]
[package.dependencies]
@@ -2621,7 +2621,7 @@ autologging = ["mlflow (>=1.27.0,<=2.1.1)"]
cloud-profiler = ["tensorboard-plugin-profile (>=2.4.0,<3.0.0dev)", "tensorflow (>=2.4.0,<3.0.0dev)", "werkzeug (>=2.0.0,<2.1.0dev)"]
datasets = ["pyarrow (>=10.0.1)", "pyarrow (>=14.0.0)", "pyarrow (>=3.0.0,<8.0dev)"]
endpoint = ["requests (>=2.28.1)"]
-full = ["cloudpickle (<3.0)", "docker (>=5.0.3)", "explainable-ai-sdk (>=1.0.0)", "fastapi (>=0.71.0,<=0.109.1)", "google-cloud-bigquery", "google-cloud-bigquery-storage", "google-cloud-logging (<4.0)", "google-vizier (>=0.1.6)", "httpx (>=0.23.0,<0.25.0)", "immutabledict", "lit-nlp (==0.4.0)", "mlflow (>=1.27.0,<=2.1.1)", "nest-asyncio (>=1.0.0,<1.6.0)", "numpy (>=1.15.0)", "pandas (>=1.0.0)", "pandas (>=1.0.0,<2.2.0)", "pyarrow (>=10.0.1)", "pyarrow (>=14.0.0)", "pyarrow (>=3.0.0,<8.0dev)", "pyarrow (>=6.0.1)", "pydantic (<2)", "pyyaml (>=5.3.1,<7)", "ray[default] (>=2.4,<2.5.dev0 || >2.9.0,!=2.9.1,!=2.9.2,<=2.9.3)", "ray[default] (>=2.5,<=2.9.3)", "requests (>=2.28.1)", "starlette (>=0.17.1)", "tensorflow (>=2.3.0,<3.0.0dev)", "tensorflow (>=2.3.0,<3.0.0dev)", "urllib3 (>=1.21.1,<1.27)", "uvicorn[standard] (>=0.16.0)"]
+full = ["cloudpickle (<3.0)", "docker (>=5.0.3)", "explainable-ai-sdk (>=1.0.0)", "fastapi (>=0.71.0,<=0.109.1)", "google-cloud-bigquery", "google-cloud-bigquery-storage", "google-cloud-logging (<4.0)", "google-vizier (>=0.1.6)", "httpx (>=0.23.0,<0.25.0)", "immutabledict", "lit-nlp (==0.4.0)", "mlflow (>=1.27.0,<=2.1.1)", "nest-asyncio (>=1.0.0,<1.6.0)", "numpy (>=1.15.0)", "pandas (>=1.0.0)", "pandas (>=1.0.0,<2.2.0)", "pyarrow (>=10.0.1)", "pyarrow (>=14.0.0)", "pyarrow (>=3.0.0,<8.0dev)", "pyarrow (>=6.0.1)", "pydantic (<2)", "pyyaml (>=5.3.1,<7)", "ray[default] (>=2.4,<2.5.dev0 || >2.9.0,!=2.9.1,!=2.9.2,<=2.9.3)", "ray[default] (>=2.5,<=2.9.3)", "requests (>=2.28.1)", "setuptools (<70.0.0)", "starlette (>=0.17.1)", "tensorflow (>=2.3.0,<3.0.0dev)", "tensorflow (>=2.3.0,<3.0.0dev)", "urllib3 (>=1.21.1,<1.27)", "uvicorn[standard] (>=0.16.0)"]
langchain = ["langchain (>=0.1.16,<0.2)", "langchain-core (<0.2)", "langchain-google-vertexai (<2)"]
langchain-testing = ["absl-py", "cloudpickle (>=2.2.1,<4.0)", "langchain (>=0.1.16,<0.2)", "langchain-core (<0.2)", "langchain-google-vertexai (<2)", "pydantic (>=2.6.3,<3)", "pytest-xdist"]
lit = ["explainable-ai-sdk (>=1.0.0)", "lit-nlp (==0.4.0)", "pandas (>=1.0.0)", "tensorflow (>=2.3.0,<3.0.0dev)"]
@@ -2631,11 +2631,11 @@ prediction = ["docker (>=5.0.3)", "fastapi (>=0.71.0,<=0.109.1)", "httpx (>=0.23
preview = ["cloudpickle (<3.0)", "google-cloud-logging (<4.0)"]
private-endpoints = ["requests (>=2.28.1)", "urllib3 (>=1.21.1,<1.27)"]
rapid-evaluation = ["nest-asyncio (>=1.0.0,<1.6.0)", "pandas (>=1.0.0,<2.2.0)"]
-ray = ["google-cloud-bigquery", "google-cloud-bigquery-storage", "immutabledict", "pandas (>=1.0.0,<2.2.0)", "pyarrow (>=6.0.1)", "pydantic (<2)", "ray[default] (>=2.4,<2.5.dev0 || >2.9.0,!=2.9.1,!=2.9.2,<=2.9.3)", "ray[default] (>=2.5,<=2.9.3)"]
-ray-testing = ["google-cloud-bigquery", "google-cloud-bigquery-storage", "immutabledict", "pandas (>=1.0.0,<2.2.0)", "pyarrow (>=6.0.1)", "pydantic (<2)", "pytest-xdist", "ray[default] (>=2.4,<2.5.dev0 || >2.9.0,!=2.9.1,!=2.9.2,<=2.9.3)", "ray[default] (>=2.5,<=2.9.3)", "ray[train] (>=2.4,<2.5.dev0 || >2.9.0,!=2.9.1,!=2.9.2,<=2.9.3)", "scikit-learn", "tensorflow", "torch (>=2.0.0,<2.1.0)", "xgboost", "xgboost-ray"]
+ray = ["google-cloud-bigquery", "google-cloud-bigquery-storage", "immutabledict", "pandas (>=1.0.0,<2.2.0)", "pyarrow (>=6.0.1)", "pydantic (<2)", "ray[default] (>=2.4,<2.5.dev0 || >2.9.0,!=2.9.1,!=2.9.2,<=2.9.3)", "ray[default] (>=2.5,<=2.9.3)", "setuptools (<70.0.0)"]
+ray-testing = ["google-cloud-bigquery", "google-cloud-bigquery-storage", "immutabledict", "pandas (>=1.0.0,<2.2.0)", "pyarrow (>=6.0.1)", "pydantic (<2)", "pytest-xdist", "ray[default] (>=2.4,<2.5.dev0 || >2.9.0,!=2.9.1,!=2.9.2,<=2.9.3)", "ray[default] (>=2.5,<=2.9.3)", "ray[train] (==2.9.3)", "scikit-learn", "setuptools (<70.0.0)", "tensorflow", "torch (>=2.0.0,<2.1.0)", "xgboost", "xgboost-ray"]
reasoningengine = ["cloudpickle (>=2.2.1,<4.0)", "pydantic (>=2.6.3,<3)"]
tensorboard = ["tensorflow (>=2.3.0,<3.0.0dev)"]
-testing = ["bigframes", "cloudpickle (<3.0)", "docker (>=5.0.3)", "explainable-ai-sdk (>=1.0.0)", "fastapi (>=0.71.0,<=0.109.1)", "google-api-core (>=2.11,<3.0.0)", "google-cloud-bigquery", "google-cloud-bigquery-storage", "google-cloud-logging (<4.0)", "google-vizier (>=0.1.6)", "grpcio-testing", "httpx (>=0.23.0,<0.25.0)", "immutabledict", "ipython", "kfp (>=2.6.0,<3.0.0)", "lit-nlp (==0.4.0)", "mlflow (>=1.27.0,<=2.1.1)", "nest-asyncio (>=1.0.0,<1.6.0)", "numpy (>=1.15.0)", "pandas (>=1.0.0)", "pandas (>=1.0.0,<2.2.0)", "pyarrow (>=10.0.1)", "pyarrow (>=14.0.0)", "pyarrow (>=3.0.0,<8.0dev)", "pyarrow (>=6.0.1)", "pydantic (<2)", "pyfakefs", "pytest-asyncio", "pytest-xdist", "pyyaml (>=5.3.1,<7)", "ray[default] (>=2.4,<2.5.dev0 || >2.9.0,!=2.9.1,!=2.9.2,<=2.9.3)", "ray[default] (>=2.5,<=2.9.3)", "requests (>=2.28.1)", "requests-toolbelt (<1.0.0)", "scikit-learn", "starlette (>=0.17.1)", "tensorboard-plugin-profile (>=2.4.0,<3.0.0dev)", "tensorflow (==2.13.0)", "tensorflow (==2.16.1)", "tensorflow (>=2.3.0,<3.0.0dev)", "tensorflow (>=2.3.0,<3.0.0dev)", "tensorflow (>=2.4.0,<3.0.0dev)", "torch (>=2.0.0,<2.1.0)", "torch (>=2.2.0)", "urllib3 (>=1.21.1,<1.27)", "uvicorn[standard] (>=0.16.0)", "werkzeug (>=2.0.0,<2.1.0dev)", "xgboost"]
+testing = ["bigframes", "cloudpickle (<3.0)", "docker (>=5.0.3)", "explainable-ai-sdk (>=1.0.0)", "fastapi (>=0.71.0,<=0.109.1)", "google-api-core (>=2.11,<3.0.0)", "google-cloud-bigquery", "google-cloud-bigquery-storage", "google-cloud-logging (<4.0)", "google-vizier (>=0.1.6)", "grpcio-testing", "httpx (>=0.23.0,<0.25.0)", "immutabledict", "ipython", "kfp (>=2.6.0,<3.0.0)", "lit-nlp (==0.4.0)", "mlflow (>=1.27.0,<=2.1.1)", "nest-asyncio (>=1.0.0,<1.6.0)", "numpy (>=1.15.0)", "pandas (>=1.0.0)", "pandas (>=1.0.0,<2.2.0)", "pyarrow (>=10.0.1)", "pyarrow (>=14.0.0)", "pyarrow (>=3.0.0,<8.0dev)", "pyarrow (>=6.0.1)", "pydantic (<2)", "pyfakefs", "pytest-asyncio", "pytest-xdist", "pyyaml (>=5.3.1,<7)", "ray[default] (>=2.4,<2.5.dev0 || >2.9.0,!=2.9.1,!=2.9.2,<=2.9.3)", "ray[default] (>=2.5,<=2.9.3)", "requests (>=2.28.1)", "requests-toolbelt (<1.0.0)", "scikit-learn", "setuptools (<70.0.0)", "starlette (>=0.17.1)", "tensorboard-plugin-profile (>=2.4.0,<3.0.0dev)", "tensorflow (==2.13.0)", "tensorflow (==2.16.1)", "tensorflow (>=2.3.0,<3.0.0dev)", "tensorflow (>=2.3.0,<3.0.0dev)", "tensorflow (>=2.4.0,<3.0.0dev)", "torch (>=2.0.0,<2.1.0)", "torch (>=2.2.0)", "urllib3 (>=1.21.1,<1.27)", "uvicorn[standard] (>=0.16.0)", "werkzeug (>=2.0.0,<2.1.0dev)", "xgboost"]
vizier = ["google-vizier (>=0.1.6)"]
xai = ["tensorflow (>=2.3.0,<3.0.0dev)"]
@@ -4025,13 +4025,13 @@ adal = ["adal (>=1.0.2)"]
[[package]]
name = "langchain"
-version = "0.2.2"
+version = "0.2.3"
description = "Building applications with LLMs through composability"
optional = false
python-versions = "<4.0,>=3.8.1"
files = [
- {file = "langchain-0.2.2-py3-none-any.whl", hash = "sha256:58ca0c47bcdd156da66f50a0a4fcedc49bf6950827f4a6b06c8c4842d55805f3"},
- {file = "langchain-0.2.2.tar.gz", hash = "sha256:9d61e50e9cdc2bea659bc5e6c03650ba048fda63a307490ae368e539f61a0d3a"},
+ {file = "langchain-0.2.3-py3-none-any.whl", hash = "sha256:5dc33cd9c8008693d328b7cb698df69073acecc89ad9c2a95f243b3314f8d834"},
+ {file = "langchain-0.2.3.tar.gz", hash = "sha256:81962cc72cce6515f7bd71e01542727870789bf8b666c6913d85559080c1a201"},
]
[package.dependencies]
@@ -4047,20 +4047,6 @@ requests = ">=2,<3"
SQLAlchemy = ">=1.4,<3"
tenacity = ">=8.1.0,<9.0.0"
-[package.extras]
-azure = ["azure-ai-formrecognizer (>=3.2.1,<4.0.0)", "azure-ai-textanalytics (>=5.3.0,<6.0.0)", "azure-cognitiveservices-speech (>=1.28.0,<2.0.0)", "azure-core (>=1.26.4,<2.0.0)", "azure-cosmos (>=4.4.0b1,<5.0.0)", "azure-identity (>=1.12.0,<2.0.0)", "azure-search-documents (==11.4.0b8)", "openai (<2)"]
-clarifai = ["clarifai (>=9.1.0)"]
-cli = ["typer (>=0.9.0,<0.10.0)"]
-cohere = ["cohere (>=4,<6)"]
-docarray = ["docarray[hnswlib] (>=0.32.0,<0.33.0)"]
-embeddings = ["sentence-transformers (>=2,<3)"]
-extended-testing = ["aiosqlite (>=0.19.0,<0.20.0)", "aleph-alpha-client (>=2.15.0,<3.0.0)", "anthropic (>=0.3.11,<0.4.0)", "arxiv (>=1.4,<2.0)", "assemblyai (>=0.17.0,<0.18.0)", "atlassian-python-api (>=3.36.0,<4.0.0)", "beautifulsoup4 (>=4,<5)", "bibtexparser (>=1.4.0,<2.0.0)", "cassio (>=0.1.0,<0.2.0)", "chardet (>=5.1.0,<6.0.0)", "cohere (>=4,<6)", "couchbase (>=4.1.9,<5.0.0)", "dashvector (>=1.0.1,<2.0.0)", "databricks-vectorsearch (>=0.21,<0.22)", "datasets (>=2.15.0,<3.0.0)", "dgml-utils (>=0.3.0,<0.4.0)", "esprima (>=4.0.1,<5.0.0)", "faiss-cpu (>=1,<2)", "feedparser (>=6.0.10,<7.0.0)", "fireworks-ai (>=0.9.0,<0.10.0)", "geopandas (>=0.13.1,<0.14.0)", "gitpython (>=3.1.32,<4.0.0)", "google-cloud-documentai (>=2.20.1,<3.0.0)", "gql (>=3.4.1,<4.0.0)", "hologres-vector (>=0.0.6,<0.0.7)", "html2text (>=2020.1.16,<2021.0.0)", "javelin-sdk (>=0.1.8,<0.2.0)", "jinja2 (>=3,<4)", "jq (>=1.4.1,<2.0.0)", "jsonschema (>1)", "langchain-openai (>=0.1,<0.2)", "lxml (>=4.9.3,<6.0)", "markdownify (>=0.11.6,<0.12.0)", "motor (>=3.3.1,<4.0.0)", "msal (>=1.25.0,<2.0.0)", "mwparserfromhell (>=0.6.4,<0.7.0)", "mwxml (>=0.3.3,<0.4.0)", "newspaper3k (>=0.2.8,<0.3.0)", "numexpr (>=2.8.6,<3.0.0)", "openai (<2)", "openapi-pydantic (>=0.3.2,<0.4.0)", "pandas (>=2.0.1,<3.0.0)", "pdfminer-six (>=20221105,<20221106)", "pgvector (>=0.1.6,<0.2.0)", "praw (>=7.7.1,<8.0.0)", "psychicapi (>=0.8.0,<0.9.0)", "py-trello (>=0.19.0,<0.20.0)", "pymupdf (>=1.22.3,<2.0.0)", "pypdf (>=3.4.0,<4.0.0)", "pypdfium2 (>=4.10.0,<5.0.0)", "pyspark (>=3.4.0,<4.0.0)", "rank-bm25 (>=0.2.2,<0.3.0)", "rapidfuzz (>=3.1.1,<4.0.0)", "rapidocr-onnxruntime (>=1.3.2,<2.0.0)", "rdflib (==7.0.0)", "requests-toolbelt (>=1.0.0,<2.0.0)", "rspace_client (>=2.5.0,<3.0.0)", "scikit-learn (>=1.2.2,<2.0.0)", "sqlite-vss (>=0.1.2,<0.2.0)", "streamlit (>=1.18.0,<2.0.0)", "sympy (>=1.12,<2.0)", "telethon (>=1.28.5,<2.0.0)", "timescale-vector (>=0.0.1,<0.0.2)", "tqdm (>=4.48.0)", "upstash-redis (>=0.15.0,<0.16.0)", "xata (>=1.0.0a7,<2.0.0)", "xmltodict (>=0.13.0,<0.14.0)"]
-javascript = ["esprima (>=4.0.1,<5.0.0)"]
-llms = ["clarifai (>=9.1.0)", "cohere (>=4,<6)", "huggingface_hub (>=0,<1)", "manifest-ml (>=0.0.1,<0.0.2)", "nlpcloud (>=1,<2)", "openai (<2)", "openlm (>=0.0.5,<0.0.6)", "torch (>=1,<3)", "transformers (>=4,<5)"]
-openai = ["openai (<2)", "tiktoken (>=0.7,<1.0)"]
-qdrant = ["qdrant-client (>=1.3.1,<2.0.0)"]
-text-helpers = ["chardet (>=5.1.0,<6.0.0)"]
-
[[package]]
name = "langchain-anthropic"
version = "0.1.15"
@@ -4127,13 +4113,13 @@ langchain-core = ">=0.1.42,<0.3"
[[package]]
name = "langchain-community"
-version = "0.2.3"
+version = "0.2.4"
description = "Community contributed LangChain integrations."
optional = false
python-versions = "<4.0,>=3.8.1"
files = [
- {file = "langchain_community-0.2.3-py3-none-any.whl", hash = "sha256:aa895545be2f3f4aa2fea36f6da2e3b4ec50ce61ec986e8f146901a1e9138138"},
- {file = "langchain_community-0.2.3.tar.gz", hash = "sha256:a3c35af215e47b700e7cb4e548fa8b45c6d46d52b5a5a65af2577c5a0104fc9f"},
+ {file = "langchain_community-0.2.4-py3-none-any.whl", hash = "sha256:8582e9800f4837660dc297cccd2ee1ddc1d8c440d0fe8b64edb07620f0373b0e"},
+ {file = "langchain_community-0.2.4.tar.gz", hash = "sha256:2bb6a1a36b8500a564d25d76469c02457b1a7c3afea6d4a609a47c06b993e3e4"},
]
[package.dependencies]
@@ -4148,19 +4134,15 @@ requests = ">=2,<3"
SQLAlchemy = ">=1.4,<3"
tenacity = ">=8.1.0,<9.0.0"
-[package.extras]
-cli = ["typer (>=0.9.0,<0.10.0)"]
-extended-testing = ["aiosqlite (>=0.19.0,<0.20.0)", "aleph-alpha-client (>=2.15.0,<3.0.0)", "anthropic (>=0.3.11,<0.4.0)", "arxiv (>=1.4,<2.0)", "assemblyai (>=0.17.0,<0.18.0)", "atlassian-python-api (>=3.36.0,<4.0.0)", "azure-ai-documentintelligence (>=1.0.0b1,<2.0.0)", "azure-identity (>=1.15.0,<2.0.0)", "azure-search-documents (==11.4.0)", "beautifulsoup4 (>=4,<5)", "bibtexparser (>=1.4.0,<2.0.0)", "cassio (>=0.1.6,<0.2.0)", "chardet (>=5.1.0,<6.0.0)", "cloudpathlib (>=0.18,<0.19)", "cloudpickle (>=2.0.0)", "cohere (>=4,<5)", "databricks-vectorsearch (>=0.21,<0.22)", "datasets (>=2.15.0,<3.0.0)", "dgml-utils (>=0.3.0,<0.4.0)", "elasticsearch (>=8.12.0,<9.0.0)", "esprima (>=4.0.1,<5.0.0)", "faiss-cpu (>=1,<2)", "feedparser (>=6.0.10,<7.0.0)", "fireworks-ai (>=0.9.0,<0.10.0)", "friendli-client (>=1.2.4,<2.0.0)", "geopandas (>=0.13.1,<0.14.0)", "gitpython (>=3.1.32,<4.0.0)", "google-cloud-documentai (>=2.20.1,<3.0.0)", "gql (>=3.4.1,<4.0.0)", "gradientai (>=1.4.0,<2.0.0)", "hdbcli (>=2.19.21,<3.0.0)", "hologres-vector (>=0.0.6,<0.0.7)", "html2text (>=2020.1.16,<2021.0.0)", "httpx (>=0.24.1,<0.25.0)", "httpx-sse (>=0.4.0,<0.5.0)", "javelin-sdk (>=0.1.8,<0.2.0)", "jinja2 (>=3,<4)", "jq (>=1.4.1,<2.0.0)", "jsonschema (>1)", "lxml (>=4.9.3,<6.0)", "markdownify (>=0.11.6,<0.12.0)", "motor (>=3.3.1,<4.0.0)", "msal (>=1.25.0,<2.0.0)", "mwparserfromhell (>=0.6.4,<0.7.0)", "mwxml (>=0.3.3,<0.4.0)", "newspaper3k (>=0.2.8,<0.3.0)", "numexpr (>=2.8.6,<3.0.0)", "nvidia-riva-client (>=2.14.0,<3.0.0)", "oci (>=2.119.1,<3.0.0)", "openai (<2)", "openapi-pydantic (>=0.3.2,<0.4.0)", "oracle-ads (>=2.9.1,<3.0.0)", "oracledb (>=2.2.0,<3.0.0)", "pandas (>=2.0.1,<3.0.0)", "pdfminer-six (>=20221105,<20221106)", "pgvector (>=0.1.6,<0.2.0)", "praw (>=7.7.1,<8.0.0)", "premai (>=0.3.25,<0.4.0)", "psychicapi (>=0.8.0,<0.9.0)", "py-trello (>=0.19.0,<0.20.0)", "pyjwt (>=2.8.0,<3.0.0)", "pymupdf (>=1.22.3,<2.0.0)", "pypdf (>=3.4.0,<4.0.0)", "pypdfium2 (>=4.10.0,<5.0.0)", "pyspark (>=3.4.0,<4.0.0)", "rank-bm25 (>=0.2.2,<0.3.0)", "rapidfuzz (>=3.1.1,<4.0.0)", "rapidocr-onnxruntime (>=1.3.2,<2.0.0)", "rdflib (==7.0.0)", "requests-toolbelt (>=1.0.0,<2.0.0)", "rspace_client (>=2.5.0,<3.0.0)", "scikit-learn (>=1.2.2,<2.0.0)", "simsimd (>=4.3.1,<5.0.0)", "sqlite-vss (>=0.1.2,<0.2.0)", "streamlit (>=1.18.0,<2.0.0)", "sympy (>=1.12,<2.0)", "telethon (>=1.28.5,<2.0.0)", "tidb-vector (>=0.0.3,<1.0.0)", "timescale-vector (>=0.0.1,<0.0.2)", "tqdm (>=4.48.0)", "tree-sitter (>=0.20.2,<0.21.0)", "tree-sitter-languages (>=1.8.0,<2.0.0)", "upstash-redis (>=0.15.0,<0.16.0)", "vdms (>=0.0.20,<0.0.21)", "xata (>=1.0.0a7,<2.0.0)", "xmltodict (>=0.13.0,<0.14.0)"]
-
[[package]]
name = "langchain-core"
-version = "0.2.4"
+version = "0.2.5"
description = "Building applications with LLMs through composability"
optional = false
python-versions = "<4.0,>=3.8.1"
files = [
- {file = "langchain_core-0.2.4-py3-none-any.whl", hash = "sha256:5212f7ec78a525e88a178ed3aefe2fd7134b03fb92573dfbab9914f1d92d6ec5"},
- {file = "langchain_core-0.2.4.tar.gz", hash = "sha256:82bdcc546eb0341cefcf1f4ecb3e49836fff003903afddda2d1312bb8491ef81"},
+ {file = "langchain_core-0.2.5-py3-none-any.whl", hash = "sha256:abe5138f22acff23a079ec538be5268bbf97cf023d51987a0dd474d2a16cae3e"},
+ {file = "langchain_core-0.2.5.tar.gz", hash = "sha256:4a5c2f56b22396a63ef4790043660e393adbfa6832b978f023ca996a04b8e752"},
]
[package.dependencies]
@@ -4171,9 +4153,6 @@ pydantic = ">=1,<3"
PyYAML = ">=5.3"
tenacity = ">=8.1.0,<9.0.0"
-[package.extras]
-extended-testing = ["jinja2 (>=3,<4)"]
-
[[package]]
name = "langchain-experimental"
version = "0.0.60"
@@ -4327,7 +4306,7 @@ types-requests = ">=2.31.0.2,<3.0.0.0"
[[package]]
name = "langflow-base"
-version = "0.0.59"
+version = "0.0.60"
description = "A Python package with a built-in web application"
optional = false
python-versions = ">=3.10,<3.13"
diff --git a/pyproject.toml b/pyproject.toml
index 7e29d83c8..84ddf1144 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "langflow"
-version = "1.0.0a48"
+version = "1.0.0a49"
description = "A Python package with a built-in web application"
authors = ["Langflow "]
maintainers = [
diff --git a/src/backend/base/poetry.lock b/src/backend/base/poetry.lock
index 81f8a9668..75fbdcd6a 100644
--- a/src/backend/base/poetry.lock
+++ b/src/backend/base/poetry.lock
@@ -1159,13 +1159,13 @@ files = [
[[package]]
name = "langchain"
-version = "0.2.2"
+version = "0.2.3"
description = "Building applications with LLMs through composability"
optional = false
python-versions = "<4.0,>=3.8.1"
files = [
- {file = "langchain-0.2.2-py3-none-any.whl", hash = "sha256:58ca0c47bcdd156da66f50a0a4fcedc49bf6950827f4a6b06c8c4842d55805f3"},
- {file = "langchain-0.2.2.tar.gz", hash = "sha256:9d61e50e9cdc2bea659bc5e6c03650ba048fda63a307490ae368e539f61a0d3a"},
+ {file = "langchain-0.2.3-py3-none-any.whl", hash = "sha256:5dc33cd9c8008693d328b7cb698df69073acecc89ad9c2a95f243b3314f8d834"},
+ {file = "langchain-0.2.3.tar.gz", hash = "sha256:81962cc72cce6515f7bd71e01542727870789bf8b666c6913d85559080c1a201"},
]
[package.dependencies]
@@ -1181,29 +1181,15 @@ requests = ">=2,<3"
SQLAlchemy = ">=1.4,<3"
tenacity = ">=8.1.0,<9.0.0"
-[package.extras]
-azure = ["azure-ai-formrecognizer (>=3.2.1,<4.0.0)", "azure-ai-textanalytics (>=5.3.0,<6.0.0)", "azure-cognitiveservices-speech (>=1.28.0,<2.0.0)", "azure-core (>=1.26.4,<2.0.0)", "azure-cosmos (>=4.4.0b1,<5.0.0)", "azure-identity (>=1.12.0,<2.0.0)", "azure-search-documents (==11.4.0b8)", "openai (<2)"]
-clarifai = ["clarifai (>=9.1.0)"]
-cli = ["typer (>=0.9.0,<0.10.0)"]
-cohere = ["cohere (>=4,<6)"]
-docarray = ["docarray[hnswlib] (>=0.32.0,<0.33.0)"]
-embeddings = ["sentence-transformers (>=2,<3)"]
-extended-testing = ["aiosqlite (>=0.19.0,<0.20.0)", "aleph-alpha-client (>=2.15.0,<3.0.0)", "anthropic (>=0.3.11,<0.4.0)", "arxiv (>=1.4,<2.0)", "assemblyai (>=0.17.0,<0.18.0)", "atlassian-python-api (>=3.36.0,<4.0.0)", "beautifulsoup4 (>=4,<5)", "bibtexparser (>=1.4.0,<2.0.0)", "cassio (>=0.1.0,<0.2.0)", "chardet (>=5.1.0,<6.0.0)", "cohere (>=4,<6)", "couchbase (>=4.1.9,<5.0.0)", "dashvector (>=1.0.1,<2.0.0)", "databricks-vectorsearch (>=0.21,<0.22)", "datasets (>=2.15.0,<3.0.0)", "dgml-utils (>=0.3.0,<0.4.0)", "esprima (>=4.0.1,<5.0.0)", "faiss-cpu (>=1,<2)", "feedparser (>=6.0.10,<7.0.0)", "fireworks-ai (>=0.9.0,<0.10.0)", "geopandas (>=0.13.1,<0.14.0)", "gitpython (>=3.1.32,<4.0.0)", "google-cloud-documentai (>=2.20.1,<3.0.0)", "gql (>=3.4.1,<4.0.0)", "hologres-vector (>=0.0.6,<0.0.7)", "html2text (>=2020.1.16,<2021.0.0)", "javelin-sdk (>=0.1.8,<0.2.0)", "jinja2 (>=3,<4)", "jq (>=1.4.1,<2.0.0)", "jsonschema (>1)", "langchain-openai (>=0.1,<0.2)", "lxml (>=4.9.3,<6.0)", "markdownify (>=0.11.6,<0.12.0)", "motor (>=3.3.1,<4.0.0)", "msal (>=1.25.0,<2.0.0)", "mwparserfromhell (>=0.6.4,<0.7.0)", "mwxml (>=0.3.3,<0.4.0)", "newspaper3k (>=0.2.8,<0.3.0)", "numexpr (>=2.8.6,<3.0.0)", "openai (<2)", "openapi-pydantic (>=0.3.2,<0.4.0)", "pandas (>=2.0.1,<3.0.0)", "pdfminer-six (>=20221105,<20221106)", "pgvector (>=0.1.6,<0.2.0)", "praw (>=7.7.1,<8.0.0)", "psychicapi (>=0.8.0,<0.9.0)", "py-trello (>=0.19.0,<0.20.0)", "pymupdf (>=1.22.3,<2.0.0)", "pypdf (>=3.4.0,<4.0.0)", "pypdfium2 (>=4.10.0,<5.0.0)", "pyspark (>=3.4.0,<4.0.0)", "rank-bm25 (>=0.2.2,<0.3.0)", "rapidfuzz (>=3.1.1,<4.0.0)", "rapidocr-onnxruntime (>=1.3.2,<2.0.0)", "rdflib (==7.0.0)", "requests-toolbelt (>=1.0.0,<2.0.0)", "rspace_client (>=2.5.0,<3.0.0)", "scikit-learn (>=1.2.2,<2.0.0)", "sqlite-vss (>=0.1.2,<0.2.0)", "streamlit (>=1.18.0,<2.0.0)", "sympy (>=1.12,<2.0)", "telethon (>=1.28.5,<2.0.0)", "timescale-vector (>=0.0.1,<0.0.2)", "tqdm (>=4.48.0)", "upstash-redis (>=0.15.0,<0.16.0)", "xata (>=1.0.0a7,<2.0.0)", "xmltodict (>=0.13.0,<0.14.0)"]
-javascript = ["esprima (>=4.0.1,<5.0.0)"]
-llms = ["clarifai (>=9.1.0)", "cohere (>=4,<6)", "huggingface_hub (>=0,<1)", "manifest-ml (>=0.0.1,<0.0.2)", "nlpcloud (>=1,<2)", "openai (<2)", "openlm (>=0.0.5,<0.0.6)", "torch (>=1,<3)", "transformers (>=4,<5)"]
-openai = ["openai (<2)", "tiktoken (>=0.7,<1.0)"]
-qdrant = ["qdrant-client (>=1.3.1,<2.0.0)"]
-text-helpers = ["chardet (>=5.1.0,<6.0.0)"]
-
[[package]]
name = "langchain-community"
-version = "0.2.3"
+version = "0.2.4"
description = "Community contributed LangChain integrations."
optional = false
python-versions = "<4.0,>=3.8.1"
files = [
- {file = "langchain_community-0.2.3-py3-none-any.whl", hash = "sha256:aa895545be2f3f4aa2fea36f6da2e3b4ec50ce61ec986e8f146901a1e9138138"},
- {file = "langchain_community-0.2.3.tar.gz", hash = "sha256:a3c35af215e47b700e7cb4e548fa8b45c6d46d52b5a5a65af2577c5a0104fc9f"},
+ {file = "langchain_community-0.2.4-py3-none-any.whl", hash = "sha256:8582e9800f4837660dc297cccd2ee1ddc1d8c440d0fe8b64edb07620f0373b0e"},
+ {file = "langchain_community-0.2.4.tar.gz", hash = "sha256:2bb6a1a36b8500a564d25d76469c02457b1a7c3afea6d4a609a47c06b993e3e4"},
]
[package.dependencies]
@@ -1218,19 +1204,15 @@ requests = ">=2,<3"
SQLAlchemy = ">=1.4,<3"
tenacity = ">=8.1.0,<9.0.0"
-[package.extras]
-cli = ["typer (>=0.9.0,<0.10.0)"]
-extended-testing = ["aiosqlite (>=0.19.0,<0.20.0)", "aleph-alpha-client (>=2.15.0,<3.0.0)", "anthropic (>=0.3.11,<0.4.0)", "arxiv (>=1.4,<2.0)", "assemblyai (>=0.17.0,<0.18.0)", "atlassian-python-api (>=3.36.0,<4.0.0)", "azure-ai-documentintelligence (>=1.0.0b1,<2.0.0)", "azure-identity (>=1.15.0,<2.0.0)", "azure-search-documents (==11.4.0)", "beautifulsoup4 (>=4,<5)", "bibtexparser (>=1.4.0,<2.0.0)", "cassio (>=0.1.6,<0.2.0)", "chardet (>=5.1.0,<6.0.0)", "cloudpathlib (>=0.18,<0.19)", "cloudpickle (>=2.0.0)", "cohere (>=4,<5)", "databricks-vectorsearch (>=0.21,<0.22)", "datasets (>=2.15.0,<3.0.0)", "dgml-utils (>=0.3.0,<0.4.0)", "elasticsearch (>=8.12.0,<9.0.0)", "esprima (>=4.0.1,<5.0.0)", "faiss-cpu (>=1,<2)", "feedparser (>=6.0.10,<7.0.0)", "fireworks-ai (>=0.9.0,<0.10.0)", "friendli-client (>=1.2.4,<2.0.0)", "geopandas (>=0.13.1,<0.14.0)", "gitpython (>=3.1.32,<4.0.0)", "google-cloud-documentai (>=2.20.1,<3.0.0)", "gql (>=3.4.1,<4.0.0)", "gradientai (>=1.4.0,<2.0.0)", "hdbcli (>=2.19.21,<3.0.0)", "hologres-vector (>=0.0.6,<0.0.7)", "html2text (>=2020.1.16,<2021.0.0)", "httpx (>=0.24.1,<0.25.0)", "httpx-sse (>=0.4.0,<0.5.0)", "javelin-sdk (>=0.1.8,<0.2.0)", "jinja2 (>=3,<4)", "jq (>=1.4.1,<2.0.0)", "jsonschema (>1)", "lxml (>=4.9.3,<6.0)", "markdownify (>=0.11.6,<0.12.0)", "motor (>=3.3.1,<4.0.0)", "msal (>=1.25.0,<2.0.0)", "mwparserfromhell (>=0.6.4,<0.7.0)", "mwxml (>=0.3.3,<0.4.0)", "newspaper3k (>=0.2.8,<0.3.0)", "numexpr (>=2.8.6,<3.0.0)", "nvidia-riva-client (>=2.14.0,<3.0.0)", "oci (>=2.119.1,<3.0.0)", "openai (<2)", "openapi-pydantic (>=0.3.2,<0.4.0)", "oracle-ads (>=2.9.1,<3.0.0)", "oracledb (>=2.2.0,<3.0.0)", "pandas (>=2.0.1,<3.0.0)", "pdfminer-six (>=20221105,<20221106)", "pgvector (>=0.1.6,<0.2.0)", "praw (>=7.7.1,<8.0.0)", "premai (>=0.3.25,<0.4.0)", "psychicapi (>=0.8.0,<0.9.0)", "py-trello (>=0.19.0,<0.20.0)", "pyjwt (>=2.8.0,<3.0.0)", "pymupdf (>=1.22.3,<2.0.0)", "pypdf (>=3.4.0,<4.0.0)", "pypdfium2 (>=4.10.0,<5.0.0)", "pyspark (>=3.4.0,<4.0.0)", "rank-bm25 (>=0.2.2,<0.3.0)", "rapidfuzz (>=3.1.1,<4.0.0)", "rapidocr-onnxruntime (>=1.3.2,<2.0.0)", "rdflib (==7.0.0)", "requests-toolbelt (>=1.0.0,<2.0.0)", "rspace_client (>=2.5.0,<3.0.0)", "scikit-learn (>=1.2.2,<2.0.0)", "simsimd (>=4.3.1,<5.0.0)", "sqlite-vss (>=0.1.2,<0.2.0)", "streamlit (>=1.18.0,<2.0.0)", "sympy (>=1.12,<2.0)", "telethon (>=1.28.5,<2.0.0)", "tidb-vector (>=0.0.3,<1.0.0)", "timescale-vector (>=0.0.1,<0.0.2)", "tqdm (>=4.48.0)", "tree-sitter (>=0.20.2,<0.21.0)", "tree-sitter-languages (>=1.8.0,<2.0.0)", "upstash-redis (>=0.15.0,<0.16.0)", "vdms (>=0.0.20,<0.0.21)", "xata (>=1.0.0a7,<2.0.0)", "xmltodict (>=0.13.0,<0.14.0)"]
-
[[package]]
name = "langchain-core"
-version = "0.2.4"
+version = "0.2.5"
description = "Building applications with LLMs through composability"
optional = false
python-versions = "<4.0,>=3.8.1"
files = [
- {file = "langchain_core-0.2.4-py3-none-any.whl", hash = "sha256:5212f7ec78a525e88a178ed3aefe2fd7134b03fb92573dfbab9914f1d92d6ec5"},
- {file = "langchain_core-0.2.4.tar.gz", hash = "sha256:82bdcc546eb0341cefcf1f4ecb3e49836fff003903afddda2d1312bb8491ef81"},
+ {file = "langchain_core-0.2.5-py3-none-any.whl", hash = "sha256:abe5138f22acff23a079ec538be5268bbf97cf023d51987a0dd474d2a16cae3e"},
+ {file = "langchain_core-0.2.5.tar.gz", hash = "sha256:4a5c2f56b22396a63ef4790043660e393adbfa6832b978f023ca996a04b8e752"},
]
[package.dependencies]
@@ -1241,9 +1223,6 @@ pydantic = ">=1,<3"
PyYAML = ">=5.3"
tenacity = ">=8.1.0,<9.0.0"
-[package.extras]
-extended-testing = ["jinja2 (>=3,<4)"]
-
[[package]]
name = "langchain-experimental"
version = "0.0.60"
diff --git a/src/backend/base/pyproject.toml b/src/backend/base/pyproject.toml
index f2df7364f..b175fbcf5 100644
--- a/src/backend/base/pyproject.toml
+++ b/src/backend/base/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "langflow-base"
-version = "0.0.59"
+version = "0.0.60"
description = "A Python package with a built-in web application"
authors = ["Langflow "]
maintainers = [
From 69fad76281bbc349e18ba2abc7aeaee3653a9340 Mon Sep 17 00:00:00 2001
From: ogabrielluiz
Date: Fri, 7 Jun 2024 09:12:27 -0300
Subject: [PATCH 07/37] chore: Update Dockerfile to remove frontend build
artifacts
---
docker/build_and_push.Dockerfile | 8 --------
1 file changed, 8 deletions(-)
diff --git a/docker/build_and_push.Dockerfile b/docker/build_and_push.Dockerfile
index 29f9294a6..63521d06a 100644
--- a/docker/build_and_push.Dockerfile
+++ b/docker/build_and_push.Dockerfile
@@ -1,13 +1,6 @@
# syntax=docker/dockerfile:1
# Keep this syntax directive! It's used to enable Docker BuildKit
-FROM node:20-bookworm-slim as builder-node
-WORKDIR /app
-COPY src/frontend/package.json src/frontend/package-lock.json ./
-RUN npm install
-COPY src/frontend/ ./
-RUN npm run build
-
################################
# BUILDER-BASE
@@ -56,7 +49,6 @@ COPY pyproject.toml poetry.lock README.md ./
COPY src/ ./src
COPY scripts/ ./scripts
RUN python -m pip install requests --user && cd ./scripts && python update_dependencies.py
-COPY --from=builder-node /app/build ./src/backend/base/langflow/frontend
RUN $POETRY_HOME/bin/poetry lock --no-update \
&& $POETRY_HOME/bin/poetry build -f wheel \
&& $POETRY_HOME/bin/poetry run pip install dist/*.whl --force-reinstall
From 20cedc173dc101efdb9ca092df8ad40911c22633 Mon Sep 17 00:00:00 2001
From: ogabrielluiz
Date: Fri, 7 Jun 2024 10:05:20 -0300
Subject: [PATCH 08/37] fix: Correct flow retrieval by endpoint name instead of
flow name
---
src/backend/base/langflow/helpers/flow.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/backend/base/langflow/helpers/flow.py b/src/backend/base/langflow/helpers/flow.py
index 7eb901274..7bdc510c6 100644
--- a/src/backend/base/langflow/helpers/flow.py
+++ b/src/backend/base/langflow/helpers/flow.py
@@ -251,7 +251,7 @@ def get_flow_by_id_or_endpoint_name(
flow = db.get(Flow, flow_id)
except ValueError:
endpoint_name = flow_id_or_name
- stmt = select(Flow).where(Flow.name == endpoint_name)
+ stmt = select(Flow).where(Flow.endpoint_name == endpoint_name)
if user_id:
stmt = stmt.where(Flow.user_id == user_id)
flow = db.exec(stmt).first()
From e4c4aa87ec01f057138bf56b54576b1937883787 Mon Sep 17 00:00:00 2001
From: ogabrielluiz
Date: Fri, 7 Jun 2024 14:41:56 -0300
Subject: [PATCH 09/37] chore: Update import statement for CustomComponent in
validate.py
---
src/backend/base/langflow/utils/validate.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/backend/base/langflow/utils/validate.py b/src/backend/base/langflow/utils/validate.py
index 0871dbd82..c3bbc9df8 100644
--- a/src/backend/base/langflow/utils/validate.py
+++ b/src/backend/base/langflow/utils/validate.py
@@ -159,7 +159,10 @@ def create_class(code, class_name):
# Replace from langflow import CustomComponent with from langflow.custom import CustomComponent
code = code.replace("from langflow import CustomComponent", "from langflow.custom import CustomComponent")
-
+ code = code.replace(
+ "from langflow.interface.custom.custom_component import CustomComponent",
+ "from langflow.custom import CustomComponent",
+ )
module = ast.parse(code)
exec_globals = prepare_global_scope(code, module)
From c312359e79bb88e6cbf408e4eab70b3d17c4d3ae Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Fri, 7 Jun 2024 13:44:31 -0400
Subject: [PATCH 10/37] move-custom-components
---
.../custom-component.mdx => tutorials/custom_components.mdx} | 0
docs/sidebars.js | 1 +
2 files changed, 1 insertion(+)
rename docs/docs/{administration/custom-component.mdx => tutorials/custom_components.mdx} (100%)
diff --git a/docs/docs/administration/custom-component.mdx b/docs/docs/tutorials/custom_components.mdx
similarity index 100%
rename from docs/docs/administration/custom-component.mdx
rename to docs/docs/tutorials/custom_components.mdx
diff --git a/docs/sidebars.js b/docs/sidebars.js
index 6a9b3580a..c409266c3 100644
--- a/docs/sidebars.js
+++ b/docs/sidebars.js
@@ -105,6 +105,7 @@ module.exports = {
collapsed: true,
items: [
"tutorials/chatprompttemplate_guide",
+ "tutorials/custom_components",
"tutorials/loading_document",
"tutorials/rag-with-astradb",
],
From dcf68b0e8a0a026a7af797a364b0ed0e19a59cff Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Fri, 7 Jun 2024 13:44:39 -0400
Subject: [PATCH 11/37] remove-unused-pages
---
docs/docs/whats-new/customization-control.mdx | 1 -
docs/docs/whats-new/debugging-reimagined.mdx | 1 -
docs/docs/whats-new/simplification-standardization.mdx | 1 -
3 files changed, 3 deletions(-)
delete mode 100644 docs/docs/whats-new/customization-control.mdx
delete mode 100644 docs/docs/whats-new/debugging-reimagined.mdx
delete mode 100644 docs/docs/whats-new/simplification-standardization.mdx
diff --git a/docs/docs/whats-new/customization-control.mdx b/docs/docs/whats-new/customization-control.mdx
deleted file mode 100644
index 11f23f53c..000000000
--- a/docs/docs/whats-new/customization-control.mdx
+++ /dev/null
@@ -1 +0,0 @@
-# A New Customization and Control
\ No newline at end of file
diff --git a/docs/docs/whats-new/debugging-reimagined.mdx b/docs/docs/whats-new/debugging-reimagined.mdx
deleted file mode 100644
index d30234088..000000000
--- a/docs/docs/whats-new/debugging-reimagined.mdx
+++ /dev/null
@@ -1 +0,0 @@
-# Debugging Reimagined
\ No newline at end of file
diff --git a/docs/docs/whats-new/simplification-standardization.mdx b/docs/docs/whats-new/simplification-standardization.mdx
deleted file mode 100644
index f7e3115bc..000000000
--- a/docs/docs/whats-new/simplification-standardization.mdx
+++ /dev/null
@@ -1 +0,0 @@
-# Simplification Through Standardization
\ No newline at end of file
From 37867ee5f23058d94505c412d85fa7f7a27555e9 Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Fri, 7 Jun 2024 13:44:50 -0400
Subject: [PATCH 12/37] cleanup-images-and-some-text
---
docs/docs/administration/chat-widget.mdx | 6 +-
docs/docs/administration/login.mdx | 11 ++--
docs/docs/administration/playground.mdx | 2 +-
docs/docs/components/agents.mdx | 6 --
docs/docs/components/chains.mdx | 14 +----
docs/docs/components/custom.mdx | 2 +-
docs/docs/components/experimental.mdx | 24 ++++----
docs/docs/components/inputs-and-outputs.mdx | 56 +++++++++----------
docs/docs/components/model_specs.mdx | 22 +++-----
docs/docs/components/models.mdx | 22 ++++----
docs/docs/components/retrievers.mdx | 8 +--
docs/docs/components/text-splitters.mdx | 14 +----
docs/docs/components/tools.mdx | 36 +++++-------
docs/docs/components/utilities.mdx | 14 ++---
docs/docs/getting-started/canvas.mdx | 19 ++-----
.../docs/getting-started/install-langflow.mdx | 2 +-
docs/docs/starter-projects/document-qa.mdx | 2 +-
17 files changed, 103 insertions(+), 157 deletions(-)
diff --git a/docs/docs/administration/chat-widget.mdx b/docs/docs/administration/chat-widget.mdx
index 6d47e123b..b2a97d30e 100644
--- a/docs/docs/administration/chat-widget.mdx
+++ b/docs/docs/administration/chat-widget.mdx
@@ -184,8 +184,9 @@ Use the widget API to customize your Chat Widget:
format {"key":"value"}.
+
| Prop | Type | Required | Description |
-| --------------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
+|-----------------------|---------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| bot_message_style | JSON | No | Applies custom formatting to bot messages. |
| chat_input_field | String | Yes | Defines the type of the input field for chat messages. |
| chat_inputs | JSON | Yes | Determines the chat input elements and their respective values. |
@@ -208,4 +209,5 @@ Use the widget API to customize your Chat Widget:
| tweaks | JSON | No | Applies additional custom adjustments for the associated flow. |
| user_message_style | JSON | No | Determines the formatting for user messages in the chat window. |
| width | Number | No | Sets the width of the chat window in pixels. |
-| window_title | String | No | Sets the title displayed in the chat window's header or title bar. | import ThemedImage from "@theme/ThemedImage"; |
+| window_title | String | No | Sets the title displayed in the chat window's header or title bar. |
+
diff --git a/docs/docs/administration/login.mdx b/docs/docs/administration/login.mdx
index d5d7c1989..f89f3a5ee 100644
--- a/docs/docs/administration/login.mdx
+++ b/docs/docs/administration/login.mdx
@@ -88,12 +88,12 @@ With _`LANGFLOW_AUTO_LOGIN`_ set to _`False`_, Langflow requires users to sign u
light: useBaseUrl("img/sign-up.png"),
dark: useBaseUrl("img/sign-up.png"),
}}
- style={{ width: "50%", maxWidth: "600px", margin: "0 auto" }}
+ style={{ width: "40%", margin: "20px auto" }}
/>
## Profile settings
-Users can change their profile settings by clicking on the profile icon in the top right corner of the application. This opens a dropdown menu with the following options:
+You can change your profile settings by clicking on the profile icon in the top right corner of the Langflow dashboard. This opens a dropdown menu with the following options:
- **Admin Page**: Opens the admin page, which is only accessible to the superuser.
- **Profile Settings**: Opens the profile settings page.
@@ -105,10 +105,10 @@ Users can change their profile settings by clicking on the profile icon in the t
light: useBaseUrl("img/my-account.png"),
dark: useBaseUrl("img/my-account.png"),
}}
- style={{ width: "50%", maxWidth: "600px", margin: "20px auto" }}
+ style={{ maxWidth: "600px", margin: "20px auto" }}
/>
-By clicking on **Profile Settings**, the user is taken to the profile settings page, where they can change their password and their profile picture.
+Select **Profile Settings** to change your password and your profile picture.
-By clicking on **Admin Page**, the superuser is taken to the admin page, where they
-can manage users and groups.
+Select **Admin Page** to manage users and groups as the superuser.
2. Chat with your bot as you normally would, all without having to open the editor.
diff --git a/docs/docs/components/agents.mdx b/docs/docs/components/agents.mdx
index f8917e4e2..51ada9f2f 100644
--- a/docs/docs/components/agents.mdx
+++ b/docs/docs/components/agents.mdx
@@ -2,12 +2,6 @@ import Admonition from '@theme/Admonition';
# Agents
-
-
- We appreciate your understanding as we polish our documentation – it may contain some rough edges. Share your feedback or report issues to help us improve! 🛠️📝
-
-
-
Agents are components that use reasoning to make decisions and take actions, designed to autonomously perform tasks or provide services with some degree of agency. LLM chains can only perform hardcoded sequences of actions, while agents use LLMs to reason through which actions to take, and in which order.
---
diff --git a/docs/docs/components/chains.mdx b/docs/docs/components/chains.mdx
index fd3b5bd5d..a57f442e3 100644
--- a/docs/docs/components/chains.mdx
+++ b/docs/docs/components/chains.mdx
@@ -5,19 +5,11 @@ import Admonition from "@theme/Admonition";
# Chains
-
-
- Thank you for your patience while we enhance our documentation. It may
- have some imperfections. Share your feedback or report issues to help us
- improve! 🛠️📝
-
-
-
Chains, in the context of language models, refer to a series of calls made to a language model. This approach allows for using the output of one call as the input for another. Different chain types facilitate varying complexity levels, making them useful for creating pipelines and executing specific scenarios.
---
-### CombineDocsChain
+## CombineDocsChain
`CombineDocsChain` includes methods to combine or aggregate loaded documents for question-answering functionality.
@@ -34,7 +26,7 @@ Acts as a proxy for LangChain’s [documents](https://python.langchain.com/docs/
---
-### ConversationChain
+## ConversationChain
`ConversationChain` facilitates dynamic, interactive conversations with a language model, ideal for chatbots or virtual assistants.
@@ -48,7 +40,7 @@ Acts as a proxy for LangChain’s [documents](https://python.langchain.com/docs/
---
-### ConversationalRetrievalChain
+## ConversationalRetrievalChain
`ConversationalRetrievalChain` combines document search with question-answering capabilities, extracting information and providing answers.
diff --git a/docs/docs/components/custom.mdx b/docs/docs/components/custom.mdx
index 1c039bd2a..e17b9db8d 100644
--- a/docs/docs/components/custom.mdx
+++ b/docs/docs/components/custom.mdx
@@ -3,7 +3,7 @@ import Admonition from "@theme/Admonition";
# Custom Components
- Read the [Custom Component Guidelines](../administration/custom-component) for
+ Read the [Custom Component Tutorial](../tutorials/custom_components) for
detailed information on custom components.
diff --git a/docs/docs/components/experimental.mdx b/docs/docs/components/experimental.mdx
index 8e503da06..5902b849e 100644
--- a/docs/docs/components/experimental.mdx
+++ b/docs/docs/components/experimental.mdx
@@ -4,7 +4,9 @@ import Admonition from '@theme/Admonition';
Components in the experimental phase are currently in beta. They have been initially developed and tested but haven't yet achieved a stable or fully supported status. We encourage users to explore these components, provide feedback, and report any issues encountered.
-### Clear Message History Component
+---
+
+## Clear Message History Component
This component clears the message history for a specified session ID.
@@ -22,7 +24,7 @@ Provide the session ID to clear its message history.
---
-### Extract Key From Record
+## Extract Key From Record
This component extracts specified keys from a record.
@@ -47,7 +49,7 @@ Provide the record and specify the keys you want to extract. Optionally, enable
---
-### Flow as Tool
+## Flow as Tool
This component turns a function running a flow into a Tool.
@@ -79,7 +81,7 @@ Select a flow, name and describe the tool, and decide if you want to return the
---
-### Listen
+## Listen
This component listens for a specified notification.
@@ -95,7 +97,7 @@ Specify the notification to listen for.
---
-### List Flows
+## List Flows
This component lists all available flows.
@@ -105,7 +107,7 @@ Call this component without parameters to list all flows.
---
-### Merge Records
+## Merge Records
This component merges a list of records.
@@ -120,7 +122,7 @@ Provide the records you want to merge.
---
-### Notify
+## Notify
This component generates a notification.
@@ -144,7 +146,7 @@ Specify the notification name, provide a record if necessary, and indicate wheth
---
-### Run Flow
+## Run Flow
This component runs a specified flow.
@@ -170,7 +172,7 @@ Provide the input value, select the flow, and apply any tweaks.
---
-### Runnable Executor
+## Runnable Executor
This component executes a specified runnable.
@@ -198,7 +200,7 @@ Specify the input key, provide inputs, select the runnable, and optionally defin
---
-### SQL Executor
+## SQL Executor
This component executes an SQL query.
@@ -226,7 +228,7 @@ Provide the SQL query, specify the database URL, and configure settings for colu
---
-### SubFlow
+## SubFlow
This component dynamically generates a tool from a flow.
diff --git a/docs/docs/components/inputs-and-outputs.mdx b/docs/docs/components/inputs-and-outputs.mdx
index 2a624221a..a923d1f55 100644
--- a/docs/docs/components/inputs-and-outputs.mdx
+++ b/docs/docs/components/inputs-and-outputs.mdx
@@ -20,6 +20,15 @@ You can find out more about Chat Input and other Inputs [here](#chat-input).
This component collects user input from the chat.
+
+
**Parameters**
- **Sender Type:** Specifies the sender type. Defaults to `User`. Options are `Machine` and `User`.
@@ -34,30 +43,30 @@ This component collects user input from the chat.
-
-
One significant capability of the Chat Input component is its ability to transform the Playground into a chat window. This feature is particularly valuable for scenarios requiring user input to initiate or influence the flow.
### Text Input
The **Text Input** component adds an **Input** field on the Playground. This enables you to define parameters while running and testing your flow.
+
+
**Parameters**
- **Value:** Specifies the text input value. This is where the user inputs text data that will be passed to the next component in the sequence. If no value is provided, it defaults to an empty string.
@@ -79,15 +88,6 @@ A template with `Name: {name}, Age: {age}` will convert the `Record` into a text
If you pass more than one `Record`, the text will be concatenated with a new line separator.
-
-
## Outputs
Outputs are components that are used to define where data comes out of your flow. They can be used to send data to the user, to the Playground, or to define how the data will be displayed in the Playground.
@@ -135,10 +135,6 @@ A prompt is the input provided to a language model, consisting of multiple compo
This component creates a prompt template with dynamic variables. This is useful for structuring prompts and passing dynamic data to a language model.
-**Parameters**
-
-- **Template:** The template for the prompt. This field allows you to create other fields dynamically by using curly brackets `{}`. For example, if you have a template like `Hello {name}, how are you?`, a new field called `name` will be created. Prompt variables can be created with any name inside curly brackets, e.g. `{variable_name}`.
-
+**Parameters**
+
+- **Template:** The template for the prompt. This field allows you to create other fields dynamically by using curly brackets `{}`. For example, if you have a template like `Hello {name}, how are you?`, a new field called `name` will be created. Prompt variables can be created with any name inside curly brackets, e.g. `{variable_name}`.
+
### PromptTemplate
The `PromptTemplate` component enables users to create prompts and define variables that control how the model is instructed. Users can input a set of variables which the template uses to generate the prompt when a conversation starts.
-
- After defining a variable in the prompt template, it acts as its own component
- input. See [Prompt Customization](../administration/prompt-customization) for
- more details.
-
+After defining a variable in the prompt template, it acts as its own component input. See [Prompt Customization](../administration/prompt-customization) for more details.
- **template:** The template used to format an individual request.
diff --git a/docs/docs/components/model_specs.mdx b/docs/docs/components/model_specs.mdx
index 3ed3d60ca..ad45edf45 100644
--- a/docs/docs/components/model_specs.mdx
+++ b/docs/docs/components/model_specs.mdx
@@ -2,17 +2,11 @@ import Admonition from '@theme/Admonition';
# Large Language Models (LLMs)
-
-
- Thank you for your patience as we refine our documentation. You might encounter some inconsistencies. Please help us improve by sharing your feedback or reporting any issues! 🛠️📝
-
-
-
A Large Language Model (LLM) is a foundational component of Langflow. It provides a uniform interface for interacting with LLMs from various providers, including OpenAI, Cohere, and HuggingFace. Langflow extensively uses LLMs across its chains and agents, employing them to generate text based on specific prompts or inputs.
---
-### Anthropic
+## Anthropic
This is a wrapper for Anthropic's large language models. Learn more at [Anthropic](https://www.anthropic.com).
@@ -22,7 +16,7 @@ This is a wrapper for Anthropic's large language models. Learn more at [Anthropi
---
-### ChatAnthropic
+## ChatAnthropic
This is a wrapper for Anthropic's large language model designed for chat-based interactions. Learn more at [Anthropic](https://www.anthropic.com).
@@ -32,7 +26,7 @@ This is a wrapper for Anthropic's large language model designed for chat-based i
---
-### CTransformers
+## CTransformers
`CTransformers` provides access to Transformer models implemented in C/C++ using the [GGML](https://github.com/ggerganov/ggml) library.
@@ -65,7 +59,7 @@ Ensure the `ctransformers` Python package is installed. Discover more about inst
- **model_file**: The specific model file name within the repository or directory.
- **model_type**: The type of transformer model used. For further information, visit [ctransformers](https://github.com/marella/ctransformers).
-### ChatOpenAI Component
+## ChatOpenAI Component
This component interfaces with [OpenAI's](https://openai.com) large language models, supporting a variety of tasks such as chatbots, generative question-answering, and summarization.
@@ -76,7 +70,7 @@ This component interfaces with [OpenAI's](https://openai.com) large language mod
- **openai_api_key**: The API key required for authentication with the OpenAI API.
- **temperature**: Adjusts the randomness level of the text generation. This should be a non-negative number, defaulting to `0.7`.
-### Cohere Component
+## Cohere Component
A wrapper for accessing [Cohere's](https://cohere.com) large language models.
@@ -84,7 +78,7 @@ A wrapper for accessing [Cohere's](https://cohere.com) large language models.
- **max_tokens**: The limit on the number of tokens to generate per request, defaulting to `256`.
- **temperature**: Adjusts the randomness level in text generations. This should be a non-negative number, defaulting to `0.75`.
-### HuggingFaceHub Component
+## HuggingFaceHub Component
A component facilitating access to models hosted on the [HuggingFace Hub](https://www.huggingface.co/models).
@@ -93,7 +87,7 @@ A component facilitating access to models hosted on the [HuggingFace Hub](https:
- **repo_id**: Specifies the model repository, defaulting to `gpt2`.
- **task**: The specific task to execute with the model, returning either `generated_text` or `summary_text`.
-### LlamaCpp Component
+## LlamaCpp Component
This component provides access to `llama.cpp` models, ensuring high performance and flexibility.
@@ -122,7 +116,7 @@ This component provides access to `llama.cpp` models, ensuring high performance
- **verbose**: Controls the verbosity of output details. When enabled, it provides insights into internal states to aid debugging and understanding, defaulting to `False`.
- **vocab_only**: Loads only the vocabulary without model weights, defaulting to `False`.
-### VertexAI Component
+## VertexAI Component
This component integrates with [Google Vertex AI](https://cloud.google.com/vertex-ai) large language models to enhance AI capabilities.
diff --git a/docs/docs/components/models.mdx b/docs/docs/components/models.mdx
index fc6d7924e..f02c1654b 100644
--- a/docs/docs/components/models.mdx
+++ b/docs/docs/components/models.mdx
@@ -2,7 +2,7 @@ import Admonition from "@theme/Admonition";
# Models
-### Amazon Bedrock
+## Amazon Bedrock
This component facilitates the generation of text using the LLM (Large Language Model) model from Amazon Bedrock.
@@ -48,7 +48,7 @@ This component facilitates the generation of text using the LLM (Large Language
---
-### Anthropic
+## Anthropic
This component allows the generation of text using Anthropic Chat&Completion large language models.
@@ -79,7 +79,7 @@ For detailed documentation and integration guides, please refer to the [Anthropi
---
-### Azure OpenAI
+## Azure OpenAI
This component allows the generation of text using the LLM (Large Language Model) model from Azure OpenAI.
@@ -124,7 +124,7 @@ For detailed documentation and integration guides, please refer to the [Azure Op
---
-### Cohere
+## Cohere
This component enables text generation using Cohere large language models.
@@ -144,7 +144,7 @@ This component enables text generation using Cohere large language models.
---
-### Google Generative AI
+## Google Generative AI
This component enables text generation using Google Generative AI.
@@ -172,7 +172,7 @@ This component enables text generation using Google Generative AI.
---
-### Hugging Face API
+## Hugging Face API
This component facilitates text generation using LLM models from the Hugging Face Inference API.
@@ -194,7 +194,7 @@ This component facilitates text generation using LLM models from the Hugging Fac
---
-### LiteLLM Model
+## LiteLLM Model
Generates text using the `LiteLLM` collection of large language models.
@@ -217,7 +217,7 @@ Generates text using the `LiteLLM` collection of large language models.
---
-### Ollama
+## Ollama
Generate text using Ollama Local LLMs.
@@ -252,7 +252,7 @@ Generate text using Ollama Local LLMs.
---
-### OpenAI
+## OpenAI
This component facilitates text generation using OpenAI's models.
@@ -278,7 +278,7 @@ This component facilitates text generation using OpenAI's models.
---
-### Qianfan
+## Qianfan
This component facilitates the generation of text using Baidu Qianfan chat models.
@@ -317,7 +317,7 @@ This component facilitates the generation of text using Baidu Qianfan chat model
---
-### Vertex AI
+## Vertex AI
The `ChatVertexAI` is a component for generating text using Vertex AI Chat large language models API.
diff --git a/docs/docs/components/retrievers.mdx b/docs/docs/components/retrievers.mdx
index 825842df7..baf8d6813 100644
--- a/docs/docs/components/retrievers.mdx
+++ b/docs/docs/components/retrievers.mdx
@@ -2,17 +2,11 @@ import Admonition from '@theme/Admonition';
# Retrievers
-
-
- We appreciate your patience as we enhance our documentation. It may have some imperfections. Please share your feedback or report issues to help us improve. 🛠️📝
-
-
-
A retriever is an interface that returns documents in response to an unstructured query. It's broader than a vector store because it doesn't need to store documents; it only needs to retrieve them.
---
-### MultiQueryRetriever
+## MultiQueryRetriever
The `MultiQueryRetriever` automates generating multiple queries, retrieves relevant documents for each query, and aggregates the results. This method improves retrieval effectiveness and addresses the limitations of traditional distance-based methods.
diff --git a/docs/docs/components/text-splitters.mdx b/docs/docs/components/text-splitters.mdx
index 6e3925ee2..02e7a311b 100644
--- a/docs/docs/components/text-splitters.mdx
+++ b/docs/docs/components/text-splitters.mdx
@@ -2,19 +2,11 @@ import Admonition from "@theme/Admonition";
# Text Splitters
-
-
- Thank you for your patience as we enhance our documentation. It might
- currently have some rough edges. Please share your feedback or report any
- issues to assist us in improving! 🛠️📝
-
-
-
A text splitter is a tool that divides a document or text into smaller chunks or segments. This helps make large texts more manageable for analysis or processing.
---
-### CharacterTextSplitter
+## CharacterTextSplitter
The `CharacterTextSplitter` splits a long text into smaller chunks based on a specified character. It aims to keep paragraphs, sentences, and words intact as much as possible since these are semantically related elements of text.
@@ -27,7 +19,7 @@ The `CharacterTextSplitter` splits a long text into smaller chunks based on a sp
---
-### RecursiveCharacterTextSplitter
+## RecursiveCharacterTextSplitter
The `RecursiveCharacterTextSplitter` functions similarly to the `CharacterTextSplitter` by trying to keep paragraphs, sentences, and words together. It also recursively splits the text into smaller chunks if the initial chunk size exceeds a specified threshold.
@@ -38,7 +30,7 @@ The `RecursiveCharacterTextSplitter` functions similarly to the `CharacterTextSp
- **chunk_size:** The maximum number of characters in each chunk.
- **separators:** A list of characters used to split the text into chunks. The splitter first tries to split text using the first character in the `separators` list. If any chunk exceeds the maximum size, it proceeds to the next character in the list and continues splitting. The defaults are ["\n\n", "\n", " ", ""].
-### LanguageRecursiveTextSplitter
+## LanguageRecursiveTextSplitter
The `LanguageRecursiveTextSplitter` divides text into smaller chunks based on the programming language of the text.
diff --git a/docs/docs/components/tools.mdx b/docs/docs/components/tools.mdx
index 940c304eb..251d3b016 100644
--- a/docs/docs/components/tools.mdx
+++ b/docs/docs/components/tools.mdx
@@ -2,70 +2,64 @@ import Admonition from '@theme/Admonition';
# Tools
-
-
- Thanks for your patience as we refine our documentation. It might have some rough edges currently. Please share your feedback or report issues to help us enhance it! 🛠️📝
-
-
-
-### SearchApi
+## SearchApi
SearchApi offers a real-time search engine results API that returns structured JSON data, including answer boxes, knowledge graphs, organic results, and more.
-#### Parameters
+### Parameters
- **Api Key:** A unique identifier required for authentication with real-time search engines, obtainable through the [SearchApi dashboard](https://www.searchapi.io/).
- **Engine:** Specifies the search engine used, such as Google, Google Scholar, Bing, YouTube, and YouTube transcripts. Refer to the [documentation](https://www.searchapi.io/docs/google) for a complete list of supported engines.
- **Parameters:** Allows the selection of various parameters recognized by SearchApi. Some parameters are mandatory while others are optional.
-#### Output
+### Output
- **Document:** The JSON response from the request.
-### BingSearchRun
+## BingSearchRun
Bing Search, a web search engine by Microsoft, provides search results for various content types like web pages, images, videos, and news articles. It combines algorithms and human editors to deliver these results.
-#### Parameters
+### Parameters
- **Api Wrapper:** A BingSearchAPIWrapper component that processes the search URL and subscription key.
-### Calculator
+## Calculator
The calculator tool leverages an LLMMathChain to provide mathematical calculation capabilities, enabling the agent to perform computations as needed.
-#### Parameters
+### Parameters
- **LLM:** The Language Model used for calculations.
-### GoogleSearchResults
+## GoogleSearchResults
This is a wrapper around Google Search tailored for users who need precise control over the JSON data returned from the API.
-#### Parameters
+### Parameters
- **Api Wrapper:** A GoogleSearchAPIWrapper equipped with a Google API key and CSE ID.
-### GoogleSearchRun
+## GoogleSearchRun
This tool acts as a quick wrapper around Google Search, executing the search query and returning the snippet from the most relevant result.
-#### Parameters
+### Parameters
- **Api Wrapper:** A GoogleSearchAPIWrapper equipped with a Google API key and CSE ID.
-### GoogleSerperRun
+## GoogleSerperRun
A cost-effective Google Search API.
-#### Parameters
+### Parameters
- **Api Wrapper:** A GoogleSerperAPIWrapper with the required API key and result keys.
-### InfoSQLDatabaseTool
+## InfoSQLDatabaseTool
This tool retrieves metadata about SQL databases. It takes a comma-separated list of table names as input and outputs the schema and sample rows for those tables.
-#### Parameters
+### Parameters
- **Db:** The SQL database to query.
diff --git a/docs/docs/components/utilities.mdx b/docs/docs/components/utilities.mdx
index 5f2a86d4d..99af76810 100644
--- a/docs/docs/components/utilities.mdx
+++ b/docs/docs/components/utilities.mdx
@@ -2,17 +2,11 @@ import Admonition from "@theme/Admonition";
# Utilities
-
- We appreciate your understanding as we polish our documentation—it may
- contain some rough edges. Share your feedback or report issues to help us
- improve! 🛠️📝
-
-
Utilities are a set of actions that can be used to perform common tasks in a flow. They are available in the **Utilities** section in the sidebar.
---
-### GET request
+## GET request
Make a GET request to the specified URL.
@@ -27,7 +21,7 @@ Make a GET request to the specified URL.
---
-### POST request
+## POST request
Make a POST request to the specified URL.
@@ -43,7 +37,7 @@ Make a POST request to the specified URL.
---
-### Update request
+## Update request
Make a PATCH or PUT request to the specified URL.
@@ -60,7 +54,7 @@ Make a PATCH or PUT request to the specified URL.
---
-### JSON document builder
+## JSON document builder
Build a document containing a JSON object using a key and another document page content.
diff --git a/docs/docs/getting-started/canvas.mdx b/docs/docs/getting-started/canvas.mdx
index 5974f245b..2f7d20cf3 100644
--- a/docs/docs/getting-started/canvas.mdx
+++ b/docs/docs/getting-started/canvas.mdx
@@ -11,15 +11,6 @@ The **Langflow canvas** is the central hub of Langflow, where you'll assemble ne
To get a feel for the canvas, we'll examine a basic prompting flow.
You can either build this flow yourself, or select **New Project** > **Basic prompting** to open a canvas with the flow pre-built.
-
-
## Flows, components, collections, and projects
A [flow](#flow) is a pipeline of components connected together in the Langflow canvas.
@@ -44,9 +35,10 @@ For example, the [Basic prompting](../starter-projects/basic-prompting.mdx) flow
light: "img/basic-prompting.png",
dark: "img/basic-prompting.png",
}}
- style={{ width: "80%", margin: "20px auto" }}
+ style={{ width: "100%", maxWidth: "800px", margin: "0 auto" }}
/>
+
In this flow, the **OpenAI LLM component** receives input (left side) and produces output (right side) - in this case, receiving input from the **Chat Input** and **Prompt** components and producing output to the **Chat Output** component.
## Component
@@ -77,7 +69,7 @@ Components are the building blocks of flows. They consist of inputs, outputs, an
light: useBaseUrl("img/single-component.png"),
dark: useBaseUrl("img/single-component.png"),
}}
- style={{ width: "50%", maxWidth: "800px", margin: "20px auto" }}
+ style={{ width: "40%", margin: "20px auto" }}
/>
@@ -112,7 +104,7 @@ The menu options are **Code**, **Save**, **Duplicate**, and **More**.
light: "img/chat-input-with-menu.png",
dark: "img/chat-input-with-menu.png",
}}
- style={{ width: "30%", margin: "20px auto" }}
+ style={{ width: "40%", margin: "20px auto" }}
/>
### Code menu
@@ -174,13 +166,14 @@ Modify the call's parameters in the **Tweaks** window, click the **Copy Code** o
light: "img/api-window.png",
dark: "img/api-window.png",
}}
- style={{ width: "50%", margin: "20px auto" }}
+ style={{ width: "60%", margin: "20px auto" }}
/>
### curl
The **curl** tab displays sample code for posting a query to your flow.
Modify the `input_value` to change your input message.
+Copy the code and run it to post a query to your flow and get the result.
```curl
curl -X POST \
diff --git a/docs/docs/getting-started/install-langflow.mdx b/docs/docs/getting-started/install-langflow.mdx
index 4beb5e362..e769aae01 100644
--- a/docs/docs/getting-started/install-langflow.mdx
+++ b/docs/docs/getting-started/install-langflow.mdx
@@ -89,7 +89,7 @@ You'll be presented with the following screen:
light: "img/duplicate-space.png",
dark: "img/duplicate-space.png",
}}
- style={{ width: "100%", margin: "20px auto" }}
+ style={{ width: "80%", maxWidth: "800px", margin: "0 auto" }}
/>
Name your Space, define the visibility (Public or Private), and click on **Duplicate Space** to start the installation process. When installation is finished, you'll be redirected to the Space's main page to start using Langflow right away!
diff --git a/docs/docs/starter-projects/document-qa.mdx b/docs/docs/starter-projects/document-qa.mdx
index ddbcd901a..b48e8c35d 100644
--- a/docs/docs/starter-projects/document-qa.mdx
+++ b/docs/docs/starter-projects/document-qa.mdx
@@ -33,7 +33,7 @@ Build a question-and-answer chatbot with a document loaded from local memory.
light: "img/document-qa.png",
dark: "img/document-qa.png",
}}
- style={{ width: "80%", margin: "20px auto" }}
+ style={{ width: "100%", maxWidth: "800px", margin: "0 auto" }}
/>
This flow creates a basic chatbot with the **Chat Input**, **Prompt**, **OpenAI**, and **Chat Output** components.
From db0eeca9d666039d477f3f80c6c10762d01cbc6a Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Fri, 7 Jun 2024 13:46:19 -0400
Subject: [PATCH 13/37] title-case
---
docs/docs/contributing/how-contribute.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/docs/contributing/how-contribute.md b/docs/docs/contributing/how-contribute.md
index 4939edaee..ba9223fec 100644
--- a/docs/docs/contributing/how-contribute.md
+++ b/docs/docs/contributing/how-contribute.md
@@ -1,4 +1,4 @@
-# How to contribute?
+# How to Contribute?
👋 Hello there! We welcome contributions from developers of all levels to our open-source project on [GitHub](https://github.com/langflow-ai/langflow). If you'd like to contribute, please check our contributing guidelines and help make Langflow more accessible.
From 2e5a006f4bc0987a48d38e49ea1ae4f44480eaa8 Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Fri, 7 Jun 2024 13:51:38 -0400
Subject: [PATCH 14/37] for-more
---
docs/docs/administration/playground.mdx | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/docs/administration/playground.mdx b/docs/docs/administration/playground.mdx
index a6830edac..32193136c 100644
--- a/docs/docs/administration/playground.mdx
+++ b/docs/docs/administration/playground.mdx
@@ -51,3 +51,5 @@ Adding or removing any of the below components modifies your Playground so you c
You can also select **Options** > **Logs** to see your flow's logs.
+For more information, see [Inputs and Outputs](../components/inputs-and-outputs.mdx).
+
From c468a7c918ade71537a6ce1de931b94cf992f60d Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Fri, 7 Jun 2024 15:21:02 -0400
Subject: [PATCH 15/37] tldr-not-heading
---
docs/docs/administration/global-env.mdx | 2 +-
docs/docs/components/inputs-and-outputs.mdx | 2 +-
docs/docs/getting-started/flows-components-collections.mdx | 2 +-
docs/docs/migration/possible-installation-issues.mdx | 4 ++--
docs/docs/tutorials/custom_components.mdx | 2 +-
5 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/docs/docs/administration/global-env.mdx b/docs/docs/administration/global-env.mdx
index 51e5d633e..4f1d673fb 100644
--- a/docs/docs/administration/global-env.mdx
+++ b/docs/docs/administration/global-env.mdx
@@ -8,7 +8,7 @@ import Admonition from "@theme/Admonition";
Global Variables are a useful feature of Langflow, allowing you to define reusable variables accessed from any Text field in your project.
-## TL;DR
+**TL;DR**
- Global Variables are reusable variables accessible from any Text field in your project.
- To create one, click the 🌐 button in a Text field and then **+ Add New Variable**.
diff --git a/docs/docs/components/inputs-and-outputs.mdx b/docs/docs/components/inputs-and-outputs.mdx
index a923d1f55..bd804ea5f 100644
--- a/docs/docs/components/inputs-and-outputs.mdx
+++ b/docs/docs/components/inputs-and-outputs.mdx
@@ -3,7 +3,7 @@ import ZoomableImage from "/src/theme/ZoomableImage.js";
# Inputs and Outputs
-TL;DR: Inputs and Outputs are a category of components that are used to define where data comes in and out of your flow.
+Inputs and Outputs are a category of components that are used to define where data comes in and out of your flow.
They also dynamically change the Playground and can be renamed to facilitate building and maintaining your flows.
## Inputs
diff --git a/docs/docs/getting-started/flows-components-collections.mdx b/docs/docs/getting-started/flows-components-collections.mdx
index 335fb5c12..f33aa01eb 100644
--- a/docs/docs/getting-started/flows-components-collections.mdx
+++ b/docs/docs/getting-started/flows-components-collections.mdx
@@ -5,7 +5,7 @@ import ReactPlayer from "react-player";
# 🖥️ Flows, components, collections, and projects
-## TL;DR
+**TL;DR**
A [flow](#flow) is a pipeline of components connected together in the Langflow canvas.
diff --git a/docs/docs/migration/possible-installation-issues.mdx b/docs/docs/migration/possible-installation-issues.mdx
index a012a1c09..791741f5f 100644
--- a/docs/docs/migration/possible-installation-issues.mdx
+++ b/docs/docs/migration/possible-installation-issues.mdx
@@ -4,7 +4,7 @@ This is a list of possible issues that you may encounter when installing Langflo
## _`No module named 'langflow.__main__'`_
-### TL;DR
+**TL;DR**
1. Run _`python -m langflow run`_ instead of _`langflow run`_.
2. If that doesn't work, reinstall Langflow with _`_python -m pip install langflow --pre -U`_.
@@ -33,7 +33,7 @@ There are two possible reasons for this error:
## _`Something went wrong running migrations. Please, run 'langflow migration --fix'`_
-### TL;DR
+**TL;DR**
- Clear the cache by deleting the contents of the cache folder.
This folder can be found at:
diff --git a/docs/docs/tutorials/custom_components.mdx b/docs/docs/tutorials/custom_components.mdx
index 02a137d07..bf9299a63 100644
--- a/docs/docs/tutorials/custom_components.mdx
+++ b/docs/docs/tutorials/custom_components.mdx
@@ -14,7 +14,7 @@ A Custom Component is created from a user-defined Python script that uses the _`
Let's take a look at the basic rules and features. Then we'll go over an example.
-## TL;DR
+**TL;DR**
- Create a class that inherits from _`CustomComponent`_ and contains a _`build`_ method.
- Use arguments with [Type Annotations (or Type Hints)](https://docs.python.org/3/library/typing.html) of the _`build`_ method to create component fields.
From 774de98c70b8f3f6421c7a5f550a746d8e55b1e9 Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Fri, 7 Jun 2024 15:21:56 -0400
Subject: [PATCH 16/37] remove-unused-file
---
.../flows-components-collections.mdx | 20 -------------------
1 file changed, 20 deletions(-)
delete mode 100644 docs/docs/getting-started/flows-components-collections.mdx
diff --git a/docs/docs/getting-started/flows-components-collections.mdx b/docs/docs/getting-started/flows-components-collections.mdx
deleted file mode 100644
index f33aa01eb..000000000
--- a/docs/docs/getting-started/flows-components-collections.mdx
+++ /dev/null
@@ -1,20 +0,0 @@
-import ThemedImage from "@theme/ThemedImage";
-import useBaseUrl from "@docusaurus/useBaseUrl";
-import ZoomableImage from "/src/theme/ZoomableImage.js";
-import ReactPlayer from "react-player";
-
-# 🖥️ Flows, components, collections, and projects
-
-**TL;DR**
-
-A [flow](#flow) is a pipeline of components connected together in the Langflow canvas.
-
-A [component](#component) is a single building block within a flow. A component has inputs, outputs, and parameters that define its functionality.
-
-A [collection](#collection) is a snapshot of the flows available in your database. Collections can be downloaded to local storage and uploaded for future use.
-
-A [project](#project) can be a component or a flow. Projects are saved as part of your collection.
-
-For example, the **OpenAI LLM** is a **component** of the **Basic prompting** flow, and the **flow** is stored in a **collection**.
-
-## Component
From 2a21e2de3037a1f3159d99df9f44e34056c7c4a7 Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Fri, 7 Jun 2024 15:23:45 -0400
Subject: [PATCH 17/37] remove-unused-pages
---
docs/docs/administration/chat-interface.mdx | 56 -----------------
docs/docs/administration/collection.mdx | 13 ----
docs/docs/administration/components.mdx | 58 ------------------
docs/docs/administration/features.mdx | 68 ---------------------
4 files changed, 195 deletions(-)
delete mode 100644 docs/docs/administration/chat-interface.mdx
delete mode 100644 docs/docs/administration/collection.mdx
delete mode 100644 docs/docs/administration/components.mdx
delete mode 100644 docs/docs/administration/features.mdx
diff --git a/docs/docs/administration/chat-interface.mdx b/docs/docs/administration/chat-interface.mdx
deleted file mode 100644
index 5da5d4647..000000000
--- a/docs/docs/administration/chat-interface.mdx
+++ /dev/null
@@ -1,56 +0,0 @@
-import ThemedImage from "@theme/ThemedImage";
-import useBaseUrl from "@docusaurus/useBaseUrl";
-import ZoomableImage from "/src/theme/ZoomableImage.js";
-import ReactPlayer from "react-player";
-
-# Chat Interface
-
-Langflow’s chat interface provides a user-friendly experience and functionality to interact with the model and customize the prompt. The sidebar brings options that allow users to view and edit pre-defined prompt variables. This feature facilitates quick experimentation by enabling the modification of variable values right in the chat.
-
-{" "}
-
-
-
-Notice that editing variables in the chat interface take place temporarily and won’t change their original value in the components once the chat is closed.
-
-{" "}
-
-
-
-To view the complete prompt in its original, structured format, click the "Display Prompt" option. This feature lets you see the prompt exactly as it entered the model.
-
-{" "}
-
-
-In the chat interface, you can redefine which variable should be interpreted as the chat input. This gives you control over these inputs and allows dynamic and creative interactions.
-
-{" "}
-
diff --git a/docs/docs/administration/collection.mdx b/docs/docs/administration/collection.mdx
deleted file mode 100644
index c0616b2e2..000000000
--- a/docs/docs/administration/collection.mdx
+++ /dev/null
@@ -1,13 +0,0 @@
-import ThemedImage from '@theme/ThemedImage';
-import useBaseUrl from '@docusaurus/useBaseUrl';
-import ZoomableImage from '/src/theme/ZoomableImage.js';
-import ReactPlayer from 'react-player';
-
-# Collection
-
-A collection is a snapshot of the flows available in the database. You can download your entire collection for local storage and upload it anytime for future use.
-
-
-
-
diff --git a/docs/docs/administration/components.mdx b/docs/docs/administration/components.mdx
deleted file mode 100644
index 16aa83eff..000000000
--- a/docs/docs/administration/components.mdx
+++ /dev/null
@@ -1,58 +0,0 @@
-import ThemedImage from "@theme/ThemedImage";
-import useBaseUrl from "@docusaurus/useBaseUrl";
-import ZoomableImage from "/src/theme/ZoomableImage.js";
-import ReactPlayer from "react-player";
-
-# Component
-
-Components are the building blocks of the flows. They are made of inputs, outputs, and parameters that define their functionality, providing a convenient and straightforward way to compose LLM-based applications. Learn more about components and how they work in the LangChain [documentation](https://python.langchain.com/docs/integrations/components) section.
-
-### Component's Features
-
-
- During the flow creation process, you will notice handles (colored circles)
- attached to one or both sides of a component. These handles represent the
- availability to connect to other components, while their colors are type hints
- (hover over a handle to see connection details).
-
-
-
- For example, if you select a ConversationChain component, you
- will see orange o and purple{" "}
- o input handles. They indicate that
- this component accepts an LLM and a Memory component as inputs. The red
- asterisk * means that at least one input
- of that type is required.
-
-
-{" "}
-
-
-
-
- On the top right corner, you will find the component status icon 🔴. Make the
- necessary connections, build the flow (⚡ zap icon on the bottom right of the
- canvas) and once the validation is completed, the status of each validated
- component should light green 🟢. Hover over the component status to reveal the
- outputs going through it in case of success, or the detected error in case of
- failure.
-
-
----
-
-### Component's Parameters
-
-Langflow components can be edited in the component settings button. Hide parameters to reduce complexity and keep the canvas clean and intuitive for experimentation.
-
-
- When you click for New Project, you will see on the top left corner of the
- screen, some options such as Import, Export,{" "}
- Code and Save, as displayed in the image
- below:
-
-
-{" "}
-
-
-
-
- Further down, we will explain each of these options.
-
-
----
-
-### Import and Export
-
-Flows can be exported and imported as JSON files.
-
-
-Watch out for API keys being stored in local files.
-
-
-
----
-
-### Code
-
-The Code button shows snippets to use your flow as a Python object or an API.
-
-**Python Code**
-
-Through the Langflow package, you can run your flow from a JSON file. The example below shows how to run a flow from a JSON file.
-
-```python
-from langflow.load import run_flow_from_json
-
-results = run_flow_from_json("path/to/flow.json", input_value="Hello, World!")
-```
-
-**API**
-
-Once you save a flow, the API endpoint is created with your latest changes. Click the "code" button to use that flow as an API. You can post-adjust component parameters using the global variable TWEAKS.
-
-The example below shows a Python script making a POST request to a local API endpoint, which gets a prediction based on the message input.
-
-
-
-
-
-import ThemedImage from "@theme/ThemedImage";
-import useBaseUrl from "@docusaurus/useBaseUrl";
-import ZoomableImage from "/src/theme/ZoomableImage.js";
-import ReactPlayer from "react-player";
-import Admonition from "@theme/Admonition";
From 36e298a7df2ee0f18bfbc39f08426ceb47b8c5c2 Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Fri, 7 Jun 2024 15:43:53 -0400
Subject: [PATCH 18/37] remove-gerunds-in-titles
---
docs/docs/administration/api.mdx | 32 +++++++++++++++----
docs/docs/administration/global-env.mdx | 4 +--
docs/docs/deployment/docker.md | 10 +++---
.../tutorials/chatprompttemplate_guide.mdx | 2 +-
docs/docs/tutorials/custom_components.mdx | 6 ++--
docs/docs/tutorials/loading_document.mdx | 2 +-
6 files changed, 37 insertions(+), 19 deletions(-)
diff --git a/docs/docs/administration/api.mdx b/docs/docs/administration/api.mdx
index 115cdc666..172a06328 100644
--- a/docs/docs/administration/api.mdx
+++ b/docs/docs/administration/api.mdx
@@ -14,9 +14,9 @@ The default values are `langflow` and `langflow`, respectively.
-## Generating an API Key
+## Generate an API Key
-### Through Langflow UI
+### With Langflow UI
-## Configuring Environment Variables in your .env file
+## Configure Environment Variables in your .env file
Setting `LANGFLOW_STORE_ENVIRONMENT_VARIABLES` to `true` in your `.env` file (default) adds all variables in `LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT` to your user's Global Variables.
diff --git a/docs/docs/deployment/docker.md b/docs/docs/deployment/docker.md
index 1ebb5746e..a8864db55 100644
--- a/docs/docs/deployment/docker.md
+++ b/docs/docs/deployment/docker.md
@@ -7,7 +7,7 @@ This guide will help you get LangFlow up and running using Docker and Docker Com
- Docker
- Docker Compose
-## Steps
+## Clone repo and build Docker container
1. Clone the LangFlow repository:
@@ -29,11 +29,11 @@ This guide will help you get LangFlow up and running using Docker and Docker Com
LangFlow will now be accessible at [http://localhost:7860/](http://localhost:7860/).
-## Docker Compose Configuration
+## Docker Compose configuration
The Docker Compose configuration spins up two services: `langflow` and `postgres`.
-### LangFlow Service
+### LangFlow service
The `langflow` service uses the `langflowai/langflow:latest` Docker image and exposes port 7860. It depends on the `postgres` service.
@@ -46,7 +46,7 @@ Volumes:
- `langflow-data`: This volume is mapped to `/var/lib/langflow` in the container.
-### PostgreSQL Service
+### PostgreSQL service
The `postgres` service uses the `postgres:16` Docker image and exposes port 5432.
@@ -60,6 +60,6 @@ Volumes:
- `langflow-postgres`: This volume is mapped to `/var/lib/postgresql/data` in the container.
-## Switching to a Specific LangFlow Version
+## Switch to a specific LangFlow version
If you want to use a specific version of LangFlow, you can modify the `image` field under the `langflow` service in the Docker Compose file. For example, to use version 1.0-alpha, change `langflowai/langflow:latest` to `langflowai/langflow:1.0-alpha`.
diff --git a/docs/docs/tutorials/chatprompttemplate_guide.mdx b/docs/docs/tutorials/chatprompttemplate_guide.mdx
index 48059b134..a01fec1ca 100644
--- a/docs/docs/tutorials/chatprompttemplate_guide.mdx
+++ b/docs/docs/tutorials/chatprompttemplate_guide.mdx
@@ -3,7 +3,7 @@ import useBaseUrl from "@docusaurus/useBaseUrl";
import ZoomableImage from "/src/theme/ZoomableImage.js";
import ReactPlayer from "react-player";
-# Building Chatbots with System Message
+# Build Chatbots with the System Message Component
## Overview
diff --git a/docs/docs/tutorials/custom_components.mdx b/docs/docs/tutorials/custom_components.mdx
index bf9299a63..110e5dbc7 100644
--- a/docs/docs/tutorials/custom_components.mdx
+++ b/docs/docs/tutorials/custom_components.mdx
@@ -355,7 +355,7 @@ All done! This is what our script and brand-new custom component look like:
---
-## Loading Custom Components
+## Load Custom Components
For advanced customization, Langflow offers the option to create and load custom components outside of the standard interface. This process involves creating the desired components using a text editor and loading them using the Langflow CLI.
@@ -380,7 +380,7 @@ Your structure should look something like this:
└── ...
```
-### Loading Custom Components
+### Load Custom Components
The recommended way to load custom components is to set the _`LANGFLOW_COMPONENTS_PATH`_ environment variable to the path of your custom components directory. Then, run the Langflow CLI as usual.
@@ -397,7 +397,7 @@ langflow run --components-path /path/to/components
Langflow will attempt to load all of the components found in the specified directory. If a component fails to load due to errors in the component's code, Langflow will print an error message to the console but will continue loading the rest of the components.
-### Interacting with Custom Components
+### Interact with Custom Components
Once your custom components have been loaded successfully, they will appear in Langflow's sidebar. From there, you can add them to your Langflow canvas for use. However, please note that components with errors will not be available for addition to the canvas. Always ensure your code is error-free before attempting to load components.
diff --git a/docs/docs/tutorials/loading_document.mdx b/docs/docs/tutorials/loading_document.mdx
index 4a6143a0e..c123624c1 100644
--- a/docs/docs/tutorials/loading_document.mdx
+++ b/docs/docs/tutorials/loading_document.mdx
@@ -3,7 +3,7 @@ import useBaseUrl from "@docusaurus/useBaseUrl";
import ZoomableImage from "/src/theme/ZoomableImage.js";
import ReactPlayer from "react-player";
-# Integrating Documents with Prompt Variables
+# Integrate Documents with Prompt Variables
## Overview
From ef1f647b66a00d0ddaf64eea08bceb5306d902a7 Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Fri, 7 Jun 2024 16:24:32 -0400
Subject: [PATCH 19/37] text-between-headers
---
docs/docs/administration/api.mdx | 16 ++++++++++------
.../migration/migrating-to-one-point-zero.mdx | 9 ---------
.../migration/possible-installation-issues.mdx | 11 ++---------
3 files changed, 12 insertions(+), 24 deletions(-)
diff --git a/docs/docs/administration/api.mdx b/docs/docs/administration/api.mdx
index 172a06328..de8533cd2 100644
--- a/docs/docs/administration/api.mdx
+++ b/docs/docs/administration/api.mdx
@@ -14,9 +14,11 @@ The default values are `langflow` and `langflow`, respectively.
-## Generate an API Key
+## Generate an API key
-### With Langflow UI
+Generate a user-specific token to use with Langflow.
+
+### Generate an API key with the Langflow UI
-
- We are currently working on updating this guide to provide the most accurate
- and up-to-date information on migrating to Langflow 1.0. We will be adding
- more content and examples to help you navigate the changes and improvements
- in the new version.
-
-
-
Langflow 1.0 is a significant update that brings many exciting changes and improvements to the platform.
This guide will walk you through the key improvements and help you migrate your existing projects to the new version.
diff --git a/docs/docs/migration/possible-installation-issues.mdx b/docs/docs/migration/possible-installation-issues.mdx
index 791741f5f..feeddab48 100644
--- a/docs/docs/migration/possible-installation-issues.mdx
+++ b/docs/docs/migration/possible-installation-issues.mdx
@@ -4,14 +4,10 @@ This is a list of possible issues that you may encounter when installing Langflo
## _`No module named 'langflow.__main__'`_
-**TL;DR**
-
1. Run _`python -m langflow run`_ instead of _`langflow run`_.
2. If that doesn't work, reinstall Langflow with _`_python -m pip install langflow --pre -U`_.
3. If that doesn't work, reinstall Langflow and its dependencies with _`python -m pip install langflow --pre -U --force-reinstall`_.
-### Details
-
When you try to run Langflow using the command `langflow run`, you may encounter the following error:
```bash
@@ -33,15 +29,12 @@ There are two possible reasons for this error:
## _`Something went wrong running migrations. Please, run 'langflow migration --fix'`_
-**TL;DR**
+Clear the cache by deleting the contents of the cache folder.
-- Clear the cache by deleting the contents of the cache folder.
- This folder can be found at:
+This folder can be found at:
- **Linux or WSL2 on Windows**: `home//.cache/langflow/`
- **MacOS**: `/Users//Library/Caches/langflow/`
-### Details
-
This error can occur during Langflow upgrades when the new version can't override `langflow-pre.db` in `.cache/langflow/`. Clearing the cache removes this file but will also erase your settings.
If you wish to retain your files, back them up before clearing the folder.
From 71a22b9a0f8f570cd4865410e02506323415b870 Mon Sep 17 00:00:00 2001
From: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Date: Fri, 7 Jun 2024 18:07:45 -0400
Subject: [PATCH 20/37] style-edits
---
docs/docs/administration/chat-widget.mdx | 29 +++++++++++-------------
docs/docs/administration/cli.mdx | 2 +-
docs/docs/administration/global-env.mdx | 2 --
docs/docs/administration/login.mdx | 10 ++++----
docs/docs/administration/playground.mdx | 2 --
5 files changed, 18 insertions(+), 27 deletions(-)
diff --git a/docs/docs/administration/chat-widget.mdx b/docs/docs/administration/chat-widget.mdx
index b2a97d30e..e73804673 100644
--- a/docs/docs/administration/chat-widget.mdx
+++ b/docs/docs/administration/chat-widget.mdx
@@ -61,7 +61,7 @@ import Admonition from "@theme/Admonition";
---
-### HTML
+### Embed your flow into HTML
The Chat Widget can be embedded into any HTML page, inside a _``_ tag, as demonstrated in the video below.
@@ -73,15 +73,15 @@ The Chat Widget can be embedded into any HTML page, inside a _``_ tag, as
---
-### React
+### Embed your flow with React
-To embed the Chat Widget using React, you'll need to insert this _`
```
-Then, declare your Web Component and encapsulate it in a React component.
+2. Declare your Web Component and encapsulate it in a React component.
```jsx
declare global {
@@ -106,28 +106,27 @@ export default function ChatWidget({ className }) {
}
```
-Finally, you can place the component anywhere in your code to display the Chat Widget.
+3. Finally, you can place the component anywhere in your code to display the Chat Widget.
---
-### Angular
+### Embed your flow with Angular
-To use it in Angular, first add this _`
```
-When you use a custom web component in an Angular template, the Angular compiler might show a warning when it doesn't recognize the custom elements by default. To suppress this warning, add _`CUSTOM_ELEMENTS_SCHEMA`_ to the module's _`@NgModule.schemas`_.
-
-- Open the module file (it typically ends with _.module.ts_) where you'd add the _`langflow-chat`_ web component.
-- Import _`CUSTOM_ELEMENTS_SCHEMA`_ at the top of the file:
+2. When you use a custom web component in an Angular template, the Angular compiler might show a warning when it doesn't recognize the custom elements by default. To suppress this warning, add _`CUSTOM_ELEMENTS_SCHEMA`_ to the module's _`@NgModule.schemas`_.
+3. Open the module file (it typically ends with _.module.ts_) where you'd add the _`langflow-chat`_ web component.
+4. Import _`CUSTOM_ELEMENTS_SCHEMA`_ at the top of the file:
```ts
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from "@angular/core";
```
-- Add _`CUSTOM_ELEMENTS_SCHEMA`_ to the 'schemas' array inside the '@NgModule' decorator:
+5. Add _`CUSTOM_ELEMENTS_SCHEMA`_ to the 'schemas' array inside the '@NgModule' decorator:
```ts
@NgModule({
@@ -142,9 +141,7 @@ import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from "@angular/core";
export class YourModule {}
```
-In your Angular project, find the component belonging to the module where _`CUSTOM_ELEMENTS_SCHEMA`_ was added.
-
-- Inside the template, add the _`langflow-chat`_ tag to include the Chat Widget in your component's view:
+6. In your Angular project, find the component belonging to the module where _`CUSTOM_ELEMENTS_SCHEMA`_ was added. Inside the template, add the _`langflow-chat`_ tag to include the Chat Widget in your component's view:
```jsx
diff --git a/docs/docs/administration/login.mdx b/docs/docs/administration/login.mdx
index f89f3a5ee..20386aebb 100644
--- a/docs/docs/administration/login.mdx
+++ b/docs/docs/administration/login.mdx
@@ -6,11 +6,9 @@ import Admonition from "@theme/Admonition";
# Sign Up and Sign In
-## Introduction
-
The login functionality in Langflow serves to authenticate users and protect sensitive routes in the application. Starting from version 0.5, Langflow introduces an enhanced login mechanism that is governed by a few environment variables. This allows new secure features.
-## Environment Variables
+## Environment variables
The following environment variables are crucial in configuring the login settings:
@@ -68,7 +66,7 @@ export LANGFLOW_SECRET_KEY=randomly_generated_secure_key
By default, this variable is set to `False`. When enabled (`True`), new users are automatically activated and can log in without requiring explicit activation by the superuser.
-## Command-Line Interface
+## Manage superusers with the CLI
Langflow provides a command-line utility for managing superusers:
@@ -78,7 +76,7 @@ langflow superuser
This command prompts you to enter the username and password for the superuser, unless they are already set using environment variables.
-## Sign-up
+## Sign in
With _`LANGFLOW_AUTO_LOGIN`_ set to _`False`_, Langflow requires users to sign up before they can log in. The sign-up page is the default landing page when a user visits Langflow for the first time.
@@ -93,7 +91,7 @@ With _`LANGFLOW_AUTO_LOGIN`_ set to _`False`_, Langflow requires users to sign u
## Profile settings
-You can change your profile settings by clicking on the profile icon in the top right corner of the Langflow dashboard. This opens a dropdown menu with the following options:
+Once signed in, you can change your profile settings by clicking on the profile icon in the top right corner of the Langflow dashboard. This opens a dropdown menu with the following options:
- **Admin Page**: Opens the admin page, which is only accessible to the superuser.
- **Profile Settings**: Opens the profile settings page.
diff --git a/docs/docs/administration/playground.mdx b/docs/docs/administration/playground.mdx
index 13d16422a..7bc0c8db7 100644
--- a/docs/docs/administration/playground.mdx
+++ b/docs/docs/administration/playground.mdx
@@ -28,8 +28,6 @@ As long as you have a flow's environment variables set, you can run it by clicki
2. Chat with your bot as you normally would, all without having to open the editor.
-## Video
-