veadk-python 0.2.10__py3-none-any.whl → 0.2.12__py3-none-any.whl

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.

Potentially problematic release.


This version of veadk-python might be problematic. Click here for more details.

Files changed (32) hide show
  1. veadk/agent.py +7 -3
  2. veadk/auth/veauth/ark_veauth.py +43 -51
  3. veadk/auth/veauth/utils.py +57 -0
  4. veadk/cli/cli.py +2 -0
  5. veadk/cli/cli_uploadevalset.py +125 -0
  6. veadk/cli/cli_web.py +15 -2
  7. veadk/configs/model_configs.py +3 -3
  8. veadk/consts.py +9 -0
  9. veadk/knowledgebase/knowledgebase.py +19 -32
  10. veadk/memory/long_term_memory.py +39 -92
  11. veadk/memory/long_term_memory_backends/base_backend.py +4 -2
  12. veadk/memory/long_term_memory_backends/in_memory_backend.py +8 -6
  13. veadk/memory/long_term_memory_backends/mem0_backend.py +8 -8
  14. veadk/memory/long_term_memory_backends/opensearch_backend.py +40 -36
  15. veadk/memory/long_term_memory_backends/redis_backend.py +59 -46
  16. veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py +54 -29
  17. veadk/memory/short_term_memory.py +9 -11
  18. veadk/runner.py +19 -11
  19. veadk/tools/builtin_tools/generate_image.py +230 -189
  20. veadk/tools/builtin_tools/image_edit.py +24 -5
  21. veadk/tools/builtin_tools/image_generate.py +24 -5
  22. veadk/tools/builtin_tools/load_knowledgebase.py +97 -0
  23. veadk/tools/builtin_tools/video_generate.py +38 -11
  24. veadk/utils/misc.py +6 -10
  25. veadk/utils/volcengine_sign.py +2 -0
  26. veadk/version.py +1 -1
  27. {veadk_python-0.2.10.dist-info → veadk_python-0.2.12.dist-info}/METADATA +2 -1
  28. {veadk_python-0.2.10.dist-info → veadk_python-0.2.12.dist-info}/RECORD +32 -29
  29. {veadk_python-0.2.10.dist-info → veadk_python-0.2.12.dist-info}/WHEEL +0 -0
  30. {veadk_python-0.2.10.dist-info → veadk_python-0.2.12.dist-info}/entry_points.txt +0 -0
  31. {veadk_python-0.2.10.dist-info → veadk_python-0.2.12.dist-info}/licenses/LICENSE +0 -0
  32. {veadk_python-0.2.10.dist-info → veadk_python-0.2.12.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,97 @@
1
+ # Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from __future__ import annotations
16
+
17
+ from google.adk.models.llm_request import LlmRequest
18
+ from google.adk.tools.function_tool import FunctionTool
19
+ from google.adk.tools.tool_context import ToolContext
20
+ from google.genai import types
21
+ from pydantic import BaseModel, Field
22
+ from typing_extensions import override
23
+
24
+ from veadk.knowledgebase import KnowledgeBase
25
+ from veadk.knowledgebase.entry import KnowledgebaseEntry
26
+ from veadk.utils.logger import get_logger
27
+
28
+ logger = get_logger(__name__)
29
+
30
+
31
+ class LoadKnowledgebaseResponse(BaseModel):
32
+ knowledges: list[KnowledgebaseEntry] = Field(default_factory=list)
33
+
34
+
35
+ class LoadKnowledgebaseTool(FunctionTool):
36
+ """A tool that loads the common knowledgebase"""
37
+
38
+ def __init__(self, knowledgebase: KnowledgeBase):
39
+ super().__init__(self.load_knowledgebase)
40
+
41
+ self.knowledgebase = knowledgebase
42
+
43
+ if not self.custom_metadata:
44
+ self.custom_metadata = {}
45
+ self.custom_metadata["backend"] = knowledgebase.backend
46
+
47
+ @override
48
+ def _get_declaration(self) -> types.FunctionDeclaration | None:
49
+ return types.FunctionDeclaration(
50
+ name=self.name,
51
+ description=self.description,
52
+ parameters=types.Schema(
53
+ type=types.Type.OBJECT,
54
+ properties={
55
+ "query": types.Schema(
56
+ type=types.Type.STRING,
57
+ )
58
+ },
59
+ required=["query"],
60
+ ),
61
+ )
62
+
63
+ @override
64
+ async def process_llm_request(
65
+ self,
66
+ *,
67
+ tool_context: ToolContext,
68
+ llm_request: LlmRequest,
69
+ ) -> None:
70
+ await super().process_llm_request(
71
+ tool_context=tool_context, llm_request=llm_request
72
+ )
73
+ # Tell the model about the knowledgebase.
74
+ llm_request.append_instructions(
75
+ [
76
+ f"""
77
+ You have a knowledgebase (knowledegebase name is `{self.knowledgebase.name}`, knowledgebase description is `{self.knowledgebase.description}`). You can use it to answer questions. If any questions need
78
+ you to look up the knowledgebase, you should call load_knowledgebase function with a query.
79
+ """
80
+ ]
81
+ )
82
+
83
+ async def load_knowledgebase(
84
+ self, query: str, tool_context: ToolContext
85
+ ) -> LoadKnowledgebaseResponse:
86
+ """Loads the knowledgebase for the user.
87
+
88
+ Args:
89
+ query: The query to load the knowledgebase for.
90
+
91
+ Returns:
92
+ A list of knowledgebase results.
93
+ """
94
+ logger.info(f"Search knowledgebase: {self.knowledgebase.name}")
95
+ response = self.knowledgebase.search(query)
96
+ logger.info(f"Loaded {len(response)} knowledgebase entries for query: {query}")
97
+ return LoadKnowledgebaseResponse(knowledges=response)
@@ -25,23 +25,24 @@ from volcenginesdkarkruntime.types.content_generation.create_task_content_param
25
25
  CreateTaskContentParam,
26
26
  )
