Batch embeddings for efficiency.
Future<List<List<double>>> embedBatch(List<String> texts) async { return Future.wait(texts.map(embed)); }