| 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    similarity_threshold = float(req.get("similarity_threshold", 0.2)) | 
														 | 
														 | 
														    similarity_threshold = float(req.get("similarity_threshold", 0.2)) | 
													
													
												
													
														 | 
														 | 
														    vector_similarity_weight = float(req.get("vector_similarity_weight", 0.3)) | 
														 | 
														 | 
														    vector_similarity_weight = float(req.get("vector_similarity_weight", 0.3)) | 
													
													
												
													
														 | 
														 | 
														    top = int(req.get("top_k", 1024)) | 
														 | 
														 | 
														    top = int(req.get("top_k", 1024)) | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														    highlight = bool(req.get("highlight", False))  | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														    try: | 
														 | 
														 | 
														    try: | 
													
													
												
													
														 | 
														 | 
														        kbs = KnowledgebaseService.get_by_ids(kb_ids) | 
														 | 
														 | 
														        kbs = KnowledgebaseService.get_by_ids(kb_ids) | 
													
													
												
											
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														            question += keyword_extraction(chat_mdl, question) | 
														 | 
														 | 
														            question += keyword_extraction(chat_mdl, question) | 
													
													
												
													
														 | 
														 | 
														        ranks = settings.retrievaler.retrieval(question, embd_mdl, kbs[0].tenant_id, kb_ids, page, size, | 
														 | 
														 | 
														        ranks = settings.retrievaler.retrieval(question, embd_mdl, kbs[0].tenant_id, kb_ids, page, size, | 
													
													
												
													
														 | 
														 | 
														                                               similarity_threshold, vector_similarity_weight, top, | 
														 | 
														 | 
														                                               similarity_threshold, vector_similarity_weight, top, | 
													
													
												
													
														 | 
														 | 
														                                               doc_ids, rerank_mdl=rerank_mdl, | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														                                               doc_ids, rerank_mdl=rerank_mdl, highlight= highlight, | 
													
													
												
													
														 | 
														 | 
														                                               rank_feature=label_question(question, kbs)) | 
														 | 
														 | 
														                                               rank_feature=label_question(question, kbs)) | 
													
													
												
													
														 | 
														 | 
														        for c in ranks["chunks"]: | 
														 | 
														 | 
														        for c in ranks["chunks"]: | 
													
													
												
													
														 | 
														 | 
														            c.pop("vector", None) | 
														 | 
														 | 
														            c.pop("vector", None) |