Prototype LangChain Flows Visually with LangFlow

A brief on experimenting with and prototyping LangChain flows with LangFlow.

What is LangFlow?

LangChain is an open-source library created to aid the development of applications leveraging the power of LLMs. It can be used for chatbots, text summarisation, data generation, question answering, and more. See this post for a deep dive into AI chat bots using LangChain. LangFlow is an intuitive, drag-and-drop web interface for prototyping LangChain flows and testing other modules. Designed with react-flow, it is meant to provide a no-code visual prompting interface for experimenting with LLM flows. It is unclear whether LangFlow can really be incorporated in complex workflows, but it is definitely a handy tool for beginners, and for getting to understand the relationships between modules.

LangFlow supports a wide range of LangChain modules, including:

  • Chains
  • Agents
  • Prompts
  • LLMs
  • Memories
  • Tools
  • Toolkits
  • Wrappers

Deploy LangFlow using One-Click Starter on Railway

Railway is a modern app hosting platform that makes it easy to deploy production-ready apps quickly. Railway offers persistent database services for PostgreSQL, MySQL, MongoDB, and Redis, as well as application services with a GitHub repository as the deployment source. For the latter, Railway can automatically determine the application runtime and deploy the service. Since we are just testing the waters, Railway's free tier should be sufficient to host the service.

Sign up for an account with Railway using GitHub, and click Authorize Railway App when redirected. Review and agree to Railway's Terms of Service and Fair Use Policy if prompted. Launch the LangFlow one-click starter template (or click the button below) to deploy LangFlow instantly on Railway.

Deploy on Railway

You'll be given an opportunity to change the default repository name and set it private, if you'd like. Accept the defaults and click Deploy; the deployment will kick off immediately.

Deploy LangFlow using a one-click template on Railway
Deploy LangFlow using a one-click template on Railway

Once the deployment completes, the LangFlow instance will be available at a default domain - launch this URL to access the app. If you are interested in setting up a custom domain, I covered it at length in a previous post - see the final section here.

LangFlow deployed on Railway
LangFlow deployed on Railway

To create new flows, drag the components from the sidebar onto the LangFlow canvas, and connect them together to create your desired workflow. Explore and experiment by editing prompts, parameters, chains and agents.

Here is a simple example of a zero shot prompt template connecting to a LLM Chain using the text-davinci-003 model. You'll need to provide an OpenAI API key; if you don't have one, you can get it here.

A simple zero shot prompt example
A simple zero shot prompt example

When you are done, simply export the flow as a JSON file to use with LangChain. If you are using Python, you can load the flow in your code as follows:

from langflow import load_flow_from_json

flow = load_flow_from_json("path/to/flow.json")

flow("Why is the sky blue?")

Subscribe to alphasec

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.