in code/embedding-function/utilities/search/azure_search_handler.py [0:0]
def query_search(self, question) -> List[SourceDocument]:
logger.info(f"Performing query search for question: {question}")
encoding = tiktoken.get_encoding(self._ENCODER_NAME)
tokenised_question = encoding.encode(question)
if self.env_helper.USE_ADVANCED_IMAGE_PROCESSING:
logger.info("Using advanced image processing for vectorization")
vectorized_question = self.azure_computer_vision_client.vectorize_text(
question
)
else:
logger.info("Skipping advanced image processing")
vectorized_question = None
if self.env_helper.AZURE_SEARCH_USE_SEMANTIC_SEARCH:
logger.info("Performing semantic search")
results = self._semantic_search(
question, tokenised_question, vectorized_question
)
else:
logger.info("Performing hybrid search")
results = self._hybrid_search(
question, tokenised_question, vectorized_question
)
logger.info("Converting search results to SourceDocument list")
return self._convert_to_source_documents(results)