mem0ai-azure-mysql 0.1.115__tar.gz → 0.1.115.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/PKG-INFO +1 -1
  2. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/embeddings/azure_openai.py +17 -3
  3. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/azure_openai.py +13 -3
  4. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/azure_ai_search.py +22 -2
  5. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/pyproject.toml +1 -1
  6. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/.gitignore +0 -0
  7. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/LICENSE +0 -0
  8. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/README.md +0 -0
  9. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/__init__.py +0 -0
  10. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/client/__init__.py +0 -0
  11. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/client/main.py +0 -0
  12. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/client/project.py +0 -0
  13. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/client/utils.py +0 -0
  14. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/__init__.py +0 -0
  15. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/base.py +0 -0
  16. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/dbs/__init__.py +0 -0
  17. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/dbs/base.py +0 -0
  18. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/dbs/mysql.py +0 -0
  19. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/embeddings/__init__.py +0 -0
  20. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/embeddings/base.py +0 -0
  21. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/enums.py +0 -0
  22. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/llms/__init__.py +0 -0
  23. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/llms/base.py +0 -0
  24. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/prompts.py +0 -0
  25. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/__init__.py +0 -0
  26. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/azure_ai_search.py +0 -0
  27. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/baidu.py +0 -0
  28. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/chroma.py +0 -0
  29. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/elasticsearch.py +0 -0
  30. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/faiss.py +0 -0
  31. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/langchain.py +0 -0
  32. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/milvus.py +0 -0
  33. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/mongodb.py +0 -0
  34. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/opensearch.py +0 -0
  35. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/pgvector.py +0 -0
  36. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/pinecone.py +0 -0
  37. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/qdrant.py +0 -0
  38. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/redis.py +0 -0
  39. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/supabase.py +0 -0
  40. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/upstash_vector.py +0 -0
  41. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/vertex_ai_vector_search.py +0 -0
  42. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/configs/vector_stores/weaviate.py +0 -0
  43. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/dbs/__init__.py +0 -0
  44. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/dbs/base.py +0 -0
  45. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/dbs/configs.py +0 -0
  46. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/dbs/mysql.py +0 -0
  47. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/embeddings/__init__.py +0 -0
  48. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/embeddings/aws_bedrock.py +0 -0
  49. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/embeddings/base.py +0 -0
  50. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/embeddings/configs.py +0 -0
  51. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/embeddings/gemini.py +0 -0
  52. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/embeddings/huggingface.py +0 -0
  53. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/embeddings/langchain.py +0 -0
  54. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/embeddings/lmstudio.py +0 -0
  55. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/embeddings/mock.py +0 -0
  56. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/embeddings/ollama.py +0 -0
  57. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/embeddings/openai.py +0 -0
  58. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/embeddings/together.py +0 -0
  59. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/embeddings/vertexai.py +0 -0
  60. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/graphs/__init__.py +0 -0
  61. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/graphs/configs.py +0 -0
  62. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/graphs/neptune/__init__.py +0 -0
  63. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/graphs/neptune/base.py +0 -0
  64. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/graphs/neptune/main.py +0 -0
  65. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/graphs/tools.py +0 -0
  66. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/graphs/utils.py +0 -0
  67. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/__init__.py +0 -0
  68. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/anthropic.py +0 -0
  69. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/aws_bedrock.py +0 -0
  70. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/azure_openai_structured.py +0 -0
  71. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/base.py +0 -0
  72. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/configs.py +0 -0
  73. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/deepseek.py +0 -0
  74. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/gemini.py +0 -0
  75. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/groq.py +0 -0
  76. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/langchain.py +0 -0
  77. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/litellm.py +0 -0
  78. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/lmstudio.py +0 -0
  79. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/ollama.py +0 -0
  80. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/openai.py +0 -0
  81. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/openai_structured.py +0 -0
  82. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/sarvam.py +0 -0
  83. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/together.py +0 -0
  84. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/vllm.py +0 -0
  85. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/llms/xai.py +0 -0
  86. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/memory/__init__.py +0 -0
  87. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/memory/base.py +0 -0
  88. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/memory/graph_memory.py +0 -0
  89. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/memory/main.py +0 -0
  90. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/memory/memgraph_memory.py +0 -0
  91. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/memory/setup.py +0 -0
  92. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/memory/storage.py +0 -0
  93. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/memory/telemetry.py +0 -0
  94. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/memory/utils.py +0 -0
  95. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/proxy/__init__.py +0 -0
  96. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/proxy/main.py +0 -0
  97. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/utils/factory.py +0 -0
  98. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/__init__.py +0 -0
  99. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/baidu.py +0 -0
  100. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/base.py +0 -0
  101. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/chroma.py +0 -0
  102. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/configs.py +0 -0
  103. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/elasticsearch.py +0 -0
  104. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/faiss.py +0 -0
  105. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/langchain.py +0 -0
  106. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/milvus.py +0 -0
  107. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/mongodb.py +0 -0
  108. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/opensearch.py +0 -0
  109. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/pgvector.py +0 -0
  110. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/pinecone.py +0 -0
  111. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/qdrant.py +0 -0
  112. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/redis.py +0 -0
  113. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/supabase.py +0 -0
  114. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/upstash_vector.py +0 -0
  115. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/vertex_ai_vector_search.py +0 -0
  116. {mem0ai_azure_mysql-0.1.115 → mem0ai_azure_mysql-0.1.115.1}/mem0/vector_stores/weaviate.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mem0ai-azure-mysql
