toasted1920 commited on
Commit
29dfd99
Β·
1 Parent(s): 0dfdc7f

fix embeddings

Browse files
Files changed (1) hide show
  1. back_end/core/embeddings.py +8 -10
back_end/core/embeddings.py CHANGED
@@ -1,6 +1,5 @@
1
  import os
2
  import uuid
3
- import shutil
4
  from typing import List
5
 
6
  from langchain_core.embeddings import Embeddings
@@ -8,6 +7,7 @@ from langchain_chroma import Chroma
8
  from langchain_core.documents import Document
9
  from back_end.config import CHROMA_PERSIST_DIR, CHROMA_COLLECTION_NAME
10
  from back_end.core.downloader import delete_dir
 
11
 
12
  # ── OLD LOCAL GPU EMBEDDINGS (commented out) ────────────────────────────────
13
  # from sentence_transformers import SentenceTransformer
@@ -52,29 +52,27 @@ from back_end.core.downloader import delete_dir
52
 
53
 
54
  # ── NEW: Google Generative AI Embeddings (no GPU needed) ─────────────────────
55
- import google.genai as genai
56
-
57
  def _get_embedding_function():
58
  class GoogleEmbeddings(Embeddings):
59
  def __init__(self):
60
  self.client = genai.Client(
61
- api_key=os.getenv("GOOGLE_API_KEY"),
62
- http_options={"api_version": "v1"}
63
- )
64
 
65
- def embed_documents(self, texts):
66
  result = []
67
  for text in texts:
68
  response = self.client.models.embed_content(
69
- model="text-embedding-004",
70
  contents=text
71
  )
72
  result.append(response.embeddings[0].values)
73
  return result
74
 
75
- def embed_query(self, text):
76
  response = self.client.models.embed_content(
77
- model="text-embedding-004",
78
  contents=text
79
  )
80
  return response.embeddings[0].values
 
1
  import os
2
  import uuid
 
3
  from typing import List
4
 
5
  from langchain_core.embeddings import Embeddings
 
7
  from langchain_core.documents import Document
8
  from back_end.config import CHROMA_PERSIST_DIR, CHROMA_COLLECTION_NAME
9
  from back_end.core.downloader import delete_dir
10
+ import google.genai as genai
11
 
12
  # ── OLD LOCAL GPU EMBEDDINGS (commented out) ────────────────────────────────
13
  # from sentence_transformers import SentenceTransformer
 
52
 
53
 
54
  # ── NEW: Google Generative AI Embeddings (no GPU needed) ─────────────────────
 
 
55
  def _get_embedding_function():
56
  class GoogleEmbeddings(Embeddings):
57
  def __init__(self):
58
  self.client = genai.Client(
59
+ api_key=os.getenv("GOOGLE_API_KEY"),
60
+ http_options={"api_version": "v1"}
61
+ )
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]:
74
  response = self.client.models.embed_content(
75
+ model="gemini-embedding-001",
76
  contents=text
77
  )
78
  return response.embeddings[0].values