27
27
 
28
- from veadk.config import getenv
29
- from veadk.consts import DEFAULT_MODEL_AGENT_API_BASE, DEFAULT_VIDEO_MODEL_NAME
28
+ from veadk.config import getenv, settings
29
+ from veadk.consts import DEFAULT_VIDEO_MODEL_API_BASE, DEFAULT_VIDEO_MODEL_NAME
30
30
  from veadk.utils.logger import get_logger
31
31
  from veadk.version import VERSION
32
32
 
33
33
  logger = get_logger(__name__)
34
34
 
35
35
  client = Ark(
36
- api_key=getenv("MODEL_AGENT_API_KEY"),
37
- base_url=getenv("MODEL_AGENT_API_BASE", DEFAULT_MODEL_AGENT_API_BASE),
36
+ api_key=getenv(
37
+ "MODEL_VIDEO_API_KEY", getenv("MODEL_AGENT_API_KEY", settings.model.api_key)
38
+ ),
39
+ base_url=getenv("MODEL_VIDEO_API_BASE", DEFAULT_VIDEO_MODEL_API_BASE),
38
40
  )
39
41
 
40
42
 
41
43
  async def generate(prompt, first_frame_image=None, last_frame_image=None):
42
44
  try:
43
45
  if first_frame_image is None:
44
- logger.debug("text generation")
45
46
  response = client.content_generation.tasks.create(
46
47
  model=getenv("MODEL_VIDEO_NAME", DEFAULT_VIDEO_MODEL_NAME),
47
48
  content=[
@@ -49,7 +50,6 @@ async def generate(prompt, first_frame_image=None, last_frame_image=None):
49
50
  ],
50
51
  )
51
52
  elif last_frame_image is None:
52
- logger.debug("first frame generation")
53
53
  response = client.content_generation.tasks.create(
54
54
  model=getenv("MODEL_VIDEO_NAME", DEFAULT_VIDEO_MODEL_NAME),
55
55
  content=cast(
@@ -64,7 +64,6 @@ async def generate(prompt, first_frame_image=None, last_frame_image=None):
64
64
  ),
65
65
  )
66
66
  else:
