Demos / backend /utils /utils.py
nikhile-galileo's picture
Adding finance protect demo
e68d535
import os
import yaml
import logging
from typing import List, Any
from dotenv import load_dotenv
load_dotenv()
def set_env_variables(env_vars: List):
env_vars_dict = {}
for env_var in env_vars:
if env_var not in os.environ or not os.environ[env_var]:
raise ValueError(f"ERROR: Please set {env_var}.")
env_vars_dict[env_var] = os.environ[env_var]
return env_vars_dict
def initialize_logger():
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
return logger
def read_config(config_path: str) -> dict:
with open(config_path, 'r') as config_file:
config = yaml.safe_load(config_file)
return config
def create_vector_database(db: Any, config: Any) -> Any:
vector_db = db(config)
return vector_db
def create_text_chunker(text_chunker: Any, text_chunker_config: Any) -> Any:
return text_chunker(text_chunker_config)
def create_pdf_extractor(pdf_extractor: Any, pdf_extractor_config: Any) -> Any:
return pdf_extractor(pdf_extractor_config)
def get_embedding_model(model: Any, config: Any) -> Any:
embedding_model = model(config)
return embedding_model
def get_generative_model(model: Any, config: Any) -> Any:
generative_model = model(config)
return generative_model