I'm trying to upsert reviews that i've scraped into pinecone. For the embedding model im using jina-embedding-v3. For 204 reviews this takes around 2.5 hours! in Colab. Tried using GPU but the embeddings arent using GPU. Am i doing something wrong? Is there a way that i can speed up the process? The code is below: Initialising DB: if index_name not in pc.list_indexes().names(): pc.create_index( name=index_name, dimension=1024, metric="cosine", spec=ServerlessSpec( cloud="aws", region="us-east-1" ) ) Embedding & Upserting: device = 'cuda' if torch.cuda.is_available() else 'cpu' # Load the Jina embedding model and tokenizer from Hugging Face model_name = "jinaai/jina-embeddings-v3" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModel.from_pretrained(model_name, trust_remote_code=True) from langchain.text_splitter import SpacyTextSplitter text_splitter = SpacyTextSplitter(chunk_size=500) # Function to generate embeddings def generate_embeddings(text, task='retrieval.passage'): return model.encode(text, convert_to_tensor=True, task=task).numpy() for review_id, review in enumerate(all_reviews[:2]): chunks = text_splitter.split_text(review) for chunk_index, chunk in enumerate(chunks): embedding = generate_embeddings(chunk) unique_id = f"{review_id}_{chunk_index}" metadata = {"review_id": review_id, "chunk_index": chunk_index, "text": chunk} index.upsert([(unique_id, embedding, metadata)]) # Generate and store embeddings for review_id, review in enumerate(all_reviews): chunks = text_splitter.split_text(review) for chunk_index, chunk in enumerate(chunks): embedding = generate_embeddings(chunk) unique_id = f"{review_id}_{chunk_index}" metadata = {"review_id": review_id, "chunk_index": chunk_index, "text": chunk} index.upsert([(unique_id, embedding, metadata)]) Continue reading...