mirror of
https://mirror.skon.top/github.com/langgenius/dify.git
synced 2026-04-20 23:40:16 +08:00
refactor(api): deduplicate json serialization in AppModelConfig.from_model_config_dict (#34795)
This commit is contained in:
@@ -813,56 +813,32 @@ class AppModelConfig(TypeBase):
|
||||
"file_upload": self.file_upload_dict,
|
||||
}
|
||||
|
||||
@staticmethod
|
||||
def _dump_optional(value: Any) -> str | None:
|
||||
return json.dumps(value) if value else None
|
||||
|
||||
def from_model_config_dict(self, model_config: AppModelConfigDict):
|
||||
self.opening_statement = model_config.get("opening_statement")
|
||||
self.suggested_questions = (
|
||||
json.dumps(model_config.get("suggested_questions")) if model_config.get("suggested_questions") else None
|
||||
)
|
||||
self.suggested_questions_after_answer = (
|
||||
json.dumps(model_config.get("suggested_questions_after_answer"))
|
||||
if model_config.get("suggested_questions_after_answer")
|
||||
else None
|
||||
)
|
||||
self.speech_to_text = (
|
||||
json.dumps(model_config.get("speech_to_text")) if model_config.get("speech_to_text") else None
|
||||
)
|
||||
self.text_to_speech = (
|
||||
json.dumps(model_config.get("text_to_speech")) if model_config.get("text_to_speech") else None
|
||||
)
|
||||
self.more_like_this = (
|
||||
json.dumps(model_config.get("more_like_this")) if model_config.get("more_like_this") else None
|
||||
)
|
||||
self.sensitive_word_avoidance = (
|
||||
json.dumps(model_config.get("sensitive_word_avoidance"))
|
||||
if model_config.get("sensitive_word_avoidance")
|
||||
else None
|
||||
)
|
||||
self.external_data_tools = (
|
||||
json.dumps(model_config.get("external_data_tools")) if model_config.get("external_data_tools") else None
|
||||
)
|
||||
self.model = json.dumps(model_config.get("model")) if model_config.get("model") else None
|
||||
self.user_input_form = (
|
||||
json.dumps(model_config.get("user_input_form")) if model_config.get("user_input_form") else None
|
||||
self.suggested_questions = self._dump_optional(model_config.get("suggested_questions"))
|
||||
self.suggested_questions_after_answer = self._dump_optional(
|
||||
model_config.get("suggested_questions_after_answer")
|
||||
)
|
||||
self.speech_to_text = self._dump_optional(model_config.get("speech_to_text"))
|
||||
self.text_to_speech = self._dump_optional(model_config.get("text_to_speech"))
|
||||
self.more_like_this = self._dump_optional(model_config.get("more_like_this"))
|
||||
self.sensitive_word_avoidance = self._dump_optional(model_config.get("sensitive_word_avoidance"))
|
||||
self.external_data_tools = self._dump_optional(model_config.get("external_data_tools"))
|
||||
self.model = self._dump_optional(model_config.get("model"))
|
||||
self.user_input_form = self._dump_optional(model_config.get("user_input_form"))
|
||||
self.dataset_query_variable = model_config.get("dataset_query_variable")
|
||||
self.pre_prompt = model_config.get("pre_prompt")
|
||||
self.agent_mode = json.dumps(model_config.get("agent_mode")) if model_config.get("agent_mode") else None
|
||||
self.retriever_resource = (
|
||||
json.dumps(model_config.get("retriever_resource")) if model_config.get("retriever_resource") else None
|
||||
)
|
||||
self.agent_mode = self._dump_optional(model_config.get("agent_mode"))
|
||||
self.retriever_resource = self._dump_optional(model_config.get("retriever_resource"))
|
||||
self.prompt_type = PromptType(model_config.get("prompt_type", "simple"))
|
||||
self.chat_prompt_config = (
|
||||
json.dumps(model_config.get("chat_prompt_config")) if model_config.get("chat_prompt_config") else None
|
||||
)
|
||||
self.completion_prompt_config = (
|
||||
json.dumps(model_config.get("completion_prompt_config"))
|
||||
if model_config.get("completion_prompt_config")
|
||||
else None
|
||||
)
|
||||
self.dataset_configs = (
|
||||
json.dumps(model_config.get("dataset_configs")) if model_config.get("dataset_configs") else None
|
||||
)
|
||||
self.file_upload = json.dumps(model_config.get("file_upload")) if model_config.get("file_upload") else None
|
||||
self.chat_prompt_config = self._dump_optional(model_config.get("chat_prompt_config"))
|
||||
self.completion_prompt_config = self._dump_optional(model_config.get("completion_prompt_config"))
|
||||
self.dataset_configs = self._dump_optional(model_config.get("dataset_configs"))
|
||||
self.file_upload = self._dump_optional(model_config.get("file_upload"))
|
||||
return self
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user