SeaKR: Self-aware Knowledge Retrieval for Adaptive Retrieval Augmented Generation