Append Model Suffixed to config models

This commit is contained in:
Saba 2021-12-04 10:51:21 -05:00
parent 2490e72df5
commit 43e647835b
2 changed files with 30 additions and 30 deletions

View file

@ -6,7 +6,7 @@ from pathlib import Path
# Internal Packages # Internal Packages
from src.utils.helpers import get_from_dict from src.utils.helpers import get_from_dict
from src.utils.rawconfig import TextSearchConfig, ImageSearchConfig, ProcessorConversationConfig from src.utils.rawconfig import TextSearchConfigModel, ImageSearchConfigModel, ProcessorConversationConfigModel
class SearchType(str, Enum): class SearchType(str, Enum):
@ -44,8 +44,8 @@ class SearchModels():
image_search: ImageSearchModel = None image_search: ImageSearchModel = None
class TextSearchConfig(): class TextSearchConfigModel():
def __init__(self, text_search_config: TextSearchConfig, verbose: bool): def __init__(self, text_search_config: TextSearchConfigModel, verbose: bool):
self.input_files = text_search_config.input_files self.input_files = text_search_config.input_files
self.input_filter = text_search_config.input_filter self.input_filter = text_search_config.input_filter
self.compressed_jsonl = Path(text_search_config.compressed_jsonl) self.compressed_jsonl = Path(text_search_config.compressed_jsonl)
@ -53,8 +53,8 @@ class TextSearchConfig():
self.verbose = verbose self.verbose = verbose
class ImageSearchConfig(): class ImageSearchConfigModel():
def __init__(self, image_search_config: ImageSearchConfig, verbose): def __init__(self, image_search_config: ImageSearchConfigModel, verbose):
self.input_directory = Path(image_search_config.input_directory) self.input_directory = Path(image_search_config.input_directory)
self.embeddings_file = Path(image_search_config.embeddings_file) self.embeddings_file = Path(image_search_config.embeddings_file)
self.batch_size = image_search_config.batch_size self.batch_size = image_search_config.batch_size
@ -64,14 +64,14 @@ class ImageSearchConfig():
@dataclass @dataclass
class SearchConfig(): class SearchConfig():
notes: TextSearchConfig = None notes: TextSearchConfigModel = None
ledger: TextSearchConfig = None ledger: TextSearchConfigModel = None
music: TextSearchConfig = None music: TextSearchConfigModel = None
image: ImageSearchConfig = None image: ImageSearchConfigModel = None
class ConversationProcessorConfig(): class ConversationProcessorConfig():
def __init__(self, processor_config: ProcessorConversationConfig, verbose: bool): def __init__(self, processor_config: ProcessorConversationConfigModel, verbose: bool):
self.openai_api_key = processor_config.open_api_key self.openai_api_key = processor_config.open_api_key
self.conversation_logfile = Path(processor_config.conversation_logfile) self.conversation_logfile = Path(processor_config.conversation_logfile)
self.chat_log = '' self.chat_log = ''

View file

@ -13,50 +13,50 @@ class ConfigBaseModel(BaseModel):
alias_generator = to_snake_case_from_dash alias_generator = to_snake_case_from_dash
allow_population_by_field_name = True allow_population_by_field_name = True
class SearchConfig(ConfigBaseModel): class SearchConfigModel(ConfigBaseModel):
input_files: Optional[List[str]] input_files: Optional[List[str]]
input_filter: Optional[str] input_filter: Optional[str]
embeddings_file: Optional[Path] embeddings_file: Optional[Path]
class TextSearchConfig(ConfigBaseModel): class TextSearchConfigModel(ConfigBaseModel):
compressed_jsonl: Optional[Path] compressed_jsonl: Optional[Path]
input_files: Optional[List[str]] input_files: Optional[List[str]]
input_filter: Optional[str] input_filter: Optional[str]
embeddings_file: Optional[Path] embeddings_file: Optional[Path]
class ImageSearchConfig(ConfigBaseModel): class ImageSearchConfigModel(ConfigBaseModel):
use_xmp_metadata: Optional[str] use_xmp_metadata: Optional[str]
batch_size: Optional[int] batch_size: Optional[int]
input_directory: Optional[List[str]] input_directory: Optional[List[str]]
input_filter: Optional[str] input_filter: Optional[str]
embeddings_file: Optional[Path] embeddings_file: Optional[Path]
class ContentType(ConfigBaseModel): class ContentTypeModel(ConfigBaseModel):
org: Optional[TextSearchConfig] org: Optional[TextSearchConfigModel]
ledger: Optional[TextSearchConfig] ledger: Optional[TextSearchConfigModel]
image: Optional[ImageSearchConfig] image: Optional[ImageSearchConfigModel]
music: Optional[TextSearchConfig] music: Optional[TextSearchConfigModel]
class AsymmetricConfig(ConfigBaseModel): class AsymmetricConfigModel(ConfigBaseModel):
encoder: Optional[str] encoder: Optional[str]
cross_encoder: Optional[str] cross_encoder: Optional[str]
class ImageSearchTypeConfig(ConfigBaseModel): class ImageSearchTypeConfigModel(ConfigBaseModel):
encoder: Optional[str] encoder: Optional[str]
class SearchTypeConfig(ConfigBaseModel): class SearchTypeConfigModel(ConfigBaseModel):
asymmetric: Optional[AsymmetricConfig] asymmetric: Optional[AsymmetricConfigModel]
image: Optional[ImageSearchTypeConfig] image: Optional[ImageSearchTypeConfigModel]
class ProcessorConversationConfig(ConfigBaseModel): class ProcessorConversationConfigModel(ConfigBaseModel):
open_api_key: Optional[str] open_api_key: Optional[str]
conversation_logfile: Optional[str] conversation_logfile: Optional[str]
conversation_history: Optional[str] conversation_history: Optional[str]
class ProcessorConfig(ConfigBaseModel): class ProcessorConfigModel(ConfigBaseModel):
conversation: Optional[ProcessorConversationConfig] conversation: Optional[ProcessorConversationConfigModel]
class FullConfig(ConfigBaseModel): class FullConfigModel(ConfigBaseModel):
content_type: Optional[ContentType] content_type: Optional[ContentTypeModel]
search_type: Optional[SearchTypeConfig] search_type: Optional[SearchTypeConfigModel]
processor: Optional[ProcessorConfig] processor: Optional[ProcessorConfigModel]