Spaces:
Sleeping
Sleeping
File size: 986 Bytes
f974658 |
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 |
from typing import List, Dict, Any
from langchain_google_genai import GoogleGenerativeAIEmbeddings
from langchain.schema import Document
import os
from dotenv import load_dotenv
load_dotenv()
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
class EmbeddingModel:
"""Handles document embedding using Google's Gemini embedding models"""
def __init__(self, api_key: str = GEMINI_API_KEY):
self.embeddings = GoogleGenerativeAIEmbeddings(
google_api_key=api_key,
model="models/text-embedding-004"
)
def embed_documents(self, documents: List[Document]) -> List[List[float]]:
"""Generate embeddings for a list of documents"""
texts = [doc.page_content for doc in documents]
return self.embeddings.embed_documents(texts)
def embed_query(self, query: str) -> List[float]:
"""Generate embedding for a query string"""
return self.embeddings.embed_query(query)
|