From 64dc0ae25a712d24aca8ae464b9cc2a7e1792abe Mon Sep 17 00:00:00 2001 From: "fangyaozheng@bytedance.com" Date: Thu, 29 Jan 2026 12:35:15 +0800 Subject: [PATCH] chore: add profile to viking memory result --- pyproject.toml | 2 +- .../vikingdb_memory_backend.py | 53 ++++++++++++++----- veadk/version.py | 2 +- 3 files changed, 43 insertions(+), 14 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 2e37df86..226b2aca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "veadk-python" -version = "0.5.15" +version = "0.5.16" description = "Volcengine agent development kit, integrations with Volcengine cloud services." readme = "README.md" requires-python = ">=3.10" diff --git a/veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py b/veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py index 443ff989..f2aa5c41 100644 --- a/veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py +++ b/veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py @@ -72,7 +72,7 @@ def model_post_init(self, __context: Any) -> None: self.memory_type = [x.strip() for x in env_memory_type.split(",")] else: # self.memory_type = ["sys_event_v1", "event_v1"] - self.memory_type = ["sys_event_v1"] + self.memory_type = ["sys_event_v1", "sys_profile_v1"] logger.info(f"Using memory type: {self.memory_type}") @@ -236,19 +236,48 @@ def search_memory( if not response.get("code") == 0: raise ValueError(f"Search VikingDB memory error: {response}") + logger.debug(f"Original response from Viking Memory: {response}") + result = response.get("data", {}).get("result_list", []) - if result: - return [ - json.dumps( - { - "role": "user", - "parts": [{"text": r.get("memory_info").get("summary")}], - }, - ensure_ascii=False, + + memory_results = [] + for r in result: + if r.get("memory_info", {}): + content = "" + # extract user profile + if r.get("memory_info").get("user_profile"): + logger.debug( + f"Detect user profile: {r.get('memory_info').get('user_profile')}" + ) + content += ( + f"User profile: {r.get('memory_info').get('user_profile')} " + ) + + # # extract original messages + # if r.get("memory_info").get("original_message"): + # logger.debug( + # f"Detect original message: {r.get('memory_info').get('original_message')}" + # ) + # content += f"Original message: {r.get('memory_info').get('original_message')} " + + # extract summary + if r.get("memory_info").get("summary"): + logger.debug( + f"Detect summary: {r.get('memory_info').get('summary')}" + ) + content += f"Message summary: {r.get('memory_info').get('summary')}" + + memory_results.append( + json.dumps( + { + "role": "user", + "parts": [{"text": content}], + }, + ensure_ascii=False, + ) ) - for r in result - ] - return [] + + return memory_results def get_user_profile(self, user_id: str) -> str: from veadk.utils.volcengine_sign import ve_request diff --git a/veadk/version.py b/veadk/version.py index 1fb12e2a..91324526 100644 --- a/veadk/version.py +++ b/veadk/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -VERSION = "0.5.15" +VERSION = "0.5.16"