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
1
2
from .language_model import LanguageModel as LanguageModel
2
3
from .open_ai_response_model import OpenAIResponseModel as OpenAIResponseModel
3
4
from .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