Text and code embeddings by contrastive pre-training