Derivative-Free Optimization for Low-Rank Adaptation in Large Language Models