Skip to content

Commit

Permalink
🔧 chore(utils.py): add setup_llm_caching function to set up LLM caching
Browse files Browse the repository at this point in the history
✨ feat(main.py): call setup_llm_caching function on app startup
The `setup_llm_caching` function is added to `utils.py` to set up LLM caching. The function is then called on app startup in `main.py` using the `app.on_event("startup")` method. This improves the performance of the application by caching LLM objects.
  • Loading branch information
ogabrielluiz committed Jun 25, 2023
1 parent c94094a commit 29542f4
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
10 changes: 10 additions & 0 deletions src/backend/langflow/interface/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
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:
Expand Down Expand Up @@ -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()
2 changes: 2 additions & 0 deletions src/backend/langflow/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

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():
Expand All @@ -28,6 +29,7 @@ def get_health():

app.include_router(router)
app.on_event("startup")(create_db_and_tables)
app.on_event("startup")(setup_llm_caching)
return app


Expand Down

0 comments on commit 29542f4

Please sign in to comment.