Improving Text Embeddings with LLM Generated Synthetic Data