refactor: update default Gemini and Vertex AI embedder model to gemini-embedding-001 (#4571)
This commit is contained in:
@@ -19,7 +19,7 @@ config = {
|
|||||||
"embedder": {
|
"embedder": {
|
||||||
"provider": "gemini",
|
"provider": "gemini",
|
||||||
"config": {
|
"config": {
|
||||||
"model": "models/text-embedding-004",
|
"model": "models/gemini-embedding-001",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -66,7 +66,7 @@ Here are the parameters available for configuring Gemini embedder:
|
|||||||
<Tab title="Python">
|
<Tab title="Python">
|
||||||
| Parameter | Description | Default Value |
|
| Parameter | Description | Default Value |
|
||||||
| ---------------- | ------------------------------------ | ----------------------- |
|
| ---------------- | ------------------------------------ | ----------------------- |
|
||||||
| `model` | The name of the embedding model to use| `models/text-embedding-004` |
|
| `model` | The name of the embedding model to use| `models/gemini-embedding-001` |
|
||||||
| `embedding_dims` | Dimensions of the embedding model | `1536` |
|
| `embedding_dims` | Dimensions of the embedding model | `1536` |
|
||||||
| `api_key` | The Google API key | `None` |
|
| `api_key` | The Google API key | `None` |
|
||||||
</Tab>
|
</Tab>
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ config = {
|
|||||||
"embedder": {
|
"embedder": {
|
||||||
"provider": "vertexai",
|
"provider": "vertexai",
|
||||||
"config": {
|
"config": {
|
||||||
"model": "text-embedding-004",
|
"model": "gemini-embedding-001",
|
||||||
"memory_add_embedding_type": "RETRIEVAL_DOCUMENT",
|
"memory_add_embedding_type": "RETRIEVAL_DOCUMENT",
|
||||||
"memory_update_embedding_type": "RETRIEVAL_DOCUMENT",
|
"memory_update_embedding_type": "RETRIEVAL_DOCUMENT",
|
||||||
"memory_search_embedding_type": "RETRIEVAL_QUERY"
|
"memory_search_embedding_type": "RETRIEVAL_QUERY"
|
||||||
@@ -51,7 +51,7 @@ Here are the parameters available for configuring the Vertex AI embedder:
|
|||||||
|
|
||||||
| Parameter | Description | Default Value |
|
| Parameter | Description | Default Value |
|
||||||
| ------------------------- | ------------------------------------------------ | -------------------- |
|
| ------------------------- | ------------------------------------------------ | -------------------- |
|
||||||
| `model` | The name of the Vertex AI embedding model to use | `text-embedding-004` |
|
| `model` | The name of the Vertex AI embedding model to use | `gemini-embedding-001` |
|
||||||
| `vertex_credentials_json` | Path to the Google Cloud credentials JSON file | `None` |
|
| `vertex_credentials_json` | Path to the Google Cloud credentials JSON file | `None` |
|
||||||
| `embedding_dims` | Dimensions of the embedding model | `256` |
|
| `embedding_dims` | Dimensions of the embedding model | `256` |
|
||||||
| `memory_add_embedding_type` | The type of embedding to use for the add memory action | `RETRIEVAL_DOCUMENT` |
|
| `memory_add_embedding_type` | The type of embedding to use for the add memory action | `RETRIEVAL_DOCUMENT` |
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class GoogleGenAIEmbedding(EmbeddingBase):
|
|||||||
def __init__(self, config: Optional[BaseEmbedderConfig] = None):
|
def __init__(self, config: Optional[BaseEmbedderConfig] = None):
|
||||||
super().__init__(config)
|
super().__init__(config)
|
||||||
|
|
||||||
self.config.model = self.config.model or "models/text-embedding-004"
|
self.config.model = self.config.model or "models/gemini-embedding-001"
|
||||||
self.config.embedding_dims = self.config.embedding_dims or self.config.output_dimensionality or 768
|
self.config.embedding_dims = self.config.embedding_dims or self.config.output_dimensionality or 768
|
||||||
|
|
||||||
api_key = self.config.api_key or os.getenv("GOOGLE_API_KEY")
|
api_key = self.config.api_key or os.getenv("GOOGLE_API_KEY")
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class VertexAIEmbedding(EmbeddingBase):
|
|||||||
def __init__(self, config: Optional[BaseEmbedderConfig] = None):
|
def __init__(self, config: Optional[BaseEmbedderConfig] = None):
|
||||||
super().__init__(config)
|
super().__init__(config)
|
||||||
|
|
||||||
self.config.model = self.config.model or "text-embedding-004"
|
self.config.model = self.config.model or "gemini-embedding-001"
|
||||||
self.config.embedding_dims = self.config.embedding_dims or 256
|
self.config.embedding_dims = self.config.embedding_dims or 256
|
||||||
|
|
||||||
self.embedding_types = {
|
self.embedding_types = {
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ def mock_text_embedding_input():
|
|||||||
|
|
||||||
@patch("mem0.embeddings.vertexai.TextEmbeddingModel")
|
@patch("mem0.embeddings.vertexai.TextEmbeddingModel")
|
||||||
def test_embed_default_model(mock_text_embedding_model, mock_os_environ, mock_config, mock_text_embedding_input):
|
def test_embed_default_model(mock_text_embedding_model, mock_os_environ, mock_config, mock_text_embedding_input):
|
||||||
mock_config.return_value.model = "text-embedding-004"
|
mock_config.return_value.model = "gemini-embedding-001"
|
||||||
mock_config.return_value.embedding_dims = 256
|
mock_config.return_value.embedding_dims = 256
|
||||||
|
|
||||||
config = mock_config()
|
config = mock_config()
|
||||||
@@ -59,7 +59,7 @@ def test_embed_default_model(mock_text_embedding_model, mock_os_environ, mock_co
|
|||||||
|
|
||||||
embedder.embed("Hello world")
|
embedder.embed("Hello world")
|
||||||
mock_text_embedding_input.assert_called_once_with(text="Hello world", task_type="SEMANTIC_SIMILARITY")
|
mock_text_embedding_input.assert_called_once_with(text="Hello world", task_type="SEMANTIC_SIMILARITY")
|
||||||
mock_text_embedding_model.from_pretrained.assert_called_once_with("text-embedding-004")
|
mock_text_embedding_model.from_pretrained.assert_called_once_with("gemini-embedding-001")
|
||||||
|
|
||||||
mock_text_embedding_model.from_pretrained.return_value.get_embeddings.assert_called_once_with(
|
mock_text_embedding_model.from_pretrained.return_value.get_embeddings.assert_called_once_with(
|
||||||
texts=[mock_text_embedding_input("Hello world")], output_dimensionality=256
|
texts=[mock_text_embedding_input("Hello world")], output_dimensionality=256
|
||||||
@@ -92,7 +92,7 @@ def test_embed_custom_model(mock_text_embedding_model, mock_os_environ, mock_con
|
|||||||
def test_embed_with_memory_action(
|
def test_embed_with_memory_action(
|
||||||
mock_text_embedding_model, mock_os_environ, mock_config, mock_embedding_types, mock_text_embedding_input
|
mock_text_embedding_model, mock_os_environ, mock_config, mock_embedding_types, mock_text_embedding_input
|
||||||
):
|
):
|
||||||
mock_config.return_value.model = "text-embedding-004"
|
mock_config.return_value.model = "gemini-embedding-001"
|
||||||
mock_config.return_value.embedding_dims = 256
|
mock_config.return_value.embedding_dims = 256
|
||||||
|
|
||||||
for embedding_type in mock_embedding_types:
|
for embedding_type in mock_embedding_types:
|
||||||
@@ -103,7 +103,7 @@ def test_embed_with_memory_action(
|
|||||||
config = mock_config()
|
config = mock_config()
|
||||||
embedder = VertexAIEmbedding(config)
|
embedder = VertexAIEmbedding(config)
|
||||||
|
|
||||||
mock_text_embedding_model.from_pretrained.assert_called_with("text-embedding-004")
|
mock_text_embedding_model.from_pretrained.assert_called_with("gemini-embedding-001")
|
||||||
|
|
||||||
for memory_action in ["add", "update", "search"]:
|
for memory_action in ["add", "update", "search"]:
|
||||||
embedder.embed("Hello world", memory_action=memory_action)
|
embedder.embed("Hello world", memory_action=memory_action)
|
||||||
@@ -151,7 +151,7 @@ def test_embed_with_different_dimensions(mock_text_embedding_model, mock_os_envi
|
|||||||
|
|
||||||
@patch("mem0.embeddings.vertexai.TextEmbeddingModel")
|
@patch("mem0.embeddings.vertexai.TextEmbeddingModel")
|
||||||
def test_invalid_memory_action(mock_text_embedding_model, mock_config):
|
def test_invalid_memory_action(mock_text_embedding_model, mock_config):
|
||||||
mock_config.return_value.model = "text-embedding-004"
|
mock_config.return_value.model = "gemini-embedding-001"
|
||||||
mock_config.return_value.embedding_dims = 256
|
mock_config.return_value.embedding_dims = 256
|
||||||
|
|
||||||
config = mock_config()
|
config = mock_config()
|
||||||
|
|||||||
Reference in New Issue
Block a user