@@ -73,43 +73,48 @@ def query_index(
7373
7474 try :
7575 self .tool .stream_log (
76- f">>> Querying '{ vector_db_instance_id } ' for { doc_id } ..."
77- )
78- doc_id_eq_filter = MetadataFilter .from_dict (
79- {
80- "key" : "doc_id" ,
81- "operator" : FilterOperator .EQ ,
82- "value" : doc_id ,
83- }
84- )
85- filters = MetadataFilters (filters = [doc_id_eq_filter ])
86- q = VectorStoreQuery (
87- query_embedding = embedding .get_query_embedding (" " ),
88- doc_ids = [doc_id ],
89- filters = filters ,
90- similarity_top_k = Constants .TOP_K ,
91- )
92- except Exception as e :
93- self .tool .stream_log (
94- f"Error building query { vector_db } : { e } " , level = LogLevel .ERROR
95- )
96- raise VectorDBError (
97- f"Error building query for { vector_db } : { e } " , actual_err = e
98- )
99- finally :
100- vector_db .close ()
101-
102- try :
103- n : VectorStoreQueryResult = vector_db .query (query = q )
104- if len (n .nodes ) > 0 :
105- self .tool .stream_log (f"Found { len (n .nodes )} nodes for { doc_id } " )
106- all_text = ""
107- for node in n .nodes :
108- all_text += node .get_content ()
109- return all_text
110- else :
111- self .tool .stream_log (f"No nodes found for { doc_id } " )
112- return None
76+ f">>> Querying '{ vector_db_instance_id } ' for { doc_id } ..."
77+ )
78+ try :
79+ doc_id_eq_filter = MetadataFilter .from_dict (
80+ {
81+ "key" : "doc_id" ,
82+ "operator" : FilterOperator .EQ ,
83+ "value" : doc_id ,
84+ }
85+ )
86+ filters = MetadataFilters (filters = [doc_id_eq_filter ])
87+ q = VectorStoreQuery (
88+ query_embedding = embedding .get_query_embedding (" " ),
89+ doc_ids = [doc_id ],
90+ filters = filters ,
91+ similarity_top_k = Constants .TOP_K ,
92+ )
93+ except Exception as e :
94+ self .tool .stream_log (
95+ f"Error while building vector DB query: { e } " , level = LogLevel .ERROR
96+ )
97+ raise VectorDBError (
98+ f"Failed to construct query for { vector_db } : { e } " , actual_err = e
99+ )
100+ try :
101+ n : VectorStoreQueryResult = vector_db .query (query = q )
102+ if len (n .nodes ) > 0 :
103+ self .tool .stream_log (f"Found { len (n .nodes )} nodes for { doc_id } " )
104+ all_text = ""
105+ for node in n .nodes :
106+ all_text += node .get_content ()
107+ return all_text
108+ else :
109+ self .tool .stream_log (f"No nodes found for { doc_id } " )
110+ return None
111+ except Exception as e :
112+ self .tool .stream_log (
113+ f"Error while executing vector DB query: { e } " , level = LogLevel .ERROR
114+ )
115+ raise VectorDBError (
116+ f"Failed to execute query on { vector_db } : { e } " , actual_err = e
117+ )
113118 finally :
114119 vector_db .close ()
115120
0 commit comments