67
- logger.debug("last frame generation")
68
67
  response = client.content_generation.tasks.create(
69
68
  model=getenv("MODEL_VIDEO_NAME", DEFAULT_VIDEO_MODEL_NAME),
70
69
  content=[
@@ -195,9 +194,13 @@ async def video_generate(params: list, tool_context: ToolContext) -> Dict:
195
194
  batch_size = 10
196
195
  success_list = []
197
196
  error_list = []
197
+ logger.debug(f"Using model: {getenv('MODEL_VIDEO_NAME', DEFAULT_VIDEO_MODEL_NAME)}")
198
+ logger.debug(f"video_generate params: {params}")
198
199
 
199
200
  for start_idx in range(0, len(params), batch_size):
200
201
  batch = params[start_idx : start_idx + batch_size]
202
+ logger.debug(f"video_generate batch {start_idx // batch_size}: {batch}")
203
+
201
204
  task_dict = {}
202
205
  tracer = trace.get_tracer("gcp.vertex.agent")
203
206
  with tracer.start_as_current_span("call_llm") as span:
@@ -214,15 +217,30 @@ async def video_generate(params: list, tool_context: ToolContext) -> Dict:
214
217
  last_frame = item.get("last_frame", None)
215
218
  try:
216
219
  if not first_frame:
220
+ logger.debug(
221
+ f"video_generate task_{idx} text generation: prompt={prompt}"
222
+ )
217
223
  response = await generate(prompt)
218
224
  elif not last_frame:
225
+ logger.debug(
226
+ f"video_generate task_{idx} first frame generation: prompt={prompt}, first_frame={first_frame}"
227
+ )
219
228
  response = await generate(prompt, first_frame)
220
229
  else:
230
+ logger.debug(
231
+ f"video_generate task_{idx} first and last frame generation: prompt={prompt}, first_frame={first_frame}, last_frame={last_frame}"
232
+ )
221
233
  response = await generate(prompt, first_frame, last_frame)
234
+ logger.debug(
235
+ f"batch_{start_idx // batch_size} video_generate task_{idx} response: {response}"
236
+ )
222
237
  task_dict[response.id] = video_name
223
238
  except Exception as e:
224
239
  logger.error(f"Error: {e}")
225
240
  error_list.append(video_name)
241
+ continue
242
+
243
+ logger.debug("begin query video_generate task status...")
226
244
 
227
245
  while True:
228
246
  task_list = list(task_dict.keys())
@@ -232,7 +250,9 @@ async def video_generate(params: list, tool_context: ToolContext) -> Dict:
232
250
  result = client.content_generation.tasks.get(task_id=task_id)
233
251
  status = result.status
234
252
  if status == "succeeded":
235
- logger.debug("----- task succeeded -----")
253
+ logger.debug(
254
+ f"{task_dict[task_id]} video_generate {status}. Video URL: {result.content.video_url}"
255
+ )
236
256
  tool_context.state[f"{task_dict[task_id]}_video_url"] = (
237
257
  result.content.video_url
238
258
  )
@@ -246,13 +266,14 @@ async def video_generate(params: list, tool_context: ToolContext) -> Dict:
246
266
  )
247
267
  task_dict.pop(task_id, None)
248
268
  elif status == "failed":
249
- logger.error("----- task failed -----")
250
- logger.error(f"Error: {result.error}")
269
+ logger.error(
270
+ f"{task_dict[task_id]} video_generate {status}. Error: {result.error}"
271
+ )
251
272
  error_list.append(task_dict[task_id])
252
273
  task_dict.pop(task_id, None)
253
274
  else:
254
275
  logger.debug(
255
- f"Current status: {status}, Retrying after 10 seconds..."
276
+ f"{task_dict[task_id]} video_generate current status: {status}, Retrying after 10 seconds..."
256
277
  )
257
278
  time.sleep(10)
258
279
 
@@ -268,12 +289,18 @@ async def video_generate(params: list, tool_context: ToolContext) -> Dict:
268
289
  )
269
290
 
270
291
  if len(success_list) == 0:
292
+ logger.debug(
293
+ f"video_generate success_list: {success_list}\nerror_list: {error_list}"
294
+ )
271
295
  return {
272
296
  "status": "error",
273
297
  "success_list": success_list,
274
298
  "error_list": error_list,
275
299
  }
276
300
  else:
301
+ logger.debug(
302
+ f"video_generate success_list: {success_list}\nerror_list: {error_list}"
303
+ )
277
304
  return {
278
305
  "status": "success",
279
306
  "success_list": success_list,
veadk/utils/misc.py CHANGED
@@ -36,18 +36,14 @@ def formatted_timestamp() -> str:
36
36
  return time.strftime("%Y%m%d%H%M%S", time.localtime())
37
37
 
38
38
 
39
- def read_png_to_bytes(png_path: str) -> bytes:
40
- # Determine whether it is a local file or a network file
41
- if png_path.startswith(("http://", "https://")):
42
- # Network file: Download via URL and return bytes
43
- response = requests.get(png_path)
44
- response.raise_for_status() # Check if the HTTP request is successful
39
+ def read_file_to_bytes(file_path: str) -> bytes:
40
+ if file_path.startswith(("http://", "https://")):
41
+ response = requests.get(file_path)
42
+ response.raise_for_status()
45
43
  return response.content
46
44
  else:
47
- # Local file
48
- with open(png_path, "rb") as f:
49
- data = f.read()
50
- return data
45
+ with open(file_path, "rb") as f:
46
+ return f.read()
51
47
 
52
48
 
53
49
  def load_module_from_file(module_name: str, file_path: str) -> types.ModuleType:
@@ -144,6 +144,8 @@ def request(method, date, query, header, ak, sk, action, body):
144
144
  )