3
- Version: 0.1.115
3
+ Version: 0.1.115.1
4
4
  Summary: Long-term memory for AI Agents with Azure DefaultAzureCredential authentication and MySQL history database support
5
5
  License-File: LICENSE
6
6
  Requires-Python: <4.0,>=3.9
@@ -1,32 +1,46 @@
1
1
  import os
2
+ import logging
2
3
  from typing import Literal, Optional
3
4
 
4
5
  from openai import AzureOpenAI
5
6
  from azure.identity import DefaultAzureCredential, get_bearer_token_provider
6
7
 
8
+
7
9
  from mem0.configs.embeddings.base import BaseEmbedderConfig
8
10
  from mem0.embeddings.base import EmbeddingBase
9
11
 
12
+ logging.basicConfig(level=logging.INFO)
13
+ logger = logging.getLogger(__name__)
14
+
10
15
 
11
16
  class AzureOpenAIEmbedding(EmbeddingBase):
12
17
  def __init__(self, config: Optional[BaseEmbedderConfig] = None):
13
18
  super().__init__(config)
14
19
 
20
+ api_key = self.config.azure_kwargs.api_key or os.getenv("EMBEDDING_AZURE_API_KEY")
15
21
  azure_deployment = self.config.azure_kwargs.azure_deployment or os.getenv("EMBEDDING_AZURE_DEPLOYMENT")
16
22
  azure_endpoint = self.config.azure_kwargs.azure_endpoint or os.getenv("EMBEDDING_AZURE_ENDPOINT")
17
23
  api_version = self.config.azure_kwargs.api_version or os.getenv("EMBEDDING_AZURE_API_VERSION")
18
24
  default_headers = self.config.azure_kwargs.default_headers
19
25
 
20
- credential = DefaultAzureCredential()
21
- token_provider = get_bearer_token_provider(credential, "https://cognitiveservices.azure.com/.default")
26
+ auth_kwargs = {}
27
+
28
+ if api_key:
29
+ logger.info(f"Using API key for Azure OpenAI embedding authentication. {api_key}")
30
+ auth_kwargs["azure_ad_token"] = api_key
31
+ else:
32
+ logger.info("Using Azure AD token provider for Azure OpenAI embedding authentication.")
33
+ credential = DefaultAzureCredential()
34
+ token_provider = get_bearer_token_provider(credential, "https://cognitiveservices.azure.com/.default")
35
+ auth_kwargs["azure_ad_token_provider"] = token_provider
22
36
 
23
37
  self.client = AzureOpenAI(
24
38
  azure_deployment=azure_deployment,
25
39
  azure_endpoint=azure_endpoint,
26
40
  api_version=api_version,
27
- azure_ad_token_provider=token_provider,
28
41
  http_client=self.config.http_client,
29
42
  default_headers=default_headers,
43
+ **auth_kwargs,
30
44
  )
31
45
 
32
46
  def embed(self, text, memory_action: Optional[Literal["add", "search", "update"]] = None):
@@ -18,20 +18,30 @@ class AzureOpenAILLM(LLMBase):
18
18
  if not self.config.model:
19
19
  self.config.model = "gpt-4o"
20
20
 
