File tree Expand file tree Collapse file tree 3 files changed +14
-11
lines changed Expand file tree Collapse file tree 3 files changed +14
-11
lines changed Original file line number Diff line number Diff line change @@ -18,3 +18,4 @@ playwright==1.43.0
18
18
langchain-aws == 0.1.2
19
19
langchain-anthropic == 0.1.11
20
20
yahoo-search-py == 0.3
21
+ pypdf == 4.2.0
Original file line number Diff line number Diff line change @@ -56,36 +56,29 @@ def _create_graph(self) -> BaseGraph:
56
56
"""
57
57
58
58
fetch_node = FetchNode (
59
- input = "pdf_dir" ,
59
+ input = 'pdf' ,
60
60
output = ["doc" ],
61
- node_config = {
62
- "headless" : self .headless ,
63
- "verbose" : self .verbose
64
- }
65
61
)
66
62
parse_node = ParseNode (
67
63
input = "doc" ,
68
64
output = ["parsed_doc" ],
69
65
node_config = {
70
66
"chunk_size" : self .model_token ,
71
- "verbose" : self .verbose
72
67
}
73
68
)
74
69
rag_node = RAGNode (
75
70
input = "user_prompt & (parsed_doc | doc)" ,
76
71
output = ["relevant_chunks" ],
77
72
node_config = {
78
- "llm " : self .llm_model ,
73
+ "llm_model " : self .llm_model ,
79
74
"embedder_model" : self .embedder_model ,
80
- "verbose" : self .verbose
81
75
}
82
76
)
83
77
generate_answer_node = GenerateAnswerNode (
84
78
input = "user_prompt & (relevant_chunks | parsed_doc | doc)" ,
85
79
output = ["answer" ],
86
80
node_config = {
87
- "llm" : self .llm_model ,
88
- "verbose" : self .verbose
81
+ "llm_model" : self .llm_model ,
89
82
}
90
83
)
91
84
Original file line number Diff line number Diff line change 5
5
from typing import List , Optional
6
6
from langchain_community .document_loaders import AsyncChromiumLoader
7
7
from langchain_core .documents import Document
8
+ from langchain_community .document_loaders import PyPDFLoader
8
9
from .base_node import BaseNode
9
10
from ..utils .remover import remover
10
11
@@ -56,7 +57,6 @@ def execute(self, state):
56
57
57
58
# Interpret input keys based on the provided input expression
58
59
input_keys = self .get_input_keys (state )
59
-
60
60
# Fetching data from the state based on the input keys
61
61
input_data = [state [key ] for key in input_keys ]
62
62
@@ -66,6 +66,15 @@ def execute(self, state):
66
66
"source" : "local_dir"
67
67
})]
68
68
# if it is a local directory
69
+
70
+ # handling for pdf
71
+ elif self .input == "pdf" :
72
+ loader = PyPDFLoader (source )
73
+ compressed_document = loader .load ()
74
+
75
+ elif self .input == "pdf_dir" :
76
+ pass
77
+
69
78
elif not source .startswith ("http" ):
70
79
compressed_document = [Document (page_content = remover (source ), metadata = {
71
80
"source" : "local_dir"
You can’t perform that action at this time.
0 commit comments