From 308c2d28c829681d81fd0679d93ac4450f4e690f Mon Sep 17 00:00:00 2001 From: Perinim Date: Tue, 12 Mar 2024 12:22:47 +0100 Subject: [PATCH] fixed text input example --- .../graph_examples/graph_from_text_example.py | 16 +++++++++++----- scrapegraphai/nodes/fetch_text_node.py | 4 ++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/examples/graph_examples/graph_from_text_example.py b/examples/graph_examples/graph_from_text_example.py index 2c7027bf..12c3f092 100644 --- a/examples/graph_examples/graph_from_text_example.py +++ b/examples/graph_examples/graph_from_text_example.py @@ -6,7 +6,7 @@ import os from dotenv import load_dotenv from scrapegraphai.models import OpenAI from scrapegraphai.graphs import BaseGraph -from scrapegraphai.nodes import FetchTextNode, ParseTextNode, GenerateAnswerNode +from scrapegraphai.nodes import FetchTextNode, ParseNode, RAGNode, GenerateAnswerNode load_dotenv() @@ -20,13 +20,17 @@ llm_config = { } model = OpenAI(llm_config) -with open("text_example.txt", "r", encoding="utf-8") as file: +curr_dir = os.path.dirname(__file__) +file_path = os.path.join(curr_dir, "text_example.txt") + +with open(file_path, "r", encoding="utf-8") as file: text = file.read() # define the nodes for the graph -fetch_html_node = FetchTextNode("load_html") -parse_document_node = ParseTextNode("parse_document") +fetch_html_node = FetchTextNode("load_html_from_text") +parse_document_node = ParseNode(doc_type="text", chunks_size=4000, node_name="parse_document") +rag_node = RAGNode(model, "rag") generate_answer_node = GenerateAnswerNode(model, "generate_answer") # create the graph @@ -34,11 +38,13 @@ graph = BaseGraph( nodes={ fetch_html_node, parse_document_node, + rag_node, generate_answer_node }, edges={ (fetch_html_node, parse_document_node), - (parse_document_node, generate_answer_node) + (parse_document_node, rag_node), + (rag_node, generate_answer_node) }, entry_point=fetch_html_node ) diff --git a/scrapegraphai/nodes/fetch_text_node.py b/scrapegraphai/nodes/fetch_text_node.py index b13c35bb..529a7824 100644 --- a/scrapegraphai/nodes/fetch_text_node.py +++ b/scrapegraphai/nodes/fetch_text_node.py @@ -2,7 +2,7 @@ Module for FetchTextNode """ from .base_node import BaseNode - +from langchain_core.documents import Document class FetchTextNode(BaseNode): """ @@ -53,5 +53,5 @@ class FetchTextNode(BaseNode): if 'text' not in state: raise KeyError("The 'url' key is required to load the text.") - state["document"] = state["text"] + state["document"] = Document(page_content=state["text"]) return state