Spaces:
Build error
Build error
| from dataclasses import dataclass | |
| from pathlib import Path | |
| from typing import Dict | |
| class ChatbotConfig: | |
| """ | |
| All config params for the chatbot | |
| """ | |
| max_context_length: int = 512 | |
| embedding_dim: int = 384 # Sentence Transformer dim | |
| learning_rate: float = 0.0005 | |
| min_text_length: int = 3 | |
| max_context_turns: int = 24 | |
| pretrained_model: str = 'sentence-transformers/all-MiniLM-L6-v2' | |
| cross_encoder_model: str = 'cross-encoder/ms-marco-MiniLM-L-12-v2' | |
| summarizer_model: str = 't5-small' | |
| embedding_batch_size: int = 64 | |
| search_batch_size: int = 64 | |
| max_batch_size: int = 64 | |
| neg_samples: int = 10 | |
| max_retries: int = 3 | |
| nlist: int = 100 | |
| def to_dict(self) -> Dict: | |
| """Convert config to dictionary.""" | |
| return {k: (str(v) if isinstance(v, Path) else v) | |
| for k, v in self.__dict__.items()} | |
| def from_dict(cls, config_dict: Dict) -> 'ChatbotConfig': | |
| """Create config from dictionary.""" | |
| return cls(**{k: v for k, v in config_dict.items() | |
| if k in cls.__dataclass_fields__}) |