Merge branch 'llm_caching' into release
This commit is contained in:
commit
31ee134ee7
3 changed files with 26 additions and 4 deletions
|
|
@ -30,6 +30,7 @@ def get_number_of_workers(workers=None):
|
||||||
|
|
||||||
def update_settings(
|
def update_settings(
|
||||||
config: str,
|
config: str,
|
||||||
|
cache: str,
|
||||||
dev: bool = False,
|
dev: bool = False,
|
||||||
database_url: Optional[str] = None,
|
database_url: Optional[str] = None,
|
||||||
remove_api_keys: bool = False,
|
remove_api_keys: bool = False,
|
||||||
|
|
@ -41,6 +42,8 @@ def update_settings(
|
||||||
settings.update_settings(database_url=database_url)
|
settings.update_settings(database_url=database_url)
|
||||||
if remove_api_keys:
|
if remove_api_keys:
|
||||||
settings.update_settings(remove_api_keys=remove_api_keys)
|
settings.update_settings(remove_api_keys=remove_api_keys)
|
||||||
|
if cache:
|
||||||
|
settings.update_settings(cache=cache)
|
||||||
|
|
||||||
|
|
||||||
def serve_on_jcloud():
|
def serve_on_jcloud():
|
||||||
|
|
@ -102,6 +105,11 @@ def serve(
|
||||||
),
|
),
|
||||||
log_level: str = typer.Option("critical", help="Logging level."),
|
log_level: str = typer.Option("critical", help="Logging level."),
|
||||||
log_file: Path = typer.Option("logs/langflow.log", help="Path to the log file."),
|
log_file: Path = typer.Option("logs/langflow.log", help="Path to the log file."),
|
||||||
|
cache: str = typer.Argument(
|
||||||
|
envvar="LANGCHAIN_CACHE",
|
||||||
|
help="Type of cache to use. (InMemoryCache, SQLiteCache)",
|
||||||
|
default="SQLiteCache",
|
||||||
|
),
|
||||||
jcloud: bool = typer.Option(False, help="Deploy on Jina AI Cloud"),
|
jcloud: bool = typer.Option(False, help="Deploy on Jina AI Cloud"),
|
||||||
dev: bool = typer.Option(False, help="Run in development mode (may contain bugs)"),
|
dev: bool = typer.Option(False, help="Run in development mode (may contain bugs)"),
|
||||||
database_url: str = typer.Option(
|
database_url: str = typer.Option(
|
||||||
|
|
@ -130,7 +138,11 @@ def serve(
|
||||||
|
|
||||||
configure(log_level=log_level, log_file=log_file)
|
configure(log_level=log_level, log_file=log_file)
|
||||||
update_settings(
|
update_settings(
|
||||||
config, dev=dev, database_url=database_url, remove_api_keys=remove_api_keys
|
config,
|
||||||
|
dev=dev,
|
||||||
|
database_url=database_url,
|
||||||
|
remove_api_keys=remove_api_keys,
|
||||||
|
cache=cache,
|
||||||
)
|
)
|
||||||
# get the directory of the current file
|
# get the directory of the current file
|
||||||
if not path:
|
if not path:
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,16 @@ def extract_input_variables_from_prompt(prompt: str) -> list[str]:
|
||||||
def setup_llm_caching():
|
def setup_llm_caching():
|
||||||
"""Setup LLM caching."""
|
"""Setup LLM caching."""
|
||||||
import langchain
|
import langchain
|
||||||
from langchain.cache import SQLiteCache
|
from langflow.settings import settings
|
||||||
|
from langflow.interface.importing.utils import import_class
|
||||||
|
|
||||||
logger.debug("Setting up LLM caching")
|
try:
|
||||||
langchain.llm_cache = SQLiteCache()
|
cache_class = import_class(f"langchain.cache.{settings.cache}")
|
||||||
|
|
||||||
|
logger.debug(f"Setting up LLM caching with {cache_class.__name__}")
|
||||||
|
langchain.llm_cache = cache_class()
|
||||||
|
logger.info(f"LLM caching setup with {cache_class.__name__}")
|
||||||
|
except ImportError:
|
||||||
|
logger.warning(f"Could not import {settings.cache}. ")
|
||||||
|
except Exception as exc:
|
||||||
|
logger.warning(f"Could not setup LLM caching. Error: {exc}")
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ class Settings(BaseSettings):
|
||||||
utilities: List[str] = []
|
utilities: List[str] = []
|
||||||
dev: bool = False
|
dev: bool = False
|
||||||
database_url: str = "sqlite:///./langflow.db"
|
database_url: str = "sqlite:///./langflow.db"
|
||||||
|
cache: str = "InMemoryCache"
|
||||||
remove_api_keys: bool = False
|
remove_api_keys: bool = False
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue