Spaces:
Sleeping
Sleeping
Commit ·
44d35f3
1
Parent(s): 29dfd99
add rate limit handling
Browse files
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]:
|