Update 5 files
- /rag/config_models.py - /rag/utils/config_loader.py - /rag/prompt_builder.py - /rag/query_processor.py - /template_bot_profile/data/fewshot_examples.json
This commit is contained in:
@@ -179,6 +179,12 @@ class AuthConfig(BaseModel):
|
||||
api_key_env: str = Field("RAG_API_KEY", description="Имя переменной окружения с API-ключом для доступа к RAG-серверу")
|
||||
|
||||
|
||||
class FewshotConfig(BaseModel):
|
||||
"""Настройки few-shot примеров."""
|
||||
max_examples: int = Field(3, description="Максимальное количество примеров, включаемых в промт")
|
||||
examples_file: str = Field("data/fewshot_examples.json", description="Путь к файлу с примерами (относительно профиля)")
|
||||
|
||||
|
||||
# ============================================================
|
||||
# Главная модель конфигурации приложения
|
||||
# ============================================================
|
||||
@@ -219,6 +225,7 @@ class AppConfig(BaseModel):
|
||||
prompts: PromptsConfig
|
||||
web_scraper: WebScraperConfig = Field(default_factory=WebScraperConfig)
|
||||
auth: AuthConfig = Field(default_factory=AuthConfig)
|
||||
fewshot: FewshotConfig = Field(default_factory=FewshotConfig)
|
||||
|
||||
# Дополнительные поля для путей (заполняются при загрузке)
|
||||
profile_dir: Optional[Path] = Field(None, description="Корень профиля")
|
||||
@@ -527,5 +534,13 @@ class AppConfig(BaseModel):
|
||||
def file_mode(self) -> int:
|
||||
return int(self.file_permissions.mode, 8)
|
||||
|
||||
@property
|
||||
def max_fewshot_examples(self) -> int:
|
||||
return self.fewshot.max_examples
|
||||
|
||||
@property
|
||||
def fewshot_examples_file(self) -> str:
|
||||
return self.fewshot.examples_file
|
||||
|
||||
class Config:
|
||||
extra = "forbid" # Запрещаем неизвестные поля
|
||||
Reference in New Issue
Block a user