145
145
  )
146
146
  header = {**header, **sign_result}
147
+ if "X-Security-Token" in header and header["X-Security-Token"] == "":
148
+ del header["X-Security-Token"]
147
149
  # header = {**header, **{"X-Security-Token": SessionToken}}
148
150
  # 第六步:将 Signature 签名写入 HTTP Header 中,并发送 HTTP 请求。
149
151
  r = requests.request(
veadk/version.py CHANGED
@@ -12,4 +12,4 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- VERSION = "0.2.10"
15
+ VERSION = "0.2.12"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: veadk-python
3
- Version: 0.2.10
3
+ Version: 0.2.12
4
4
  Summary: Volcengine agent development kit, integrations with Volcengine cloud services.
5
5
  Author-email: Yaozheng Fang <fangyozheng@gmail.com>, Guodong Li <cu.eric.lee@gmail.com>, Zhi Han <sliverydayday@gmail.com>, Meng Wang <mengwangwm@gmail.com>
6
6
  License: Apache License
@@ -231,6 +231,7 @@ Requires-Dist: llama-index-vector-stores-opensearch>=0.6.1
231
231
  Requires-Dist: psycopg2-binary>=2.9.10
232
232
  Requires-Dist: pymysql>=1.1.1
233
233
  Requires-Dist: opensearch-py==2.8.0
234
+ Requires-Dist: filetype>=1.2.0
234
235
  Provides-Extra: extensions
235
236
  Requires-Dist: redis>=5.0; extra == "extensions"
236
237
  Requires-Dist: tos>=2.8.4; extra == "extensions"
@@ -1,11 +1,11 @@
1
1
  veadk/__init__.py,sha256=9l1lyb9ifhHQeetmIBWZnIdwUCVyMyz1EnKsKz8BBG8,1135
2
- veadk/agent.py,sha256=RTIq9L6ffIGELFUo-I8bHvMFh9PVkIxDshzYZ88gxGw,11015
2
+ veadk/agent.py,sha256=4ijmzPXvY9iAx4s2NqBzwJ0VEYSWiUezeP2OvQFO9ek,11108
3
3
  veadk/agent_builder.py,sha256=HI7mRrUZ72_7i-jVzNDx1anTZHy7UxX7jr2Drxxx6j8,3031
4
4
  veadk/config.py,sha256=Ezl9Lna9iriC_Uf7m1ZXTWzylLyd7YspUFAQqh94Ong,3203
5
- veadk/consts.py,sha256=H63v4CLzFoRKwyOIuCiyC__FbZGofPfJkUx_YK_P-tI,2442
6
- veadk/runner.py,sha256=kKkB2ViHIDf0mMUSUaDsEK678dMLR0eh2f8aG6YZDPM,14045
5
+ veadk/consts.py,sha256=LTl4NQYJf7C8EvconGa96NRschzZZmmOqxlEikJe2Nk,2831
6
+ veadk/runner.py,sha256=_DGNwX-t3sHJFJvHs-rRHXbjCZza8I_zU8AN3Fw5nRY,14217
7
7
  veadk/types.py,sha256=zOOzG-QJy-MkzHeicWJzy2_L5U4ERrWziPubIUEbd8c,1656
8
- veadk/version.py,sha256=zSxE6o04P8qYxbBmEPzcBWcc03bk7-h7TcjW-GbdNos,654
8
+ veadk/version.py,sha256=GswH4BBfIAlEQ2fTdwoeOJftSsPugnneZH-RnSuSYN4,654
9
9
  veadk/a2a/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
10
10
  veadk/a2a/agent_card.py,sha256=lhtgW1acMpxYUdULHEZwVFXOi6Xh4lNkf4S7QIhbFFI,1525
11
11
  veadk/a2a/remote_ve_agent.py,sha256=L2nzT8PlDI-lLtcaTJqk-D2Uvw9beKl8OEUqp-8qCbA,3510
@@ -19,28 +19,30 @@ veadk/auth/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
19
19
  veadk/auth/base_auth.py,sha256=Iwp6QAuFrJNxqXSolXkIRlK8krS0FjQKpx_fVjF-2b8,789
20
20
  veadk/auth/veauth/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
21
21
  veadk/auth/veauth/apmplus_veauth.py,sha256=zuUg8fEdvYCFUBNN5VrpSQo8IcA_L02bvTy5qVllZWM,2052
22
- veadk/auth/veauth/ark_veauth.py,sha256=qSE0ysgLqxep00oSlF7cZ8pO5pWWcelJbwdq098fPFI,2470
22
+ veadk/auth/veauth/ark_veauth.py,sha256=K3n5nI8R-PtL5TssiX5CFOSdsUQagTOpVvjC9OoyiFA,2279
23
23
  veadk/auth/veauth/base_veauth.py,sha256=y8H_1a_gldt6hDHGBjYDc4xI7IhguNxMGONt_kx5Snc,1519
24
24
  veadk/auth/veauth/cozeloop_veauth.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
25
25
  veadk/auth/veauth/opensearch_veauth.py,sha256=nJ8n3Ru4uyTM4yZx4OvmnzLmjbP66kU7hyFjD3_ZbAM,2580
26
26
  veadk/auth/veauth/postgresql_veauth.py,sha256=oxi9KH78qc-36yQI90aqO24cCuGdFt3HBApxAf8czEA,2580
27
27
  veadk/auth/veauth/prompt_pilot_veauth.py,sha256=cls1LK2Un4cOMfHdaAqRhDHIXuk7cTuAThojEF5tHKo,1913
28
+ veadk/auth/veauth/utils.py,sha256=cVEKWQZeX5fzx3JLB1odv59D8lhOAF1Pb3rsgO6evmM,2152
28
29
  veadk/auth/veauth/vesearch_veauth.py,sha256=rgup3VBbRSLligrsDFOEwpneq1BEtFwf9xpgNFWHKqc,2008
29
30
  veadk/cli/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
30
- veadk/cli/cli.py,sha256=lT2VGY8Mn-_eLO5ifsF7vKTW-qgiCJFDve5nc8N_YuQ,1343
31
+ veadk/cli/cli.py,sha256=-IGJKG9bGZpZXdLirOHv0LlpN9Vo42qzeEyNnZKsKv8,1430
31
32
  veadk/cli/cli_deploy.py,sha256=-P4PmXLGByypXGksshBT7BQ0U42hIvlHibXd_k4YfhQ,5328
32
33
  veadk/cli/cli_eval.py,sha256=TVSraCTyTxo_pLu5fhtk3TiZUOZkN3G2BLam1ybFXBc,5446
33
34
  veadk/cli/cli_init.py,sha256=f2A3RwUj9pApmUTl6FHmMwTTwyKl83pkvZRorTgl-XM,3982
34
35
  veadk/cli/cli_kb.py,sha256=SmLz3g6o2LiPa6WzkdyAOExuboHkpAIrN-4qaH4rxn8,1962
35
36
  veadk/cli/cli_pipeline.py,sha256=6FV4WyoapFPAy_P3dzrRm07m6aGjrtLiY4aCFT7CEHs,7510
36
37
  veadk/cli/cli_prompt.py,sha256=atw6O3zkjD1tOsFOOg7rs9HbS4exwaNe_Pces6CoyFY,2582
37
- veadk/cli/cli_web.py,sha256=20VwLxsLf060Gca31Pw3NH5KX9W88sIvgiPECDvY6_4,6246
38
+ veadk/cli/cli_uploadevalset.py,sha256=RdelvbXEBalXGxHnPJ-8ZQ1PRiex39328yhAWgZ5mAI,4342
39
+ veadk/cli/cli_web.py,sha256=wPuLoG57s3E3GOQQ7wnDJ923LgIEG4pcO_pNjkd9ynE,6732
38
40
  veadk/cloud/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
39
41
  veadk/cloud/cloud_agent_engine.py,sha256=u-v-kkAhRgZY1r82CQRwfkYnj0n7ft8qIW_r-yhnMSI,8461
40
42
  veadk/cloud/cloud_app.py,sha256=2bmEf7RH1Kwz8HLZ0aY3pVn0R8xi1T7kcGRTRyaWawY,8746
41
43
  veadk/configs/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
42
44
  veadk/configs/database_configs.py,sha256=oOqPlpyCR2QmGZ3fxm3t-UoeXK4T3ux7nw6rDevhxNE,2916
43
- veadk/configs/model_configs.py,sha256=Ts88m4wSXCWNr96Y92CRCey3GaOM4hGR6U1oLfOYedY,2378
45
+ veadk/configs/model_configs.py,sha256=izAbuM7i2GgOBsGNr3MEs574KTHMOIP3Vm5tlN7STOg,2378
44
46
  veadk/configs/tool_configs.py,sha256=1BR7-D7mIHug8gI1SEN6_1bUfhXAl1JTZRfvGdfqg0c,1453
45
47
  veadk/configs/tracing_configs.py,sha256=bwfi4JjKvdTjEwbaSVOdnWetcA72vgPiaF5odUlI9gI,3489
46
48
  veadk/evaluation/__init__.py,sha256=Pwnv6x-QaQQiv4J_QNnR-Asl7wN0laF92EX9n0Sll1U,713
@@ -108,7 +110,7 @@ veadk/integrations/ve_viking_db_memory/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL4
108
110
  veadk/integrations/ve_viking_db_memory/ve_viking_db_memory.py,sha256=gX5asox3VDra6o1BIg7AickPec0-Vj8_lgZ1zz5ue5Y,10165
109
111
  veadk/knowledgebase/__init__.py,sha256=k-5WM0DAqNq94Dg64Rl12ozoS1BnE9i-MY_ZOR2s2CQ,705
110
112
  veadk/knowledgebase/entry.py,sha256=j6VsXRAyjZryIFntnoNfjbH8fsD9_fDSjoHIL5h0Y1U,917
111
- veadk/knowledgebase/knowledgebase.py,sha256=3tovdz19eImnIBf88wsuW0J_dGMcOoAuYYg1gEW3dMQ,6058
113
+ veadk/knowledgebase/knowledgebase.py,sha256=gfHBxmfAGTFc1y13PMpB455G3YW0qE1zHjiUPM9iS3s,5642
112
114
  veadk/knowledgebase/backends/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
113
115
  veadk/knowledgebase/backends/base_backend.py,sha256=gqkJNIASc-ZrJ2e4enIeUvI9CWucCn2OZX-bb5hyTPw,2104
114
116
  veadk/knowledgebase/backends/in_memory_backend.py,sha256=uC4_LCkjp9DFQzTgTKzEr6yw1hcNUpZ0h7WSR0fpifc,3332
@@ -117,16 +119,16 @@ veadk/knowledgebase/backends/redis_backend.py,sha256=pc-T_QicyAmOp6KbMz0V8iIL1Zl
117
119
  veadk/knowledgebase/backends/utils.py,sha256=GOIuOFIJqruIk5Imx4F7ou5qKTUmg_gWJoLYi1kkopQ,2661
118
120
  veadk/knowledgebase/backends/vikingdb_knowledge_backend.py,sha256=hVSfAc17wzEoEKlPa7x3ekCcApFgDzY7x6ceBDxd9mw,18126
119
121
  veadk/memory/__init__.py,sha256=GRIoRqapS2gUtRMB9JZvodU29PwMxFe2KDjPnVpqib0,1252
120
- veadk/memory/long_term_memory.py,sha256=59C9bH5so7o64o2kWXPkcB5ImCXU7BM1Bc18SNjPXMo,9995
121
- veadk/memory/short_term_memory.py,sha256=SY3O-tJ6qepVhaodUzdYO_QCCKxKooBmabdq9scAuUM,4945
122
+ veadk/memory/long_term_memory.py,sha256=YE5DH9qyJwlA7t0smwV4J90wnUBYVR6MRXHg1qsqKNU,7423
123
+ veadk/memory/short_term_memory.py,sha256=MLR2Op_l_Zr-ZKCJ7pyNhe_OzPG06Zcb8pt8qA_zrFY,4922
122
124
  veadk/memory/short_term_memory_processor.py,sha256=vqmYSUNFGXEogJ8ZxIAhSSrv66LGT8eEHCzxF9h07LA,3276
123
125
  veadk/memory/long_term_memory_backends/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
124
- veadk/memory/long_term_memory_backends/base_backend.py,sha256=PuLhqc7LhMzhkQSrz8Zotk-D7WmzjHdUlaWEjsrL470,1181
125
- veadk/memory/long_term_memory_backends/in_memory_backend.py,sha256=h0GNiZTtqpbWucaZ-L0NEhPgi_ntPoA6GPg3qqcH5uo,2672
126
- veadk/memory/long_term_memory_backends/mem0_backend.py,sha256=WQy_3NuWDhNt8FkXjr49tj5RE5VHCaII1Agecs7oGos,4893
127
- veadk/memory/long_term_memory_backends/opensearch_backend.py,sha256=xcXeCakgf3FUcLfATajLhIT9u0kEi8craJhG9xLKvPg,4394
128
- veadk/memory/long_term_memory_backends/redis_backend.py,sha256=WJLKAjTLDKORAS6y5e2JaEfduLlIbrj4RThQat-0Cw0,4632
129
- veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py,sha256=k7akowPf-NqdyhFTjqQizt4IdtDUNWib7K32jMQLYdw,4878
126
+ veadk/memory/long_term_memory_backends/base_backend.py,sha256=FDBBUCLEfe8bxkpra1FFGieZZFT_YC8B3kdHx9pKgwo,1223
127
+ veadk/memory/long_term_memory_backends/in_memory_backend.py,sha256=0IKRqstS3Rtm8ePf55XpfLhIjomIGep3SwwlUZ4PFvY,2714
128
+ veadk/memory/long_term_memory_backends/mem0_backend.py,sha256=sj6OxMHA4oG6kuzTMK5zsGEIIa0-ESPrRYv6dR3KI8E,4869
129
+ veadk/memory/long_term_memory_backends/opensearch_backend.py,sha256=u5odPUv0fchH3IsZNTH0-nNpdW4KwkWojRQi3cn52Wo,4567
130
+ veadk/memory/long_term_memory_backends/redis_backend.py,sha256=0XX21AJA4UwEqrteXdgOr5WAfuo31wK1fMLUtXMssfg,5262
131
+ veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py,sha256=EDhpMCH92lspykzRzQpySfD4G5LndANAf6B5eMYzYH8,5793
130
132
  veadk/memory/short_term_memory_backends/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
131
133
  veadk/memory/short_term_memory_backends/base_backend.py,sha256=5AtnWuFE_TYpTAlAKnm2xglf4AT3iXmU9QSF7LkO1BA,1053
132
134
  veadk/memory/short_term_memory_backends/mysql_backend.py,sha256=_m-yuB7X-pPvs93-W8ZswDIkIpYpCFMRRdt9D5SZzn8,1513
@@ -141,14 +143,15 @@ veadk/tools/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
141
143
  veadk/tools/demo_tools.py,sha256=Gu3sxygcYVS2cv3WqUOl-Gq4JhMlDAktoCHOFT0gbFQ,2216
142
144
  veadk/tools/load_knowledgebase_tool.py,sha256=UUTv0Za9GkEXAkl1SXmyq0HGCKGvSlH_f8Ok6O6e52M,4704
143
145
  veadk/tools/builtin_tools/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
144
- veadk/tools/builtin_tools/generate_image.py,sha256=sbFDrYPnvpcM8DR8hnwWjF38XW-FtvEVLRWCvTrEcJA,16589
145
- veadk/tools/builtin_tools/image_edit.py,sha256=E3G4jH2abJVFt8jxypriUCRjjih9KHALbwEzkPjO9Ss,10826
146
- veadk/tools/builtin_tools/image_generate.py,sha256=XAxzQPw_hFwuVwXO-0TcRJNRYqq6Wxz_JvGB_9d_O8g,10563
146
+ veadk/tools/builtin_tools/generate_image.py,sha256=aDMlR-IrxUMepIl9hPkywlH-4e7uIRiyFzLTtmezOnw,17495
147
+ veadk/tools/builtin_tools/image_edit.py,sha256=KslsuabBchAYR3ZrWSO5viEe5ORUAe0GI1qQ6mxoIU0,11588
148
+ veadk/tools/builtin_tools/image_generate.py,sha256=-L_3k3KRJ_arljLfKz946fbd9ppxTDNvJmkNGhgj6qQ,11357
147
149
  veadk/tools/builtin_tools/lark.py,sha256=b2IWsN8fZFh9aweSGznaOqA30TCOLpVjNCDNa1LHZl4,2046
148
150
  veadk/tools/builtin_tools/las.py,sha256=rgKfnK5GsHVbmkp-rc7rtCvWg-yYNxMjeV0ayCyRpjM,913
151
+ veadk/tools/builtin_tools/load_knowledgebase.py,sha256=Xqtq25DL720goRegCVmmkpH2Ye2VWLcrF5ncC37gK_Y,3427
149
152
  veadk/tools/builtin_tools/mcp_router.py,sha256=l3xcIHAHQ0AGCZG3mYyhwM0btqEMDe4TY2S-UYUM8M0,883
150
153
  veadk/tools/builtin_tools/vesearch.py,sha256=prPP0w6lYeIEPwuZdmV00RAzaW4MeH8lYtK-NluaXtU,1748
151
- veadk/tools/builtin_tools/video_generate.py,sha256=eE5WOGIw4hFn9A_JWt1HRZ2WeTaAkXPwfgpxSzcdWPw,14699
154
+ veadk/tools/builtin_tools/video_generate.py,sha256=hlvwoLESUV8vOPiNFVNPF0ithWqH7N5c6ElMvyI-lBM,16101
152
155
  veadk/tools/builtin_tools/web_scraper.py,sha256=iVnxWVf2mVgOnEOeQ6Bg5ATYN-g1ZPCTK6VJm710be0,2408
153
156
  veadk/tools/builtin_tools/web_search.py,sha256=1DtdhlcxolzIvx2TyqvUNWk60BHMuLkcru8Wlw3XBtQ,6016
154
157
  veadk/tools/sandbox/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
@@ -174,12 +177,12 @@ veadk/tracing/telemetry/exporters/tls_exporter.py,sha256=YODDfqZJKq3SiuDqxjERuJo
174
177
  veadk/utils/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
175
178
  veadk/utils/logger.py,sha256=e4swzeXa-qZ1U2-TDBtfKOurzy4_6t4qPJR9yngNfVg,1605
176
179
  veadk/utils/mcp_utils.py,sha256=aET7pX3LXmRe2-Jh7_xRvxrVyl1dN7uPAUk16luwMlQ,1525
177
- veadk/utils/misc.py,sha256=F-EP-12eh7PHRz2rDCvdG29Kj2DmKoBc9Hik9_RwMpo,5147
180
+ veadk/utils/misc.py,sha256=ghEqrqoDfKrW9ZD3IB0bwcfyyB0gRWN2yEP9eRxQ4nE,4953
178
181
  veadk/utils/patches.py,sha256=dcHdlJ8IciyMjDuMy6-_6McUqJYyLz0yHmJ0xH8lWOw,2752
179
- veadk/utils/volcengine_sign.py,sha256=KJ5-2wRNd7RloxiI47NiwDnVh3VvGYHjRLgaTpovBbU,6623
180
- veadk_python-0.2.10.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
181
- veadk_python-0.2.10.dist-info/METADATA,sha256=k9B8Vi1FMGOZ7V6r7NqzylQlD5_xkEUI1h3JbAsxWmE,18397
182
- veadk_python-0.2.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
183
- veadk_python-0.2.10.dist-info/entry_points.txt,sha256=-g28D6dNV-2UvAiRP9VF0oOVSDSJ5zlLUIZ34ArAqF8,46
184
- veadk_python-0.2.10.dist-info/top_level.txt,sha256=Qqi3ycJ4anKiZWBXtUBIy8zK9ZuXJsFa05oFq8O8qqY,6
185
- veadk_python-0.2.10.dist-info/RECORD,,
182
+ veadk/utils/volcengine_sign.py,sha256=3xn6ca2OAg_AFyP2dqFTSioqkeDel_BoKURUtCcO-EQ,6736
183
+ veadk_python-0.2.12.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
184
+ veadk_python-0.2.12.dist-info/METADATA,sha256=yucua-pOLLODTgl43PDkHes4ZNkn2pRRRGyRw1J-x2Q,18428
185
+ veadk_python-0.2.12.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
186
+ veadk_python-0.2.12.dist-info/entry_points.txt,sha256=-g28D6dNV-2UvAiRP9VF0oOVSDSJ5zlLUIZ34ArAqF8,46
187
+ veadk_python-0.2.12.dist-info/top_level.txt,sha256=Qqi3ycJ4anKiZWBXtUBIy8zK9ZuXJsFa05oFq8O8qqY,6
188
+ veadk_python-0.2.12.dist-info/RECORD,,