From 916e4dfa80ecd651a24f35956cf45ab9c5b7ed18 Mon Sep 17 00:00:00 2001 From: Deepankar Mahapatro Date: Mon, 15 May 2023 19:57:48 +0530 Subject: [PATCH] feat: deploy langflow using langchain-serve --- pyproject.toml | 2 +- src/backend/langflow/__main__.py | 27 +++++++++++++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 0e97c56cf..e58e759ba 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,7 +51,7 @@ websockets = "^11.0.2" tiktoken = "^0.3.3" wikipedia = "^1.4.0" gptcache = "^0.1.23" -langchain-serve = "^0.0.28" +langchain-serve = "^0.0.29" [tool.poetry.group.dev.dependencies] black = "^23.1.0" diff --git a/src/backend/langflow/__main__.py b/src/backend/langflow/__main__.py index 46225e977..bed6ad435 100644 --- a/src/backend/langflow/__main__.py +++ b/src/backend/langflow/__main__.py @@ -74,14 +74,37 @@ def jcloud(): """ Deploy Langflow server on Jina AI Cloud """ - import os + import asyncio + + import click + from lcserve.__main__ import serve_on_jcloud from importlib.metadata import version as mod_version app_name = "langflow.lcserve:app" app_dir = str(Path(__file__).parent) version = mod_version("langflow") base_image = "jinaai+docker://deepankarm/langflow" - os.system(f"lc-serve deploy jcloud --app {app_name} --app-dir {app_dir} --uses {base_image}:{version}") + + click.echo("🚀 Deploying Langflow server on Jina AI Cloud") + app_id = asyncio.run( + serve_on_jcloud( + fastapi_app_str=app_name, + app_dir=app_dir, + uses=f"{base_image}:{version}", + name="langflow", + ) + ) + click.secho( + "🎉 Langflow server successfully deployed on Jina AI Cloud 🎉", fg="green" + ) + click.secho( + "🔗 Click on the link to open the server (please allow ~1-2 minutes for the server to startup): ", + nl=False, + fg="green", + ) + click.secho(f"https://{app_id}.wolf.jina.ai/", fg="blue") + click.secho("📖 Read more about managing the server: ", nl=False, fg="green") + click.secho("https://github.com/jina-ai/langchain-serve", fg="blue") def main():