Adding Gemini (#1862)
This commit is contained in:
27
mem0/embeddings/gemini.py
Normal file
27
mem0/embeddings/gemini.py
Normal file
@@ -0,0 +1,27 @@
|
||||
import os
|
||||
from typing import Optional
|
||||
import google.generativeai as genai
|
||||
|
||||
from mem0.configs.embeddings.base import BaseEmbedderConfig
|
||||
from mem0.embeddings.base import EmbeddingBase
|
||||
|
||||
|
||||
class GoogleGenAIEmbedding(EmbeddingBase):
|
||||
def __init__(self, config: Optional[BaseEmbedderConfig] = None):
|
||||
super().__init__(config)
|
||||
if self.config.model is None:
|
||||
self.config.model = "models/text-embedding-004" # embedding-dim = 768
|
||||
|
||||
genai.configure(api_key=self.config.api_key or os.getenv("GOOGLE_API_KEY"))
|
||||
|
||||
def embed(self, text):
|
||||
"""
|
||||
Get the embedding for the given text using Google Generative AI.
|
||||
Args:
|
||||
text (str): The text to embed.
|
||||
Returns:
|
||||
list: The embedding vector.
|
||||
"""
|
||||
text = text.replace("\n", " ")
|
||||
response = genai.embed_content(model=self.config.model, content=text)
|
||||
return response['embedding']
|
||||
Reference in New Issue
Block a user