From 29542f4cf87e5b4a52ef77feefee4d6cb0d51e39 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Sun, 25 Jun 2023 09:12:41 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20chore(utils.py):=20add=20setup?= =?UTF-8?q?=5Fllm=5Fcaching=20function=20to=20set=20up=20LLM=20caching=20?= =?UTF-8?q?=E2=9C=A8=20feat(main.py):=20call=20setup=5Fllm=5Fcaching=20fun?= =?UTF-8?q?ction=20on=20app=20startup=20The=20`setup=5Fllm=5Fcaching`=20fu?= =?UTF-8?q?nction=20is=20added=20to=20`utils.py`=20to=20set=20up=20LLM=20c?= =?UTF-8?q?aching.=20The=20function=20is=20then=20called=20on=20app=20star?= =?UTF-8?q?tup=20in=20`main.py`=20using=20the=20`app.on=5Fevent("startup")?= =?UTF-8?q?`=20method.=20This=20improves=20the=20performance=20of=20the=20?= =?UTF-8?q?application=20by=20caching=20LLM=20objects.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/interface/utils.py | 10 ++++++++++ src/backend/langflow/main.py | 2 ++ 2 files changed, 12 insertions(+) diff --git a/src/backend/langflow/interface/utils.py b/src/backend/langflow/interface/utils.py index 2777025ab..668e1e6e4 100644 --- a/src/backend/langflow/interface/utils.py +++ b/src/backend/langflow/interface/utils.py @@ -7,6 +7,7 @@ import re import yaml from langchain.base_language import BaseLanguageModel from PIL.Image import Image +from langflow.utils.logger import logger def load_file_into_dict(file_path: str) -> dict: @@ -58,3 +59,12 @@ def try_setting_streaming_options(langchain_object, websocket): def extract_input_variables_from_prompt(prompt: str) -> list[str]: """Extract input variables from prompt.""" return re.findall(r"{(.*?)}", prompt) + + +def setup_llm_caching(): + """Setup LLM caching.""" + import langchain + from langchain.cache import SQLiteCache + + logger.debug("Setting up LLM caching") + langchain.llm_cache = SQLiteCache() diff --git a/src/backend/langflow/main.py b/src/backend/langflow/main.py index ad3217eb5..2a1293f2e 100644 --- a/src/backend/langflow/main.py +++ b/src/backend/langflow/main.py @@ -3,6 +3,7 @@ from fastapi.middleware.cors import CORSMiddleware from langflow.api import router from langflow.database.base import create_db_and_tables +from langflow.interface.utils import setup_llm_caching def create_app(): @@ -28,6 +29,7 @@ def create_app(): app.include_router(router) app.on_event("startup")(create_db_and_tables) + app.on_event("startup")(setup_llm_caching) return app