Package: genflow
⛓️ Genflow~ An effortless way to experiment and prototypeLangChainpipelines ~Table of Contents⛓️ GenflowTable of Contents📦 InstallationLocallyHuggingFace Spaces🖥️ Command Line Interface (CLI)UsageEnvironment VariablesDeploymentDeploy Genflow on Google Cloud PlatformDeploy on RailwayDeploy on Render🎨 Creating Flows👋 Contributing📄 License📦 InstallationLocallyYou can install Genflow from pip:# This installs the package without dependencies for local modelspipinstallgenflowTo use local models (e.g llama-cpp-python) run:pipinstallgenflow[local]This will install the following dependencies:CTransformersllama-cpp-pythonsentence-transformersYou can still use models from projects like LocalAINext, run:python-mgenfloworgenflowrun# or genflow --helpHuggingFace SpacesYou can also check it out onHuggingFace Spacesand run it in your browser! You can even clone it and have your own copy of Genflow to play with.🖥️ Command Line Interface (CLI)Genflow provides a command-line interface (CLI) for easy management and configuration.UsageYou can run the Genflow using the following command:genflowrun[OPTIONS]Each option is detailed below:--help: Displays all available options.--host: Defines the host to bind the server to. Can be set using theGENFLOW_HOSTenvironment variable. The default is127.0.0.1.--workers: Sets the number of worker processes. Can be set using theGENFLOW_WORKERSenvironment variable. The default is1.--timeout: Sets the worker timeout in seconds. The default is60.--port: Sets the port to listen on. Can be set using theGENFLOW_PORTenvironment variable. The default is7860.--config: Defines the path to the configuration file. The default isconfig.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 theGENFLOW_LOG_LEVELenvironment variable. The default iscritical.--components-path: Specifies the path to the directory containing custom components. Can be set using theGENFLOW_COMPONENTS_PATHenvironment variable. The default isgenflow/components.--log-file: Specifies the path to the log file. Can be set using theGENFLOW_LOG_FILEenvironment variable. The default islogs/genflow.log.--cache: Selects the type of cache to use. Options areInMemoryCacheandSQLiteCache. Can be set using theGENFLOW_LANGCHAIN_CACHEenvironment variable. The default isSQLiteCache.--dev/--no-dev: Toggles the development mode. The default isno-dev.--path: Specifies the path to the frontend directory containing build files. This option is for development purposes only. Can be set using theGENFLOW_FRONTEND_PATHenvironment variable.--open-browser/--no-open-browser: Toggles the option to open the browser after starting the server. Can be set using theGENFLOW_OPEN_BROWSERenvironment variable. The default isopen-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 theGENFLOW_REMOVE_API_KEYSenvironment variable. The default isno-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.Environment VariablesYou can configure many of the CLI options using environment variables. These can be exported in your operating system or added to a.envfile and loaded using the--env-fileoption.A sample.envfile named.env.exampleis included with the project. Copy this file to a new file named.envand replace the example values with your actual settings. If you're setting values in both your OS and the.envfile, the.envsettings will take precedence.DeploymentDeploy Genflow on Google Cloud PlatformFollow our step-by-step guide to deploy Genflow on Google Cloud Platform (GCP) using Google Cloud Shell. The guide is available in theGenflow in Google Cloud Platformdocument.Alternatively, click the"Open in Cloud Shell"button below to launch Google Cloud Shell, clone the Genflow repository, and start aninteractive tutorialthat will guide you through the process of setting up the necessary resources and deploying Genflow on your GCP project.Deploy on RailwayDeploy on Render🎨 Creating FlowsCreating flows with Genflow is easy. Simply drag sidebar components onto the canvas and connect them together to create your pipeline. Genflow provides a range ofLangChain componentsto choose from, including LLMs, prompt serializers, agents, and chains.Explore by editing prompt parameters, link chains and agents, track an agent's thought process, and export your flow.Once you're done, you can export your flow as a JSON file to use with LangChain.
To do so, click the "Export" button in the top right corner of the canvas, then
in Python, you can load the flow with:fromgenflowimportload_flow_from_jsonflow=load_flow_from_json("path/to/flow.json")# Now you can use it like any chainflow("Hey, have you heard of Genflow?")👋 ContributingWe welcome contributions from developers of all levels to our open-source project on GitHub. If you'd like to contribute, please check ourcontributing guidelinesand help make Genflow more accessible.Join ourDiscordserver to ask questions, make suggestions and showcase your projects! 🦾📄 LicenseGenflow is released under the MIT License. See the LICENSE file for details.