3030from veadk .memory .long_term_memory_backends .base_backend import (
3131 BaseLongTermMemoryBackend ,
3232)
33+ from vikingdb import IAM
34+ from vikingdb .memory import VikingMem
35+
3336from veadk .utils .logger import get_logger
3437
3538logger = get_logger (__name__ )
@@ -118,6 +121,16 @@ def _get_client(self) -> VikingDBMemoryClient:
118121 region = self .region ,
119122 )
120123
124+ def _get_sdk_client (self ) -> VikingMem :
125+ return VikingMem (
126+ host = "api-knowledgebase.mlp.cn-beijing.volces.com" ,
127+ region = "cn-beijing" ,
128+ auth = IAM (
129+ ak = self .volcengine_access_key ,
130+ sk = self .volcengine_secret_key ,
131+ ),
132+ )
133+
121134 @override
122135 def save_memory (self , user_id : str , event_strings : list [str ], ** kwargs ) -> bool :
123136 session_id = str (uuid .uuid1 ())
@@ -139,12 +152,12 @@ def save_memory(self, user_id: str, event_strings: list[str], **kwargs) -> bool:
139152 f"Request for add { len (messages )} memory to VikingDB: collection_name={ self .index } , metadata={ metadata } , session_id={ session_id } "
140153 )
141154
142- client = self ._get_client ()
143- response = client .add_messages (
144- collection_name = self .index ,
155+ client = self ._get_sdk_client ()
156+ collection = client .get_collection (collection_name = self .index )
157+ response = collection .add_session (
158+ session_id = session_id ,
145159 messages = messages ,
146160 metadata = metadata ,
147- session_id = session_id ,
148161 )
149162
150163 logger .debug (f"Response from add memory to VikingDB: { response } " )
@@ -164,9 +177,12 @@ def search_memory(
164177 f"Request for search memory in VikingDB: filter={ filter } , collection_name={ self .index } , query={ query } , limit={ top_k } "
165178 )
166179
167- client = self ._get_client ()
168- response = client .search_memory (
169- collection_name = self .index , query = query , filter = filter , limit = top_k
180+ client = self ._get_sdk_client ()
181+ collection = client .get_collection (collection_name = self .index )
182+ response = collection .search_memory (
183+ query = query ,
184+ filter = filter ,
185+ limit = top_k ,
170186 )
171187
172188 logger .debug (f"Response from search memory in VikingDB: { response } " )
0 commit comments