-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Expand file tree
/
Copy path_providers.py
More file actions
129 lines (102 loc) · 3.91 KB
/
_providers.py
File metadata and controls
129 lines (102 loc) · 3.91 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
r"""
__ __ _
| \/ | ___ _ __ ___ ___ _ __(_)
| |\/| |/ _ \ '_ ` _ \ / _ \| '__| |
| | | | __/ | | | | | (_) | | | |
|_| |_|\___|_| |_| |_|\___/|_| |_|
perfectam memoriam
memorilabs.ai
"""
import warnings
from memori.llm._base import BaseProvider
from memori.llm._clients import Agno as AgnoMemoriClient
from memori.llm._clients import Anthropic as AnthropicMemoriClient
from memori.llm._clients import Google as GoogleMemoriClient
from memori.llm._clients import LangChain as LangChainMemoriClient
from memori.llm._clients import OpenAi as OpenAiMemoriClient
from memori.llm._clients import PydanticAi as PydanticAiMemoriClient
from memori.llm._clients import XAi as XAiMemoriClient
class Agno(BaseProvider):
def register(self, openai_chat=None, claude=None, gemini=None, xai=None):
warnings.warn(
"memori.agno.register() is deprecated. Use memori.llm.register(client) instead.",
DeprecationWarning,
stacklevel=2,
)
if self.client is None:
self.client = AgnoMemoriClient(self.config).register(
openai_chat=openai_chat,
claude=claude,
gemini=gemini,
xai=xai,
)
return self.entity
class Anthropic(BaseProvider):
def register(self, client):
warnings.warn(
"memori.anthropic.register() is deprecated. Use memori.llm.register(client) instead.",
DeprecationWarning,
stacklevel=2,
)
if self.client is None:
self.client = AnthropicMemoriClient(self.config).register(client)
return self.entity
class Google(BaseProvider):
def register(self, client):
warnings.warn(
"memori.google.register() is deprecated. Use memori.llm.register(client) instead.",
DeprecationWarning,
stacklevel=2,
)
if self.client is None:
self.client = GoogleMemoriClient(self.config).register(client)
return self.entity
class LangChain(BaseProvider):
def register(
self, chatbedrock=None, chatgooglegenai=None, chatopenai=None, chatvertexai=None
):
warnings.warn(
"memori.langchain.register() is deprecated. Use memori.llm.register(client) instead.",
DeprecationWarning,
stacklevel=2,
)
if self.client is None:
self.client = LangChainMemoriClient(self.config).register(
chatbedrock=chatbedrock,
chatgooglegenai=chatgooglegenai,
chatopenai=chatopenai,
chatvertexai=chatvertexai,
)
return self.entity
class OpenAi(BaseProvider):
def register(self, client, stream=False):
warnings.warn(
"memori.openai.register() is deprecated. Use memori.llm.register(client) instead.",
DeprecationWarning,
stacklevel=2,
)
if self.client is None:
self.client = OpenAiMemoriClient(self.config).register(
client, stream=stream
)
return self.entity
class PydanticAi(BaseProvider):
def register(self, client):
warnings.warn(
"memori.pydantic_ai.register() is deprecated. Use memori.llm.register(client) instead.",
DeprecationWarning,
stacklevel=2,
)
if self.client is None:
self.client = PydanticAiMemoriClient(self.config).register(client)
return self.entity
class XAi(BaseProvider):
def register(self, client, stream=False):
warnings.warn(
"memori.xai.register() is deprecated. Use memori.llm.register(client) instead.",
DeprecationWarning,
stacklevel=2,
)
if self.client is None:
self.client = XAiMemoriClient(self.config).register(client, stream=stream)
return self.entity