MrSimple07 commited on
Commit
3c7ab8c
·
1 Parent(s): 7210e05

added type hints

Browse files
Files changed (1) hide show
  1. app.py +10 -11
app.py CHANGED
@@ -248,18 +248,17 @@ def main_answer_question(question):
248
  "<div style='color: black;'>Источники недоступны из-за ошибки</div>",
249
  "<div style='color: black;'>Чанки недоступны из-за ошибки</div>")
250
 
251
- def retrieve_chunks(question, top_k=20):
252
  from index_retriever import rerank_nodes
253
  global query_engine, reranker
254
-
255
  if query_engine is None:
256
- return "Система не инициализирована"
257
-
258
  try:
259
  retrieved_nodes = query_engine.retriever.retrieve(question)
260
  log_message(f"Получено {len(retrieved_nodes)} узлов")
261
-
262
- # Rerank nodes
263
  reranked_nodes = rerank_nodes(
264
  question,
265
  retrieved_nodes,
@@ -267,11 +266,10 @@ def retrieve_chunks(question, top_k=20):
267
  top_k=top_k,
268
  min_score_threshold=0.5
269
  )
270
-
271
  chunks_data = []
272
  for i, node in enumerate(reranked_nodes):
273
  metadata = node.metadata if hasattr(node, 'metadata') else {}
274
-
275
  chunk = {
276
  'rank': i + 1,
277
  'document_id': metadata.get('document_id', 'unknown'),
@@ -284,14 +282,15 @@ def retrieve_chunks(question, top_k=20):
284
  'text': node.text
285
  }
286
  chunks_data.append(chunk)
287
-
288
  log_message(f"Возвращено {len(chunks_data)} чанков")
289
  return chunks_data
290
-
291
  except Exception as e:
292
  log_message(f"Ошибка получения чанков: {str(e)}")
293
- return f"Ошибка: {str(e)}"
294
 
 
295
  def create_demo_interface(answer_question_func, switch_model_func, current_model, chunk_info=None):
296
  with gr.Blocks(title="AIEXP - AI Expert для нормативной документации", theme=gr.themes.Soft()) as demo:
297
  gr.api(retrieve_chunks, api_name="retrieve_chunks")
 
248
  "<div style='color: black;'>Источники недоступны из-за ошибки</div>",
249
  "<div style='color: black;'>Чанки недоступны из-за ошибки</div>")
250
 
251
+ def retrieve_chunks(question: str, top_k: int = 20) -> list:
252
  from index_retriever import rerank_nodes
253
  global query_engine, reranker
254
+
255
  if query_engine is None:
256
+ return []
257
+
258
  try:
259
  retrieved_nodes = query_engine.retriever.retrieve(question)
260
  log_message(f"Получено {len(retrieved_nodes)} узлов")
261
+
 
262
  reranked_nodes = rerank_nodes(
263
  question,
264
  retrieved_nodes,
 
266
  top_k=top_k,
267
  min_score_threshold=0.5
268
  )
269
+
270
  chunks_data = []
271
  for i, node in enumerate(reranked_nodes):
272
  metadata = node.metadata if hasattr(node, 'metadata') else {}
 
273
  chunk = {
274
  'rank': i + 1,
275
  'document_id': metadata.get('document_id', 'unknown'),
 
282
  'text': node.text
283
  }
284
  chunks_data.append(chunk)
285
+
286
  log_message(f"Возвращено {len(chunks_data)} чанков")
287
  return chunks_data
288
+
289
  except Exception as e:
290
  log_message(f"Ошибка получения чанков: {str(e)}")
291
+ return []
292
 
293
+
294
  def create_demo_interface(answer_question_func, switch_model_func, current_model, chunk_info=None):
295
  with gr.Blocks(title="AIEXP - AI Expert для нормативной документации", theme=gr.themes.Soft()) as demo:
296
  gr.api(retrieve_chunks, api_name="retrieve_chunks")