def batch_search(self, queries, problem, ground_truth, search_mode, gt_threshold) -> str:
        """
        Batchified search for queries.
        Args:
            queries: queries to call the search engine
        Returns:
            search results which is concatenated into a string
        """
        # results = self._batch_search(queries)
        all_search_result = ['No information available' for _ in range(len(queries))]
        with ThreadPoolExecutor(max_workers=10) as executor:
            futures = [executor.submit(self._search, queries[index],  problem[index], ground_truth[index][0], search_mode, gt_threshold, index) for index in range(len(queries))]
            for future in as_completed(futures):
                try:
                    result, index = future.result()
                    all_search_result[index] = result
                except Exception as e:
                    continue

        return all_search_result

        Batchified search for queries.
        Args:
            queries: queries to call the search engine
        Returns:
            search results which is concatenated into a string
        
llm_agent/generation.py