mirror of
https://github.com/langgenius/dify.git
synced 2026-04-30 13:37:24 +08:00
fix: call get_text_content() instead of casting to str (#31121)
Signed-off-by: Stream <Stream_2@qq.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
parent
6903c31b84
commit
de610cbf39
@ -71,8 +71,8 @@ class LLMGenerator:
|
|||||||
response: LLMResult = model_instance.invoke_llm(
|
response: LLMResult = model_instance.invoke_llm(
|
||||||
prompt_messages=list(prompts), model_parameters={"max_tokens": 500, "temperature": 1}, stream=False
|
prompt_messages=list(prompts), model_parameters={"max_tokens": 500, "temperature": 1}, stream=False
|
||||||
)
|
)
|
||||||
answer = cast(str, response.message.content)
|
answer = response.message.get_text_content()
|
||||||
if answer is None:
|
if answer == "":
|
||||||
return ""
|
return ""
|
||||||
try:
|
try:
|
||||||
result_dict = json.loads(answer)
|
result_dict = json.loads(answer)
|
||||||
@ -184,7 +184,7 @@ class LLMGenerator:
|
|||||||
prompt_messages=list(prompt_messages), model_parameters=model_parameters, stream=False
|
prompt_messages=list(prompt_messages), model_parameters=model_parameters, stream=False
|
||||||
)
|
)
|
||||||
|
|
||||||
rule_config["prompt"] = cast(str, response.message.content)
|
rule_config["prompt"] = response.message.get_text_content()
|
||||||
|
|
||||||
except InvokeError as e:
|
except InvokeError as e:
|
||||||
error = str(e)
|
error = str(e)
|
||||||
@ -237,13 +237,11 @@ class LLMGenerator:
|
|||||||
|
|
||||||
return rule_config
|
return rule_config
|
||||||
|
|
||||||
rule_config["prompt"] = cast(str, prompt_content.message.content)
|
rule_config["prompt"] = prompt_content.message.get_text_content()
|
||||||
|
|
||||||
if not isinstance(prompt_content.message.content, str):
|
|
||||||
raise NotImplementedError("prompt content is not a string")
|
|
||||||
parameter_generate_prompt = parameter_template.format(
|
parameter_generate_prompt = parameter_template.format(
|
||||||
inputs={
|
inputs={
|
||||||
"INPUT_TEXT": prompt_content.message.content,
|
"INPUT_TEXT": prompt_content.message.get_text_content(),
|
||||||
},
|
},
|
||||||
remove_template_variables=False,
|
remove_template_variables=False,
|
||||||
)
|
)
|
||||||
@ -253,7 +251,7 @@ class LLMGenerator:
|
|||||||
statement_generate_prompt = statement_template.format(
|
statement_generate_prompt = statement_template.format(
|
||||||
inputs={
|
inputs={
|
||||||
"TASK_DESCRIPTION": instruction,
|
"TASK_DESCRIPTION": instruction,
|
||||||
"INPUT_TEXT": prompt_content.message.content,
|
"INPUT_TEXT": prompt_content.message.get_text_content(),
|
||||||
},
|
},
|
||||||
remove_template_variables=False,
|
remove_template_variables=False,
|
||||||
)
|
)
|
||||||
@ -263,7 +261,7 @@ class LLMGenerator:
|
|||||||
parameter_content: LLMResult = model_instance.invoke_llm(
|
parameter_content: LLMResult = model_instance.invoke_llm(
|
||||||
prompt_messages=list(parameter_messages), model_parameters=model_parameters, stream=False
|
prompt_messages=list(parameter_messages), model_parameters=model_parameters, stream=False
|
||||||
)
|
)
|
||||||
rule_config["variables"] = re.findall(r'"\s*([^"]+)\s*"', cast(str, parameter_content.message.content))
|
rule_config["variables"] = re.findall(r'"\s*([^"]+)\s*"', parameter_content.message.get_text_content())
|
||||||
except InvokeError as e:
|
except InvokeError as e:
|
||||||
error = str(e)
|
error = str(e)
|
||||||
error_step = "generate variables"
|
error_step = "generate variables"
|
||||||
@ -272,7 +270,7 @@ class LLMGenerator:
|
|||||||
statement_content: LLMResult = model_instance.invoke_llm(
|
statement_content: LLMResult = model_instance.invoke_llm(
|
||||||
prompt_messages=list(statement_messages), model_parameters=model_parameters, stream=False
|
prompt_messages=list(statement_messages), model_parameters=model_parameters, stream=False
|
||||||
)
|
)
|
||||||
rule_config["opening_statement"] = cast(str, statement_content.message.content)
|
rule_config["opening_statement"] = statement_content.message.get_text_content()
|
||||||
except InvokeError as e:
|
except InvokeError as e:
|
||||||
error = str(e)
|
error = str(e)
|
||||||
error_step = "generate conversation opener"
|
error_step = "generate conversation opener"
|
||||||
@ -315,7 +313,7 @@ class LLMGenerator:
|
|||||||
prompt_messages=list(prompt_messages), model_parameters=model_parameters, stream=False
|
prompt_messages=list(prompt_messages), model_parameters=model_parameters, stream=False
|
||||||
)
|
)
|
||||||
|
|
||||||
generated_code = cast(str, response.message.content)
|
generated_code = response.message.get_text_content()
|
||||||
return {"code": generated_code, "language": code_language, "error": ""}
|
return {"code": generated_code, "language": code_language, "error": ""}
|
||||||
|
|
||||||
except InvokeError as e:
|
except InvokeError as e:
|
||||||
@ -351,7 +349,7 @@ class LLMGenerator:
|
|||||||
raise TypeError("Expected LLMResult when stream=False")
|
raise TypeError("Expected LLMResult when stream=False")
|
||||||
response = result
|
response = result
|
||||||
|
|
||||||
answer = cast(str, response.message.content)
|
answer = response.message.get_text_content()
|
||||||
return answer.strip()
|
return answer.strip()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -375,10 +373,7 @@ class LLMGenerator:
|
|||||||
prompt_messages=list(prompt_messages), model_parameters=model_parameters, stream=False
|
prompt_messages=list(prompt_messages), model_parameters=model_parameters, stream=False
|
||||||
)
|
)
|
||||||
|
|
||||||
raw_content = response.message.content
|
raw_content = response.message.get_text_content()
|
||||||
|
|
||||||
if not isinstance(raw_content, str):
|
|
||||||
raise ValueError(f"LLM response content must be a string, got: {type(raw_content)}")
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
parsed_content = json.loads(raw_content)
|
parsed_content = json.loads(raw_content)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user