21
+ api_key = self.config.azure_kwargs.api_key or os.getenv("LLM_AZURE_API_KEY")
21
22
  azure_deployment = self.config.azure_kwargs.azure_deployment or os.getenv("LLM_AZURE_DEPLOYMENT")
22
23
  azure_endpoint = self.config.azure_kwargs.azure_endpoint or os.getenv("LLM_AZURE_ENDPOINT")
23
24
  api_version = self.config.azure_kwargs.api_version or os.getenv("LLM_AZURE_API_VERSION")
24
25
  default_headers = self.config.azure_kwargs.default_headers
25
26
 
26
- credential = DefaultAzureCredential()
27
- token_provider = get_bearer_token_provider(credential, "https://cognitiveservices.azure.com/.default")
27
+ auth_kwargs = {}
28
+
29
+ if api_key:
30
+ auth_kwargs["azure_ad_token"] = api_key
31
+ else:
32
+ # Use Azure AD token provider if no API key is provided.
33
+ # This is useful for managed identities or when using Azure AD authentication.
34
+ credential = DefaultAzureCredential()
35
+ token_provider = get_bearer_token_provider(credential, "https://cognitiveservices.azure.com/.default")
36
+ auth_kwargs["azure_ad_token_provider"] = token_provider
37
+
28
38
  self.client = AzureOpenAI(
29
39
  azure_deployment=azure_deployment,
30
40
  azure_endpoint=azure_endpoint,
31
41
  api_version=api_version,
32
- azure_ad_token_provider=token_provider,
33
42
  http_client=self.config.http_client,
34
43
  default_headers=default_headers,
44
+ **auth_kwargs,
35
45
  )
36
46
 
37
47
  def _parse_response(self, response, tools):
@@ -2,8 +2,11 @@ import json
2
2
  import logging
3
3
  import re
4
4
  from typing import List, Optional
5
+ from datetime import datetime, timedelta, timezone
5
6
 
6
7
  from pydantic import BaseModel
8
+ from azure.core.credentials import AccessToken
9
+ from azure.core.credentials import TokenCredential
7
10
  from azure.identity import DefaultAzureCredential
8
11
 
9
12
  from mem0.memory.utils import extract_json
@@ -33,6 +36,18 @@ except ImportError:
33
36
  logger = logging.getLogger(__name__)
34
37
 
35
38
 
39
+ class StaticTokenCredential(TokenCredential):
40
+ def __init__(self, token: str, expires_on: int | None = None):
41
+ self._token = token
42
+
43
+ if expires_on is None:
44
+ expires_on = int((datetime.now(timezone.utc) + timedelta(days=2)).timestamp())
45
+ self._expires_on = expires_on
46
+
47
+ def get_token(self, *scopes, **kwargs) -> AccessToken:
48
+ return AccessToken(self._token, self._expires_on)
49
+
50
+
36
51
  class OutputData(BaseModel):
37
52
  id: Optional[str]
38
53
  score: Optional[float]
@@ -77,7 +92,12 @@ class AzureAISearch(VectorStoreBase):
77
92
  self.hybrid_search = hybrid_search
78
93
  self.vector_filter_mode = vector_filter_mode
79
94
 
80
- credential = DefaultAzureCredential()
95
+ if api_key is None:
96
+ logger.info("No API key provided. Using DefaultAzureCredential for authentication.")
97
+ credential = DefaultAzureCredential()
98
+ else:
99
+ logger.info("Using StaticTokenCredential for authentication.")
100
+ credential = StaticTokenCredential(api_key)
81
101
  self.search_client = SearchClient(
82
102
  endpoint=f"https://{service_name}.search.windows.net",
83
103
  index_name=self.index_name,
@@ -360,7 +380,7 @@ class AzureAISearch(VectorStoreBase):
360
380
  self.delete_col()
361
381
 
362
382
  # Reinitialize the clients
363
- credential = DefaultAzureCredential()
383
+ credential = StaticTokenCredential(self.api_key) if self.api_key else DefaultAzureCredential()
364
384
  service_endpoint = f"https://{self.service_name}.search.windows.net"
365
385
  self.search_client = SearchClient(
366
386
  endpoint=service_endpoint,
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "mem0ai-azure-mysql"
7
- version = "0.1.115"
7
+ version = "0.1.115.1"
8
8
  description = "Long-term memory for AI Agents with Azure DefaultAzureCredential authentication and MySQL history database support"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9,<4.0"