mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-03 21:29:08 +00:00
Consolidate the search config models and pass verbose as a top level flag
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user