55
66from template_langgraph .loggers import get_logger
77from 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
99
1010# Initialize the Typer application
1111app = typer .Typer (
@@ -57,12 +57,12 @@ def search_documents(
5757
5858
5959@app .command ()
60- def add_documents (
60+ def create_index (
6161 index_name : str = typer .Option (
6262 "docs_kabuto" ,
6363 "--index-name" ,
6464 "-i" ,
65- help = "Name of the Elasticsearch index to add documents to " ,
65+ help = "Name of the Elasticsearch index to create " ,
6666 ),
6767 verbose : bool = typer .Option (
6868 False ,
@@ -75,7 +75,6 @@ def add_documents(
7575 if verbose :
7676 logger .setLevel (logging .DEBUG )
7777
78- # Create Elasticsearch index
7978 es = ElasticsearchClientWrapper ()
8079 logger .info (f"Creating Elasticsearch index: { index_name } " )
8180 result = es .create_index (
@@ -86,6 +85,60 @@ def add_documents(
8685 else :
8786 logger .warning (f"Index { index_name } already exists." )
8887
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+
89142 # Load documents from PDF files
90143 documents = PdfLoaderWrapper ().load_pdf_docs ()
91144 logger .info (f"Loaded { len (documents )} documents from PDF." )
0 commit comments