5
5
6
6
from template_langgraph .loggers import get_logger
7
7
from template_langgraph .tools .elasticsearch_tool import ElasticsearchClientWrapper
8
- from template_langgraph .tools .pdf_loaders import PdfLoaderWrapper
8
+ from template_langgraph .utilities .pdf_loaders import PdfLoaderWrapper
9
9
10
10
# Initialize the Typer application
11
11
app = typer .Typer (
@@ -57,12 +57,12 @@ def search_documents(
57
57
58
58
59
59
@app .command ()
60
- def add_documents (
60
+ def create_index (
61
61
index_name : str = typer .Option (
62
62
"docs_kabuto" ,
63
63
"--index-name" ,
64
64
"-i" ,
65
- help = "Name of the Elasticsearch index to add documents to " ,
65
+ help = "Name of the Elasticsearch index to create " ,
66
66
),
67
67
verbose : bool = typer .Option (
68
68
False ,
@@ -75,7 +75,6 @@ def add_documents(
75
75
if verbose :
76
76
logger .setLevel (logging .DEBUG )
77
77
78
- # Create Elasticsearch index
79
78
es = ElasticsearchClientWrapper ()
80
79
logger .info (f"Creating Elasticsearch index: { index_name } " )
81
80
result = es .create_index (
@@ -86,6 +85,60 @@ def add_documents(
86
85
else :
87
86
logger .warning (f"Index { index_name } already exists." )
88
87
88
+
89
+ @app .command ()
90
+ def delete_index (
91
+ index_name : str = typer .Option (
92
+ "docs_kabuto" ,
93
+ "--index-name" ,
94
+ "-i" ,
95
+ help = "Name of the Elasticsearch index to delete" ,
96
+ ),
97
+ verbose : bool = typer .Option (
98
+ False ,
99
+ "--verbose" ,
100
+ "-v" ,
101
+ help = "Enable verbose output" ,
102
+ ),
103
+ ):
104
+ # Set up logging
105
+ if verbose :
106
+ logger .setLevel (logging .DEBUG )
107
+
108
+ es = ElasticsearchClientWrapper ()
109
+ logger .info (f"Deleting Elasticsearch index: { index_name } " )
110
+ result = es .delete_index (
111
+ index_name = index_name ,
112
+ )
113
+ if result :
114
+ logger .info (f"Deleted Elasticsearch index: { index_name } " )
115
+ else :
116
+ logger .warning (f"Index { index_name } does not exist or could not be deleted." )
117
+ return False
118
+
119
+
120
+ @app .command ()
121
+ def add_documents (
122
+ index_name : str = typer .Option (
123
+ "docs_kabuto" ,
124
+ "--index-name" ,
125
+ "-i" ,
126
+ help = "Name of the Elasticsearch index to add documents to" ,
127
+ ),
128
+ verbose : bool = typer .Option (
129
+ False ,
130
+ "--verbose" ,
131
+ "-v" ,
132
+ help = "Enable verbose output" ,
133
+ ),
134
+ ):
135
+ # Set up logging
136
+ if verbose :
137
+ logger .setLevel (logging .DEBUG )
138
+
139
+ # Create Elasticsearch index
140
+ es = ElasticsearchClientWrapper ()
141
+
89
142
# Load documents from PDF files
90
143
documents = PdfLoaderWrapper ().load_pdf_docs ()
91
144
logger .info (f"Loaded { len (documents )} documents from PDF." )
0 commit comments