mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-04 05:39:06 +00:00
Update unit tests, files with removing model suffix to config types
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 FullConfigModel
|
||||
from src.utils.rawconfig import FullConfig
|
||||
|
||||
def cli(args=None):
|
||||
if is_none_or_empty(args):
|
||||
@@ -37,9 +37,9 @@ 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 = FullConfigModel.parse_obj(args.config)
|
||||
args.config = FullConfig.parse_obj(args.config)
|
||||
else:
|
||||
args.config = FullConfigModel.parse_obj(args.config)
|
||||
args.config = FullConfig.parse_obj(args.config)
|
||||
|
||||
if args.org_files:
|
||||
args.config.content_type.org.input_files = args.org_files
|
||||
|
||||
@@ -4,7 +4,7 @@ from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
|
||||
# Internal Packages
|
||||
from src.utils.rawconfig import ProcessorConversationConfigModel
|
||||
from src.utils.rawconfig import ConversationProcessorConfig
|
||||
|
||||
|
||||
class SearchType(str, Enum):
|
||||
@@ -42,8 +42,8 @@ class SearchModels():
|
||||
image_search: ImageSearchModel = None
|
||||
|
||||
|
||||
class ConversationProcessorConfigDTO():
|
||||
def __init__(self, processor_config: ProcessorConversationConfigModel, verbose: bool):
|
||||
class ConversationProcessorConfigModel():
|
||||
def __init__(self, processor_config: ConversationProcessorConfig, verbose: bool):
|
||||
self.openai_api_key = processor_config.open_api_key
|
||||
self.conversation_logfile = Path(processor_config.conversation_logfile)
|
||||
self.chat_log = ''
|
||||
@@ -52,5 +52,5 @@ class ConversationProcessorConfigDTO():
|
||||
self.verbose = verbose
|
||||
|
||||
@dataclass
|
||||
class ProcessorConfig():
|
||||
conversation: ConversationProcessorConfigDTO = None
|
||||
class ProcessorConfigModel():
|
||||
conversation: ConversationProcessorConfigModel = None
|
||||
|
||||
@@ -8,55 +8,55 @@ from pydantic import BaseModel
|
||||
# Internal Packages
|
||||
from src.utils.helpers import to_snake_case_from_dash
|
||||
|
||||
class ConfigBaseModel(BaseModel):
|
||||
class ConfigBase(BaseModel):
|
||||
class Config:
|
||||
alias_generator = to_snake_case_from_dash
|
||||
allow_population_by_field_name = True
|
||||
|
||||
class SearchConfigModel(ConfigBaseModel):
|
||||
class SearchConfig(ConfigBase):
|
||||
input_files: Optional[List[str]]
|
||||
input_filter: Optional[str]
|
||||
embeddings_file: Optional[Path]
|
||||
|
||||
class TextSearchConfigModel(ConfigBaseModel):
|
||||
class TextSearchConfig(ConfigBase):
|
||||
compressed_jsonl: Optional[Path]
|
||||
input_files: Optional[List[str]]
|
||||
input_filter: Optional[str]
|
||||
embeddings_file: Optional[Path]
|
||||
|
||||
class ImageSearchConfigModel(ConfigBaseModel):
|
||||
class ImageSearchConfig(ConfigBase):
|
||||
use_xmp_metadata: Optional[str]
|
||||
batch_size: Optional[int]
|
||||
input_directory: Optional[Path]
|
||||
input_filter: Optional[str]
|
||||
embeddings_file: Optional[Path]
|
||||
|
||||
class ContentTypeModel(ConfigBaseModel):
|
||||
org: Optional[TextSearchConfigModel]
|
||||
ledger: Optional[TextSearchConfigModel]
|
||||
image: Optional[ImageSearchConfigModel]
|
||||
music: Optional[TextSearchConfigModel]
|
||||
class ContentTypeConfig(ConfigBase):
|
||||
org: Optional[TextSearchConfig]
|
||||
ledger: Optional[TextSearchConfig]
|
||||
image: Optional[ImageSearchConfig]
|
||||
music: Optional[TextSearchConfig]
|
||||
|
||||
class AsymmetricConfigModel(ConfigBaseModel):
|
||||
class AsymmetricConfig(ConfigBase):
|
||||
encoder: Optional[str]
|
||||
cross_encoder: Optional[str]
|
||||
|
||||
class ImageSearchTypeConfigModel(ConfigBaseModel):
|
||||
class ImageSearchTypeConfig(ConfigBase):
|
||||
encoder: Optional[str]
|
||||
|
||||
class SearchTypeConfigModel(ConfigBaseModel):
|
||||
asymmetric: Optional[AsymmetricConfigModel]
|
||||
image: Optional[ImageSearchTypeConfigModel]
|
||||
class SearchTypeConfig(ConfigBase):
|
||||
asymmetric: Optional[AsymmetricConfig]
|
||||
image: Optional[ImageSearchTypeConfig]
|
||||
|
||||
class ProcessorConversationConfigModel(ConfigBaseModel):
|
||||
class ConversationProcessorConfig(ConfigBase):
|
||||
open_api_key: Optional[str]
|
||||
conversation_logfile: Optional[str]
|
||||
conversation_history: Optional[str]
|
||||
|
||||
class ProcessorConfigModel(ConfigBaseModel):
|
||||
conversation: Optional[ProcessorConversationConfigModel]
|
||||
class ProcessorConfigModel(ConfigBase):
|
||||
conversation: Optional[ConversationProcessorConfig]
|
||||
|
||||
class FullConfigModel(ConfigBaseModel):
|
||||
content_type: Optional[ContentTypeModel]
|
||||
search_type: Optional[SearchTypeConfigModel]
|
||||
class FullConfig(ConfigBase):
|
||||
content_type: Optional[ContentTypeConfig]
|
||||
search_type: Optional[SearchTypeConfig]
|
||||
processor: Optional[ProcessorConfigModel]
|
||||
|
||||
Reference in New Issue
Block a user