aidial_assistant/application/project_conf.py (16 lines of code) (raw):

from pathlib import Path from typing import Type, TypeVar import yaml from pydantic import BaseModel, PositiveInt, parse_obj_as from aidial_assistant.utils.yaml_loader import Loader class OpenAIConf(BaseModel): model: str temperature: float request_timeout: int api_base: str class ChatConf(BaseModel): buffer_size: PositiveInt T = TypeVar("T") def read_conf(type_: Type[T], path: Path) -> T: data = yaml.load(path.open(), Loader=Loader) return parse_obj_as(type_, data)