Skip to main content

No project description provided

Project description

Langflow Streamlit Integration

Table of Contents

  1. Introduction
  2. Installation
  3. How to run
  4. Starter Projects
    1. How to get Streamlit's Flows from the store
    2. Using Streamlit Components in Langflow
    3. Streamlit Components
  5. Contributing
  6. License
  7. Contact

Introduction

langflow-streamlit is a powerful API that bridges the gap between Langflow and Streamlit applications. This library seamlessly integrates Langflow's advanced language processing capabilities with Streamlit's user-friendly interface, enabling developers to create interactive applications that harness the power of sophisticated language models.

Important: To use this library effectively, you need to set up a Langflow Store Key. This key allows you to access and use flows and components from the Langflow Store. For more information on setting up your Langflow Store Key, please refer to the Langflow documentation.

Features

  • Seamless Integration: Effortlessly establish communication between Langflow and Streamlit with minimal configuration.
  • Streamlined Deployment: Quickly install and run the API using either pip or poetry.
  • Flexible Execution Options: Choose to run the full stack (Langflow + Streamlit API) or just the Streamlit backend with API.
  • Langflow Store Integration: Access and utilize pre-built flows and Streamlit components from the Langflow Store to enhance your applications.

Requirements

  • Python 3.10 or higher

Installation

Option 1: Install via pip

python3 -m venv env
source env/bin/activate
pip install langflow-streamlit==0.1.8a1

Option 2: Clone the repository and use Poetry

  1. Clone the repository:

    git clone https://github.com/yaitec/langflow-streamlit.git
    cd langflow-streamlit
    
  2. Install Poetry if you haven't already:

    pip install poetry
    
  3. Install the project dependencies:

    poetry install
    

How to run

If choose pip installation option
  1. Run the full stack (Langflow, API, and Streamlit):

    python -m langflow-streamlit run
    
  2. Run only the Streamlit backend and API:

    python -m langflow-streamlit run --streamlit-only
    
If choose clone the repository option
  1. Run the full stack (Langflow, API, and Streamlit):

    make start
    
  2. Run only the Streamlit backend and API:

    make start-streamlit-only
    

Note: Running only the Streamlit backend is useful when you want to use Langflow-created flows in your Streamlit application without running the full Langflow instance.

How to open each aplication(after running the project)

  • Streamlit chat should be running on default port 5001 and click here to access in your browser.
  • Streamlit API should be running on default port 7881 and click here to access it's docs in your browser.
  • Langflow should be running on default port 7860 and click here to access in your browser.

Starter Projects

How to get Streamlit's Flows from the store

The gif below shows how to search, download, and run Streamlit's flow:

Your GIF

Using Streamlit Components in Langflow

The gif below shows how to use Listen and Send components:

Your GIF

Streamlit Components

Langflow provides pre-built Streamlit components that can be accessed through the Langflow store. These components enhance your Streamlit applications with powerful functionality:

  • Send: Send messages to a Streamlit chat session.
  • Listen: Listen for incoming messages in a Streamlit chat, dynamically altering the layout of the Streamlit application.

To use these components:

  1. Access the Langflow store within your Langflow instance.
  2. Search for and download the desired Streamlit component.
  3. Integrate the component into your Langflow workflow.
  4. Connect the component to your Streamlit application using the langflow-streamlit API.

For detailed instructions on using Streamlit components, refer to the Usage section below.


Environment Variables

Variable Description Default
STREAMLIT_ONLY If True, runs only Streamlit and Streamlit API; else, runs Langflow too False
LOG_LEVEL Defines log level of library "info"
LOG_FILE_GENERATION If True, creates a langflow-streamlit.log file for debug purpose and override LOG_LEVEL to 'debug' False

Setting Environment Variables

You can learn how to set environment variables for each alternative bellow, click in the arrow that correlated to installation option that you choosed and check how to setup it properly.

If choose pip installation option these are the options that you can set:
langflow-streamlit --streamlit-only --log-level error --log-file-generation
If choose clone the repository option
  • Setting it in zsh or bash

    export STREAMLIT_ONLY=True LOG_LEVEL=debug LOG_FILE_GENERATION=True
    
  • Setting it in PowerShell

    $env:STREAMLIT_ONLY = "True"
    $env:LOG_LEVEL = "debug"
    $env:LOG_FILE_GENERATION = "True"
    

Using Poetry (after cloning the repository)

  1. Run the full stack:

    poetry run langflow-streamlit run
    
  2. Run only the Streamlit frontend and API backend:

    poetry run langflow-streamlit run --streamlit-only
    

Using Make Commands

  1. Run the full stack:

    make start
    
  2. Run only the Streamlit frontend and API backend:

    make start-streamlit-only
    
  3. Check the other available commands:

    make help
    

Development

To set up the development environment:

  1. Clone the repository (if you haven't already).

  2. Enter inside the cloned repository directory.

    cd <repository_path>
    
  3. Install development dependencies:

    poetry install --with dev
    
  4. Run tests:

    make test
    
  5. Check code style:

    make lint
    

Contributing

We welcome contributions! Please feel free to submit a Pull Request or open an Issue on the GitHub repository.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

YAITEC - contact@yaitec.org

Project Link: https://github.com/yaitec/langflow-streamlit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langflow_streamlit-0.1.8a1.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

langflow_streamlit-0.1.8a1-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file langflow_streamlit-0.1.8a1.tar.gz.

File metadata

  • Download URL: langflow_streamlit-0.1.8a1.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/5.15.153.1-microsoft-standard-WSL2

File hashes

Hashes for langflow_streamlit-0.1.8a1.tar.gz
Algorithm Hash digest
SHA256 e12f9703846ba0f1683c88b1d65fccce541450897febd42434fbf2611f9516af
MD5 ca51329f2a107a47c96cb0a45ab1442a
BLAKE2b-256 65803626f24cb765d4ec4fbe92214d9f0c80594a1c3a56dead40aa344abe9779

See more details on using hashes here.

File details

Details for the file langflow_streamlit-0.1.8a1-py3-none-any.whl.

File metadata

  • Download URL: langflow_streamlit-0.1.8a1-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/5.15.153.1-microsoft-standard-WSL2

File hashes

Hashes for langflow_streamlit-0.1.8a1-py3-none-any.whl
Algorithm Hash digest
SHA256 9baf96ddf5c491f7d8fe669f67deb2bae63ceb41b6921f7da6f76b0abcae568f
MD5 a8aeeaebb81d2403228d4322ae7c06eb
BLAKE2b-256 4e6ed762ec0c572658d35127ccc7471e321675453a45cec83cd2ea25918a290d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page