update gemini
Browse files- rag_core/embedder.py +8 -0
rag_core/embedder.py
CHANGED
|
@@ -10,6 +10,14 @@ def get_embedding(text: str, retries: int = 3, base_timeout: int = 30):
|
|
| 10 |
if not api_key:
|
| 11 |
raise ValueError("Thiếu biến môi trường GEMINI_API_KEY.")
|
| 12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
url = f"https://generativelanguage.googleapis.com/v1/models/text-embedding-004:embedContent?key={api_key}"
|
| 14 |
|
| 15 |
payload = {
|
|
|
|
| 10 |
if not api_key:
|
| 11 |
raise ValueError("Thiếu biến môi trường GEMINI_API_KEY.")
|
| 12 |
|
| 13 |
+
# Giới hạn độ dài text gửi lên API (ví dụ 8000 ký tự)
|
| 14 |
+
MAX_LEN = 8000
|
| 15 |
+
if not text or not text.strip():
|
| 16 |
+
raise ValueError("Chunk rỗng, không thể tạo embedding.")
|
| 17 |
+
if len(text) > MAX_LEN:
|
| 18 |
+
logging.warning(f"Chunk quá dài ({len(text)} ký tự), sẽ cắt còn {MAX_LEN} ký tự đầu.")
|
| 19 |
+
text = text[:MAX_LEN]
|
| 20 |
+
|
| 21 |
url = f"https://generativelanguage.googleapis.com/v1/models/text-embedding-004:embedContent?key={api_key}"
|
| 22 |
|
| 23 |
payload = {
|