diff --git a/scrapegraphai/builders/graph_builder.py b/scrapegraphai/builders/graph_builder.py index 78cb5265..e63b040b 100644 --- a/scrapegraphai/builders/graph_builder.py +++ b/scrapegraphai/builders/graph_builder.py @@ -119,7 +119,7 @@ class GraphBuilder: Returns: dict: A JSON representation of the graph configuration. """ - return self.chain.ainvoke(self.prompt) + return self.chain.invoke(self.prompt) @staticmethod def convert_json_to_graphviz(json_data, format: str = 'pdf'): diff --git a/scrapegraphai/nodes/generate_answer_csv_node.py b/scrapegraphai/nodes/generate_answer_csv_node.py index 9f38c935..0419d891 100644 --- a/scrapegraphai/nodes/generate_answer_csv_node.py +++ b/scrapegraphai/nodes/generate_answer_csv_node.py @@ -126,7 +126,7 @@ class GenerateAnswerCSVNode(BaseNode): ) chain = prompt | self.llm_model | output_parser - answer = chain.ainvoke({"question": user_prompt}) + answer = chain.invoke({"question": user_prompt}) state.update({self.output[0]: answer}) return state diff --git a/scrapegraphai/nodes/generate_answer_node_k_level.py b/scrapegraphai/nodes/generate_answer_node_k_level.py index 63fbbeaa..291109f2 100644 --- a/scrapegraphai/nodes/generate_answer_node_k_level.py +++ b/scrapegraphai/nodes/generate_answer_node_k_level.py @@ -143,7 +143,7 @@ class GenerateAnswerNodeKLevel(BaseNode): merge_chain = merge_prompt | self.llm_model if output_parser: merge_chain = merge_chain | output_parser - answer = merge_chain.ainvoke({"context": batch_results, "question": user_prompt}) + answer = merge_chain.invoke({"context": batch_results, "question": user_prompt}) state["answer"] = answer diff --git a/scrapegraphai/nodes/generate_answer_omni_node.py b/scrapegraphai/nodes/generate_answer_omni_node.py index b793f5ee..b1301c99 100644 --- a/scrapegraphai/nodes/generate_answer_omni_node.py +++ b/scrapegraphai/nodes/generate_answer_omni_node.py @@ -117,7 +117,7 @@ class GenerateAnswerOmniNode(BaseNode): ) chain = prompt | self.llm_model | output_parser - answer = chain.ainvoke({"question": user_prompt}) + answer = chain.invoke({"question": user_prompt}) state.update({self.output[0]: answer}) return state @@ -149,7 +149,7 @@ class GenerateAnswerOmniNode(BaseNode): ) merge_chain = merge_prompt | self.llm_model | output_parser - answer = merge_chain.ainvoke({"context": batch_results, "question": user_prompt}) + answer = merge_chain.invoke({"context": batch_results, "question": user_prompt}) state.update({self.output[0]: answer}) return state diff --git a/scrapegraphai/nodes/generate_code_node.py b/scrapegraphai/nodes/generate_code_node.py index d6f4ce7c..e5f98f70 100644 --- a/scrapegraphai/nodes/generate_code_node.py +++ b/scrapegraphai/nodes/generate_code_node.py @@ -325,7 +325,7 @@ class GenerateCodeNode(BaseNode): output_parser = StrOutputParser() chain = prompt | self.llm_model | output_parser - generated_code = chain.ainvoke({}) + generated_code = chain.invoke({}) return generated_code def semantic_comparison(self, generated_result: Any, reference_result: Any) -> Dict[str, Any]: @@ -368,7 +368,7 @@ class GenerateCodeNode(BaseNode): ) chain = prompt | self.llm_model | output_parser - return chain.ainvoke({ + return chain.invoke({ "generated_result": json.dumps(generated_result, indent=2), "reference_result": json.dumps(reference_result_dict, indent=2) }) diff --git a/scrapegraphai/nodes/generate_scraper_node.py b/scrapegraphai/nodes/generate_scraper_node.py index b144227d..8868d710 100644 --- a/scrapegraphai/nodes/generate_scraper_node.py +++ b/scrapegraphai/nodes/generate_scraper_node.py @@ -130,7 +130,7 @@ class GenerateScraperNode(BaseNode): ) map_chain = prompt | self.llm_model | StrOutputParser() - answer = map_chain.ainvoke({"question": user_prompt}) + answer = map_chain.invoke({"question": user_prompt}) state.update({self.output[0]: answer}) return state diff --git a/scrapegraphai/nodes/html_analyzer_node.py b/scrapegraphai/nodes/html_analyzer_node.py index d3aa5819..26304dcd 100644 --- a/scrapegraphai/nodes/html_analyzer_node.py +++ b/scrapegraphai/nodes/html_analyzer_node.py @@ -93,7 +93,7 @@ class HtmlAnalyzerNode(BaseNode): output_parser = StrOutputParser() chain = prompt | self.llm_model | output_parser - html_analysis = chain.ainvoke({}) + html_analysis = chain.invoke({}) state.update({self.output[0]: html_analysis, self.output[1]: reduced_html}) return state diff --git a/scrapegraphai/nodes/merge_answers_node.py b/scrapegraphai/nodes/merge_answers_node.py index 8f2b9aff..9f9a356c 100644 --- a/scrapegraphai/nodes/merge_answers_node.py +++ b/scrapegraphai/nodes/merge_answers_node.py @@ -95,7 +95,7 @@ class MergeAnswersNode(BaseNode): ) merge_chain = prompt_template | self.llm_model | output_parser - answer = merge_chain.ainvoke({"user_prompt": user_prompt}) + answer = merge_chain.invoke({"user_prompt": user_prompt}) answer["sources"] = state.get("urls", []) state.update({self.output[0]: answer}) diff --git a/scrapegraphai/nodes/merge_generated_scripts_node.py b/scrapegraphai/nodes/merge_generated_scripts_node.py index 9a3469f0..fad7af70 100644 --- a/scrapegraphai/nodes/merge_generated_scripts_node.py +++ b/scrapegraphai/nodes/merge_generated_scripts_node.py @@ -74,7 +74,7 @@ class MergeGeneratedScriptsNode(BaseNode): ) merge_chain = prompt_template | self.llm_model | StrOutputParser() - answer = merge_chain.ainvoke({"user_prompt": user_prompt}) + answer = merge_chain.invoke({"user_prompt": user_prompt}) state.update({self.output[0]: answer}) return state diff --git a/scrapegraphai/nodes/prompt_refiner_node.py b/scrapegraphai/nodes/prompt_refiner_node.py index afb86ca3..66c960ff 100644 --- a/scrapegraphai/nodes/prompt_refiner_node.py +++ b/scrapegraphai/nodes/prompt_refiner_node.py @@ -96,7 +96,7 @@ class PromptRefinerNode(BaseNode): output_parser = StrOutputParser() chain = prompt | self.llm_model | output_parser - refined_prompt = chain.ainvoke({}) + refined_prompt = chain.invoke({}) state.update({self.output[0]: refined_prompt}) return state diff --git a/scrapegraphai/nodes/reasoning_node.py b/scrapegraphai/nodes/reasoning_node.py index 4a9ea290..6b91155c 100644 --- a/scrapegraphai/nodes/reasoning_node.py +++ b/scrapegraphai/nodes/reasoning_node.py @@ -91,7 +91,7 @@ class ReasoningNode(BaseNode): output_parser = StrOutputParser() chain = prompt | self.llm_model | output_parser - refined_prompt = chain.ainvoke({}) + refined_prompt = chain.invoke({}) state.update({self.output[0]: refined_prompt}) return state diff --git a/scrapegraphai/nodes/robots_node.py b/scrapegraphai/nodes/robots_node.py index 7e7303bf..2bb47e74 100644 --- a/scrapegraphai/nodes/robots_node.py +++ b/scrapegraphai/nodes/robots_node.py @@ -108,7 +108,7 @@ class RobotsNode(BaseNode): ) chain = prompt | self.llm_model | output_parser - is_scrapable = chain.ainvoke({"path": source})[0] + is_scrapable = chain.invoke({"path": source})[0] if "no" in is_scrapable: self.logger.warning( diff --git a/scrapegraphai/nodes/search_link_node.py b/scrapegraphai/nodes/search_link_node.py index d3fea2dc..10907850 100644 --- a/scrapegraphai/nodes/search_link_node.py +++ b/scrapegraphai/nodes/search_link_node.py @@ -142,7 +142,7 @@ class SearchLinkNode(BaseNode): input_variables=["content", "user_prompt"], ) merge_chain = merge_prompt | self.llm_model | output_parser - answer = merge_chain.ainvoke( + answer = merge_chain.invoke( {"content": chunk.page_content} ) relevant_links += answer diff --git a/scrapegraphai/utils/code_error_analysis.py b/scrapegraphai/utils/code_error_analysis.py index b147f06e..0acc8b3e 100644 --- a/scrapegraphai/utils/code_error_analysis.py +++ b/scrapegraphai/utils/code_error_analysis.py @@ -33,7 +33,7 @@ def syntax_focused_analysis(state: dict, llm_model) -> str: prompt = PromptTemplate(template=TEMPLATE_SYNTAX_ANALYSIS, input_variables=["generated_code", "errors"]) chain = prompt | llm_model | StrOutputParser() - return chain.ainvoke({ + return chain.invoke({ "generated_code": state["generated_code"], "errors": state["errors"]["syntax"] }) @@ -53,7 +53,7 @@ def execution_focused_analysis(state: dict, llm_model) -> str: input_variables=["generated_code", "errors", "html_code", "html_analysis"]) chain = prompt | llm_model | StrOutputParser() - return chain.ainvoke({ + return chain.invoke({ "generated_code": state["generated_code"], "errors": state["errors"]["execution"], "html_code": state["html_code"], @@ -76,7 +76,7 @@ def validation_focused_analysis(state: dict, llm_model) -> str: input_variables=["generated_code", "errors", "json_schema", "execution_result"]) chain = prompt | llm_model | StrOutputParser() - return chain.ainvoke({ + return chain.invoke({ "generated_code": state["generated_code"], "errors": state["errors"]["validation"], "json_schema": state["json_schema"], @@ -100,7 +100,7 @@ def semantic_focused_analysis(state: dict, comparison_result: Dict[str, Any], ll input_variables=["generated_code", "differences", "explanation"]) chain = prompt | llm_model | StrOutputParser() - return chain.ainvoke({ + return chain.invoke({ "generated_code": state["generated_code"], "differences": json.dumps(comparison_result["differences"], indent=2), "explanation": comparison_result["explanation"] diff --git a/scrapegraphai/utils/code_error_correction.py b/scrapegraphai/utils/code_error_correction.py index 038b0de9..a5119b24 100644 --- a/scrapegraphai/utils/code_error_correction.py +++ b/scrapegraphai/utils/code_error_correction.py @@ -32,7 +32,7 @@ def syntax_focused_code_generation(state: dict, analysis: str, llm_model) -> str prompt = PromptTemplate(template=TEMPLATE_SYNTAX_CODE_GENERATION, input_variables=["analysis", "generated_code"]) chain = prompt | llm_model | StrOutputParser() - return chain.ainvoke({ + return chain.invoke({ "analysis": analysis, "generated_code": state["generated_code"] }) @@ -52,7 +52,7 @@ def execution_focused_code_generation(state: dict, analysis: str, llm_model) -> prompt = PromptTemplate(template=TEMPLATE_EXECUTION_CODE_GENERATION, input_variables=["analysis", "generated_code"]) chain = prompt | llm_model | StrOutputParser() - return chain.ainvoke({ + return chain.invoke({ "analysis": analysis, "generated_code": state["generated_code"] }) @@ -72,7 +72,7 @@ def validation_focused_code_generation(state: dict, analysis: str, llm_model) -> prompt = PromptTemplate(template=TEMPLATE_VALIDATION_CODE_GENERATION, input_variables=["analysis", "generated_code", "json_schema"]) chain = prompt | llm_model | StrOutputParser() - return chain.ainvoke({ + return chain.invoke({ "analysis": analysis, "generated_code": state["generated_code"], "json_schema": state["json_schema"] @@ -93,7 +93,7 @@ def semantic_focused_code_generation(state: dict, analysis: str, llm_model) -> s prompt = PromptTemplate(template=TEMPLATE_SEMANTIC_CODE_GENERATION, input_variables=["analysis", "generated_code", "generated_result", "reference_result"]) chain = prompt | llm_model | StrOutputParser() - return chain.ainvoke({ + return chain.invoke({ "analysis": analysis, "generated_code": state["generated_code"], "generated_result": json.dumps(state["execution_result"], indent=2),