toasted1920 commited on
Commit
44d35f3
·
1 Parent(s): 29dfd99

add rate limit handling

Browse files
Files changed (1) hide show
  1. back_end/core/embeddings.py +5 -1
back_end/core/embeddings.py CHANGED
@@ -1,5 +1,6 @@
1
  import os
2
  import uuid
 
3
  from typing import List
4
 
5
  from langchain_core.embeddings import Embeddings
@@ -62,12 +63,15 @@ def _get_embedding_function():
62
 
63
  def embed_documents(self, texts: List[str]) -> List[List[float]]:
64
  result = []
65
- for text in texts:
66
  response = self.client.models.embed_content(
67
  model="gemini-embedding-001",
68
  contents=text
69
  )
70
  result.append(response.embeddings[0].values)
 
 
 
71
  return result
72
 
73
  def embed_query(self, text: str) -> List[float]:
 
1
  import os
2
  import uuid
3
+ import time
4
  from typing import List
5
 
6
  from langchain_core.embeddings import Embeddings
 
63
 
64
  def embed_documents(self, texts: List[str]) -> List[List[float]]:
65
  result = []
66
+ for i, text in enumerate(texts):
67
  response = self.client.models.embed_content(
68
  model="gemini-embedding-001",
69
  contents=text
70
  )
71
  result.append(response.embeddings[0].values)
72
+ # pause every 50 requests to avoid rate limit
73
+ if (i + 1) % 50 == 0:
74
+ time.sleep(1)
75
  return result
76
 
77
  def embed_query(self, text: str) -> List[float]: