add knn

Signed-off-by: changedi <jysoftware@gmail.com>