input: Write a function to implement a fuzzy search algorithm in Python that can match strings with near similarities based on a threshold of Levenshtein distance. The function should take a query string, a list of choice strings, and a threshold value as inputs. It should return a list of strings from the choices that are close enough to the query string according to the threshold.
  assert find_matches("apple", ["apples", "apple pie", "dipple", "apple"], 2)==["apples", "apple pie"]
  assert find_matches("banana", ["bananas", "bananapie", "orange"], 3)==["bananas", "bananapie"]
  assert find_matches("grape", ["grape fruit", "grapejuice", "mango"], 4)==["grape fruit", "grapejuice"]
  assert find_matches("kiwi", ["kiwifruit", "grapefruit", "kiwiii"], 1)==["kiwifruit"]
  assert find_matches("pear", ["peer", "pearl", "pair"], 1)==["peer", "pair"]
output: def find_matches(query, choices, threshold):
      from Levenshtein import distance
      return [choice for choice in choices if distance(query, choice) <= threshold]