fix: structured output handling in nodes

Signed-off-by: -LAN- <laipz8200@outlook.com>
pull/22581/head
-LAN- 10 months ago
parent 98333ec65f
commit cbc501875a
No known key found for this signature in database
GPG Key ID: 6BA0D108DED011FF

@ -546,6 +546,7 @@ class KnowledgeRetrievalNode(BaseNode):
stop=stop, stop=stop,
user_id=self.user_id, user_id=self.user_id,
structured_output_enabled=self.node_data.structured_output_enabled, structured_output_enabled=self.node_data.structured_output_enabled,
structured_output=None,
file_saver=self._llm_file_saver, file_saver=self._llm_file_saver,
file_outputs=self._file_outputs, file_outputs=self._file_outputs,
node_id=self.node_id, node_id=self.node_id,

@ -254,6 +254,7 @@ class LLMNode(BaseNode):
stop=stop, stop=stop,
user_id=self.user_id, user_id=self.user_id,
structured_output_enabled=self.node_data.structured_output_enabled, structured_output_enabled=self.node_data.structured_output_enabled,
structured_output=self.node_data.structured_output,
file_saver=self._llm_file_saver, file_saver=self._llm_file_saver,
file_outputs=self._file_outputs, file_outputs=self._file_outputs,
node_id=self.node_id, node_id=self.node_id,
@ -335,6 +336,7 @@ class LLMNode(BaseNode):
stop: Optional[Sequence[str]] = None, stop: Optional[Sequence[str]] = None,
user_id: str, user_id: str,
structured_output_enabled: bool, structured_output_enabled: bool,
structured_output: Optional[Mapping[str, Any]] = None,
file_saver: LLMFileSaver, file_saver: LLMFileSaver,
file_outputs: list["File"], file_outputs: list["File"],
node_id: str, node_id: str,
@ -346,7 +348,9 @@ class LLMNode(BaseNode):
raise ValueError(f"Model schema not found for {node_data_model.name}") raise ValueError(f"Model schema not found for {node_data_model.name}")
if structured_output_enabled: if structured_output_enabled:
output_schema = LLMNode.fetch_structured_output_schema() output_schema = LLMNode.fetch_structured_output_schema(
structured_output=structured_output or {},
)
invoke_result = invoke_llm_with_structured_output( invoke_result = invoke_llm_with_structured_output(
provider=model_instance.provider, provider=model_instance.provider,
model_schema=model_schema, model_schema=model_schema,
@ -1020,7 +1024,7 @@ class LLMNode(BaseNode):
@staticmethod @staticmethod
def fetch_structured_output_schema( def fetch_structured_output_schema(
*, *,
structured_output: Mapping[str, Any] | None = None, structured_output: Mapping[str, Any],
) -> dict[str, Any]: ) -> dict[str, Any]:
""" """
Fetch the structured output schema from the node data. Fetch the structured output schema from the node data.

@ -184,6 +184,7 @@ class QuestionClassifierNode(BaseNode):
stop=stop, stop=stop,
user_id=self.user_id, user_id=self.user_id,
structured_output_enabled=False, structured_output_enabled=False,
structured_output=None,
file_saver=self._llm_file_saver, file_saver=self._llm_file_saver,
file_outputs=self._file_outputs, file_outputs=self._file_outputs,
node_id=self.node_id, node_id=self.node_id,

Loading…
Cancel
Save