ZoniaChatbot commited on
Commit
4bf0401
·
verified ·
1 Parent(s): 104182a

Update chatpdf.py

Browse files
Files changed (1) hide show
  1. chatpdf.py +22 -7
chatpdf.py CHANGED
@@ -420,13 +420,28 @@ class ChatPDF:
420
  """
421
  reference_results = []
422
  sim_contents = self.sim_model.most_similar(query, topn=self.similarity_top_k)
423
- # Get reference results from corpus
424
- hit_chunk_dict = dict()
425
- for query_id, id_score_dict in sim_contents.items():
426
- for corpus_id, s in id_score_dict.items():
427
- hit_chunk = self.sim_model.corpus[corpus_id]
428
- reference_results.append(hit_chunk)
429
- hit_chunk_dict[corpus_id] = hit_chunk
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
430
 
431
  if reference_results:
432
  if self.rerank_model is not None:
 
420
  """
421
  reference_results = []
422
  sim_contents = self.sim_model.most_similar(query, topn=self.similarity_top_k)
423
+
424
+ # Verificar si sim_contents es una lista o un diccionario
425
+ if isinstance(sim_contents, list):
426
+ for item in sim_contents:
427
+ # Ajustar según la estructura real de item
428
+ corpus_id = item[0] if isinstance(item, (list, tuple)) else item # Asegurarse de que corpus_id sea el valor correcto
429
+ if isinstance(corpus_id, dict):
430
+ # Extraer el valor necesario si corpus_id es un diccionario
431
+ corpus_id = next(iter(corpus_id.keys())) # Tomar la primera clave como ejemplo
432
+ if corpus_id in self.sim_model.corpus:
433
+ hit_chunk = self.sim_model.corpus[corpus_id]
434
+ reference_results.append(hit_chunk)
435
+
436
+ elif isinstance(sim_contents, dict):
437
+ for query_id, id_score_dict in sim_contents.items():
438
+ for corpus_id, s in id_score_dict.items():
439
+ if corpus_id in self.sim_model.corpus:
440
+ hit_chunk = self.sim_model.corpus[corpus_id]
441
+ reference_results.append(hit_chunk)
442
+ else:
443
+ logger.error(f"Unexpected type for sim_contents: {type(sim_contents)}")
444
+
445
 
446
  if reference_results:
447
  if self.rerank_model is not None: