File tree Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change 1+ from .aishell_config_model import AiShellConfigModel as AiShellConfigModel
12from .language_model import LanguageModel as LanguageModel
23from .open_ai_response_model import OpenAIResponseModel as OpenAIResponseModel
34from .revchatgpt_chatbot_config_model import RevChatGPTChatbotConfigModel as RevChatGPTChatbotConfigModel
Original file line number Diff line number Diff line change 1+ from typing import Optional
2+
3+ from pydantic import BaseModel , root_validator
4+
5+ from .language_model import LanguageModel
6+ from .revchatgpt_chatbot_config_model import RevChatGPTChatbotConfigModel
7+
8+
9+ class AiShellConfigModel (BaseModel ):
10+ language_model : LanguageModel = LanguageModel .REVERSE_ENGINEERED_CHATGPT
11+ chatgpt_config : Optional [RevChatGPTChatbotConfigModel ] = None
12+ openai_api_key : Optional [str ] = None
13+
14+ @root_validator
15+ def check_required_info_provided (cls , values : dict [str , Optional [str ]]):
16+ OPENAI_API_KEY_REQUIRED_MODELS = (LanguageModel .GPT3 , LanguageModel .OFFICIAL_CHATGPT )
17+
18+ language_model = values .get ('language_model' )
19+ if language_model in OPENAI_API_KEY_REQUIRED_MODELS :
20+ if not values .get ('openai_api_key' ):
21+ raise ValueError ('openai_api_key should not be none' )
22+ elif language_model == LanguageModel .REVERSE_ENGINEERED_CHATGPT :
23+ if not values .get ('chatgpt_config' ):
24+ raise ValueError ('chatgpt_config should not be none' )
25+
26+ return values
You can’t perform that action at this time.
0 commit comments