* Update docker-compose.yml Problems with Docker Compose not being able to find the backend * Bump vite from 4.5.1 to 4.5.2 in /src/frontend Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.5.1 to 4.5.2. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v4.5.2/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v4.5.2/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> * Refactor: remove flow if there is no changes * update group node function to reconnect edges when create groupNode * Remove console.log statements * Fix disallowed_special parameter in OpenAIEmbeddingsComponent * Refactor CharacterTextSplitterComponent to use typing and update return value * Update ChromaComponent configuration * Bump version to 0.6.7a1 in pyproject.toml * Add icon support to CustomComponent * Add icon property to APIClassType * Add emoji validation to icon field in custom components * add emoji icon * Fix: Error: cannot import name 'CreateTrace' from 'langfuse.callback' * Refactor langflow processing and langfuse callback initialization * Update version to 0.6.7a2 in pyproject.toml * Fix: Bring back loading to avoid white page error * Add dependabot.yml * Bump actions/checkout from 2 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Bump github/codeql-action from 2 to 3 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v2...v3) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Bump actions/setup-python from 4 to 5 Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Bump actions/cache from 2 to 4 Bumps [actions/cache](https://github.com/actions/cache) from 2 to 4. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Bump actions/setup-node from 3 to 4 Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * makes function args not to be sorted by name * Add field_order property to CustomComponent * Refactor Template class in base.py * Update field_order to be an optional list * Refactor custom component field ordering * Update prompts.mdx Update broken link to all page building to complete * add icon regex * add isEmoji * Fix invalid emoji error handling * Fix invalid emoji validation in Component class * add logic to icon name * changing to useCallback function * Add HuggingFaceInferenceAPIEmbeddingsComponent class * Update QdrantComponent build method to handle pre-existing vector-stores * Update python-multipart version * Update dependencies in pyproject.toml * Add Python 3.11 support to lint and test workflows * Refactor import statements in Qdrant.py * Update dependencies in pyproject.toml * Fix documentation link and code formatting * Fix validation of icon field in Component class * Update imports and deactivate test * Fixed group nodes appearing at tooltip * Update imports and type annotations in several components * Remove Python 3.9 from matrix in test.yml * refactor: icon fragments functions * Default display_name to None * 🔧 chore(base.py): update serialize_display_name method to handle cases where display_name is not set and convert name to title case if title_case is True * Fix error handling and formatting in component.py and typesStore.ts * add controlX feature * Add files via upload * Fixed groupByFamily * Add LiteLLMComponent to the project * Add ChatLiteLLM component to backend * Update ChatLiteLLM import and add verbose option * Remove unused code in ChatLiteLLM.py * Rename LiteLLMComponent to ChatLiteLLMComponent * Changes some parameters for mypy linting compatibility * Update cookie settings for login and refresh_token functions * Update cookie settings for secure access * Update cookie settings for login and token refresh * Refactor authentication cookie settings * Update version to 0.6.7a3 in pyproject.toml * Fix formatting and import issues * Import litellm package and update ChatLiteLLMComponent class * Update version to 0.6.7a3 and fix formatting and import issues (#1445) * Update version to 0.6.7a3 in pyproject.toml * Fix formatting and import issues * Import litellm package and update ChatLiteLLMComponent class * Update login.py with new auth settings * Update version to 0.6.7a4 in pyproject.toml * Update version to 0.6.7a5 in pyproject.toml * Update Langflow README (#1456) * Update Langflow README * Refactor flow creation process * Update README.md * Removed some phrases, changed Creating Flows section * Update README.md with additional project references --------- Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@logspace.ai> * Add docs for field update, icon, and small fixes (#1459) * Refactor code formatting and improve error handling in utils.py * Refactor parameterComponent to include refresh button * Update Langflow description * Add new_langflow_demo.gif and remove langflow-demo.gif and langflow-screen.png * Update image source path in README.md * Add dynamic options and default value support to CustomComponent class * Update version number in pyproject.toml * Add title_case option to CustomComponent * Refactor HuggingFaceEndpointsComponent imports and handle model_kwargs parameter --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: YoungWook KIM <ukng1024@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: igorrCarvalho <igorsilvabhz6@gmail.com> Co-authored-by: anovazzi1 <otavio2204@gmail.com> Co-authored-by: Cristhian Zanforlin Lousa <72977554+Cristhianzl@users.noreply.github.com> Co-authored-by: cristhianzl <cristhian.lousa@gmail.com> Co-authored-by: Łukasz Gajownik <lukasz.gajownik@ordergroup.pl> Co-authored-by: Chris Bateman <chris-bateman@users.noreply.github.com> Co-authored-by: Ricardo Henriques <paxcalpt@gmail.com> Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com> Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com> Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
163 lines
9.1 KiB
Markdown
163 lines
9.1 KiB
Markdown
<!-- markdownlint-disable MD030 -->
|
||
|
||
# ⛓️ Langflow
|
||
|
||
<h3>Discover a simpler & smarter way to build around Foundation Models</h3>
|
||
|
||
[](https://github.com/logspace-ai/langflow/releases)
|
||
[](https://github.com/logspace-ai/langflow/contributors)
|
||
[](https://github.com/logspace-ai/langflow/last-commit)
|
||
[](https://github.com/logspace-ai/langflow/issues)
|
||
[](https://github.com/logspace-ai/langflow/repo-size)
|
||
[](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/logspace-ai/langflow)
|
||
[](https://opensource.org/licenses/MIT)
|
||
[](https://star-history.com/#logspace-ai/langflow)
|
||
[](https://github.com/logspace-ai/langflow/fork)
|
||
[](https://twitter.com/langflow_ai)
|
||
[](https://discord.com/invite/EqksyE2EX9)
|
||
[](https://huggingface.co/spaces/Logspace/Langflow)
|
||
[](https://codespaces.new/logspace-ai/langflow)
|
||
|
||
The easiest way to create and customize your flow
|
||
|
||
<a href="https://github.com/logspace-ai/langflow">
|
||
<img width="100%" src="https://github.com/logspace-ai/langflow/blob/dev/docs/static/img/new_langflow_demo.gif"></a>
|
||
|
||
# 📦 Installation
|
||
|
||
### <b>Locally</b>
|
||
|
||
You can install Langflow from pip:
|
||
|
||
```shell
|
||
# This installs the package without dependencies for local models
|
||
pip install langflow
|
||
```
|
||
|
||
To use local models (e.g llama-cpp-python) run:
|
||
|
||
```shell
|
||
pip install langflow[local]
|
||
```
|
||
|
||
This will install the following dependencies:
|
||
|
||
- [CTransformers](https://github.com/marella/ctransformers)
|
||
- [llama-cpp-python](https://github.com/abetlen/llama-cpp-python)
|
||
- [sentence-transformers](https://github.com/UKPLab/sentence-transformers)
|
||
|
||
You can still use models from projects like LocalAI, Ollama, LM Studio, Jan and others.
|
||
|
||
Next, run:
|
||
|
||
```shell
|
||
python -m langflow
|
||
```
|
||
|
||
or
|
||
|
||
```shell
|
||
langflow run # or langflow --help
|
||
```
|
||
|
||
### HuggingFace Spaces
|
||
|
||
You can also check it out on [HuggingFace Spaces](https://huggingface.co/spaces/Logspace/Langflow) and run it in your browser! You can even clone it and have your own copy of Langflow to play with.
|
||
|
||
# 🖥️ Command Line Interface (CLI)
|
||
|
||
Langflow provides a command-line interface (CLI) for easy management and configuration.
|
||
|
||
## Usage
|
||
|
||
You can run the Langflow using the following command:
|
||
|
||
```shell
|
||
langflow run [OPTIONS]
|
||
```
|
||
|
||
Each option is detailed below:
|
||
|
||
- `--help`: Displays all available options.
|
||
- `--host`: Defines the host to bind the server to. Can be set using the `LANGFLOW_HOST` environment variable. The default is `127.0.0.1`.
|
||
- `--workers`: Sets the number of worker processes. Can be set using the `LANGFLOW_WORKERS` environment variable. The default is `1`.
|
||
- `--timeout`: Sets the worker timeout in seconds. The default is `60`.
|
||
- `--port`: Sets the port to listen on. Can be set using the `LANGFLOW_PORT` environment variable. The default is `7860`.
|
||
- `--config`: Defines the path to the configuration file. The default is `config.yaml`.
|
||
- `--env-file`: Specifies the path to the .env file containing environment variables. The default is `.env`.
|
||
- `--log-level`: Defines the logging level. Can be set using the `LANGFLOW_LOG_LEVEL` environment variable. The default is `critical`.
|
||
- `--components-path`: Specifies the path to the directory containing custom components. Can be set using the `LANGFLOW_COMPONENTS_PATH` environment variable. The default is `langflow/components`.
|
||
- `--log-file`: Specifies the path to the log file. Can be set using the `LANGFLOW_LOG_FILE` environment variable. The default is `logs/langflow.log`.
|
||
- `--cache`: Selects the type of cache to use. Options are `InMemoryCache` and `SQLiteCache`. Can be set using the `LANGFLOW_LANGCHAIN_CACHE` environment variable. The default is `SQLiteCache`.
|
||
- `--dev/--no-dev`: Toggles the development mode. The default is `no-dev`.
|
||
- `--path`: Specifies the path to the frontend directory containing build files. This option is for development purposes only. Can be set using the `LANGFLOW_FRONTEND_PATH` environment variable.
|
||
- `--open-browser/--no-open-browser`: Toggles the option to open the browser after starting the server. Can be set using the `LANGFLOW_OPEN_BROWSER` environment variable. The default is `open-browser`.
|
||
- `--remove-api-keys/--no-remove-api-keys`: Toggles the option to remove API keys from the projects saved in the database. Can be set using the `LANGFLOW_REMOVE_API_KEYS` environment variable. The default is `no-remove-api-keys`.
|
||
- `--install-completion [bash|zsh|fish|powershell|pwsh]`: Installs completion for the specified shell.
|
||
- `--show-completion [bash|zsh|fish|powershell|pwsh]`: Shows completion for the specified shell, allowing you to copy it or customize the installation.
|
||
- `--backend-only`: This parameter, with a default value of `False`, allows running only the backend server without the frontend. It can also be set using the `LANGFLOW_BACKEND_ONLY` environment variable.
|
||
- `--store`: This parameter, with a default value of `True`, enables the store features, use `--no-store` to deactivate it. It can be configured using the `LANGFLOW_STORE` environment variable.
|
||
|
||
These parameters are important for users who need to customize the behavior of Langflow, especially in development or specialized deployment scenarios.
|
||
|
||
### Environment Variables
|
||
|
||
You can configure many of the CLI options using environment variables. These can be exported in your operating system or added to a `.env` file and loaded using the `--env-file` option.
|
||
|
||
A sample `.env` file named `.env.example` is included with the project. Copy this file to a new file named `.env` and replace the example values with your actual settings. If you're setting values in both your OS and the `.env` file, the `.env` settings will take precedence.
|
||
|
||
# Deployment
|
||
|
||
## Deploy Langflow on Google Cloud Platform
|
||
|
||
Follow our step-by-step guide to deploy Langflow on Google Cloud Platform (GCP) using Google Cloud Shell. The guide is available in the [**Langflow in Google Cloud Platform**](GCP_DEPLOYMENT.md) document.
|
||
|
||
Alternatively, click the **"Open in Cloud Shell"** button below to launch Google Cloud Shell, clone the Langflow repository, and start an **interactive tutorial** that will guide you through the process of setting up the necessary resources and deploying Langflow on your GCP project.
|
||
|
||
[](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/logspace-ai/langflow&working_dir=scripts/gcp&shellonly=true&tutorial=walkthroughtutorial_spot.md)
|
||
|
||
## Deploy on Railway
|
||
|
||
[](https://railway.app/template/JMXEWp?referralCode=MnPSdg)
|
||
|
||
## Deploy on Render
|
||
|
||
<a href="https://render.com/deploy?repo=https://github.com/logspace-ai/langflow/tree/main">
|
||
<img src="https://render.com/images/deploy-to-render-button.svg" alt="Deploy to Render" />
|
||
</a>
|
||
|
||
# 🎨 Creating Flows
|
||
|
||
Creating flows with Langflow is easy. Simply drag components from the sidebar onto the canvas and connect them to start building your application.
|
||
|
||
Explore by editing prompt parameters, grouping components into a single high-level component, and building your own Custom Components.
|
||
|
||
Once you’re done, you can export your flow as a JSON file.
|
||
|
||
Load the flow with:
|
||
|
||
```python
|
||
from langflow import load_flow_from_json
|
||
|
||
flow = load_flow_from_json("path/to/flow.json")
|
||
# Now you can use it
|
||
flow("Hey, have you heard of Langflow?")
|
||
```
|
||
|
||
# 👋 Contributing
|
||
|
||
We welcome contributions from developers of all levels to our open-source project on GitHub. If you'd like to contribute, please check our [contributing guidelines](./CONTRIBUTING.md) and help make Langflow more accessible.
|
||
|
||
Join our [Discord](https://discord.com/invite/EqksyE2EX9) server to ask questions, make suggestions, and showcase your projects! 🦾
|
||
|
||
---
|
||
|
||
[](https://star-history.com/#logspace-ai/langflow&Date)
|
||
|
||
# 🌟 Contributors
|
||
|
||
[](https://github.com/logspace-ai/langflow/graphs/contributors)
|
||
|
||
# 📄 License
|
||
|
||
Langflow is released under the MIT License. See the LICENSE file for details.
|