Consolidate the search config models and pass verbose as a top level flag

This commit is contained in:
Saba
2021-12-04 11:43:48 -05:00
parent 43e647835b
commit 10e4065e05
6 changed files with 52 additions and 90 deletions

View File

@@ -8,7 +8,7 @@ import yaml
# Internal Packages
from src.utils.helpers import is_none_or_empty, get_absolute_path, resolve_absolute_path, merge_dicts
from src.utils.rawconfig import FullConfig
from src.utils.rawconfig import FullConfigModel
def cli(args=None):
if is_none_or_empty(args):
@@ -37,7 +37,7 @@ def cli(args=None):
with open(get_absolute_path(args.config_file), 'r', encoding='utf-8') as config_file:
config_from_file = yaml.safe_load(config_file)
args.config = merge_dicts(priority_dict=config_from_file, default_dict=args.config)
args.config = FullConfig.parse_obj(args.config)
args.config = FullConfigModel.parse_obj(args.config)
if args.org_files:
args.config['content-type']['org']['input-files'] = args.org_files

View File

@@ -4,9 +4,7 @@ from dataclasses import dataclass
from pathlib import Path
# Internal Packages
from src.utils.helpers import get_from_dict
from src.utils.rawconfig import TextSearchConfigModel, ImageSearchConfigModel, ProcessorConversationConfigModel
from src.utils.rawconfig import ProcessorConversationConfigModel
class SearchType(str, Enum):
@@ -44,33 +42,7 @@ class SearchModels():
image_search: ImageSearchModel = None
class TextSearchConfigModel():
def __init__(self, text_search_config: TextSearchConfigModel, verbose: bool):
self.input_files = text_search_config.input_files
self.input_filter = text_search_config.input_filter
self.compressed_jsonl = Path(text_search_config.compressed_jsonl)
self.embeddings_file = Path(text_search_config.embeddings_file)
self.verbose = verbose
class ImageSearchConfigModel():
def __init__(self, image_search_config: ImageSearchConfigModel, verbose):
self.input_directory = Path(image_search_config.input_directory)
self.embeddings_file = Path(image_search_config.embeddings_file)
self.batch_size = image_search_config.batch_size
self.use_xmp_metadata = image_search_config.use_xmp_metadata
self.verbose = verbose
@dataclass
class SearchConfig():
notes: TextSearchConfigModel = None
ledger: TextSearchConfigModel = None
music: TextSearchConfigModel = None
image: ImageSearchConfigModel = None
class ConversationProcessorConfig():
class ConversationProcessorConfigDTO():
def __init__(self, processor_config: ProcessorConversationConfigModel, verbose: bool):
self.openai_api_key = processor_config.open_api_key
self.conversation_logfile = Path(processor_config.conversation_logfile)
@@ -81,4 +53,4 @@ class ConversationProcessorConfig():
@dataclass
class ProcessorConfig():
conversation: ConversationProcessorConfig = None
conversation: ConversationProcessorConfigDTO = None