File size: 862 Bytes
93df7ed | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | # pyrefly: ignore [missing-import]
from langchain_google_genai import GoogleGenerativeAIEmbeddings
from config import get_settings
from rag.repository_loader import CodeDocument
def get_embedding_client() -> GoogleGenerativeAIEmbeddings:
settings = get_settings()
return GoogleGenerativeAIEmbeddings(
model=settings.embedding_model,
google_api_key=settings.gemini_api_key,
)
def embed_document(chunks: list[dict]) -> list[dict]:
embeddings = get_embedding_client()
texts = [chunk["content"] for chunk in chunks]
vectors = embeddings.embed_documents(texts)
for chunk, vector in zip(chunks, vectors):
chunk["embedding"] = vector
return chunks
def embed_query(query: str) -> list[float]:
embeddings = get_embedding_client()
return embeddings.embed_query(query)
|