veadk-python 0.2.35__tar.gz → 0.5.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 (266) hide show
  1. {veadk_python-0.2.35 → veadk_python-0.5.1}/PKG-INFO +2 -2
  2. {veadk_python-0.2.35 → veadk_python-0.5.1}/pyproject.toml +2 -3
  3. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/agent.py +98 -14
  4. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/configs/database_configs.py +4 -0
  5. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/requirements.txt +2 -2
  6. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_viking_db_memory/ve_viking_db_memory.py +51 -14
  7. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/knowledgebase/backends/opensearch_backend.py +17 -3
  8. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/knowledgebase/backends/vikingdb_knowledge_backend.py +9 -1
  9. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/long_term_memory_backends/opensearch_backend.py +12 -3
  10. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py +20 -7
  11. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/short_term_memory.py +21 -0
  12. veadk_python-0.5.1/veadk/models/ark_llm.py +252 -0
  13. veadk_python-0.5.1/veadk/models/ark_transform.py +397 -0
  14. veadk_python-0.5.1/veadk/prompts/prompt_manager.py +79 -0
  15. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/image_generate.py +16 -18
  16. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/llm_shield.py +40 -25
  17. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/web_search.py +6 -1
  18. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/utils/misc.py +31 -0
  19. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/version.py +1 -1
  20. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk_python.egg-info/PKG-INFO +2 -2
  21. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk_python.egg-info/SOURCES.txt +3 -0
  22. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk_python.egg-info/requires.txt +1 -1
  23. {veadk_python-0.2.35 → veadk_python-0.5.1}/LICENSE +0 -0
  24. {veadk_python-0.2.35 → veadk_python-0.5.1}/README.md +0 -0
  25. {veadk_python-0.2.35 → veadk_python-0.5.1}/setup.cfg +0 -0
  26. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_agent.py +0 -0
  27. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_cloud.py +0 -0
  28. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_evaluator.py +0 -0
  29. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_knowledgebase.py +0 -0
  30. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_long_term_memory.py +0 -0
  31. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_misc.py +0 -0
  32. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_multiple_agents.py +0 -0
  33. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_runner.py +0 -0
  34. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_runtime_data_collecting.py +0 -0
  35. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_short_term_memory.py +0 -0
  36. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_tracing.py +0 -0
  37. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_ve_a2a_middlewares.py +0 -0
  38. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_ve_identity_auth_config.py +0 -0
  39. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_ve_identity_function_tool.py +0 -0
  40. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_ve_identity_mcp_tool.py +0 -0
  41. {veadk_python-0.2.35 → veadk_python-0.5.1}/tests/test_ve_identity_mcp_toolset.py +0 -0
  42. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/__init__.py +0 -0
  43. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/a2a/__init__.py +0 -0
  44. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/a2a/agent_card.py +0 -0
  45. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/a2a/remote_ve_agent.py +0 -0
  46. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/a2a/utils/__init__.py +0 -0
  47. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/a2a/utils/agent_to_a2a.py +0 -0
  48. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/a2a/ve_a2a_server.py +0 -0
  49. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/a2a/ve_agent_executor.py +0 -0
  50. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/a2a/ve_middlewares.py +0 -0
  51. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/a2a/ve_task_store.py +0 -0
  52. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/agent_builder.py +0 -0
  53. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/agents/loop_agent.py +0 -0
  54. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/agents/parallel_agent.py +0 -0
  55. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/agents/sequential_agent.py +0 -0
  56. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/auth/__init__.py +0 -0
  57. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/auth/base_auth.py +0 -0
  58. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/auth/ve_credential_service.py +0 -0
  59. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/auth/veauth/__init__.py +0 -0
  60. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/auth/veauth/apmplus_veauth.py +0 -0
  61. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/auth/veauth/ark_veauth.py +0 -0
  62. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/auth/veauth/base_veauth.py +0 -0
  63. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/auth/veauth/cozeloop_veauth.py +0 -0
  64. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/auth/veauth/opensearch_veauth.py +0 -0
  65. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/auth/veauth/postgresql_veauth.py +0 -0
  66. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/auth/veauth/prompt_pilot_veauth.py +0 -0
  67. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/auth/veauth/speech_veauth.py +0 -0
  68. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/auth/veauth/utils.py +0 -0
  69. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/auth/veauth/vesearch_veauth.py +0 -0
  70. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/auth/veauth/viking_mem0_veauth.py +0 -0
  71. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/__init__.py +0 -0
  72. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/cli.py +0 -0
  73. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/cli_agentkit.py +0 -0
  74. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/cli_clean.py +0 -0
  75. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/cli_create.py +0 -0
  76. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/cli_deploy.py +0 -0
  77. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/cli_eval.py +0 -0
  78. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/cli_init.py +0 -0
  79. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/cli_kb.py +0 -0
  80. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/cli_pipeline.py +0 -0
  81. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/cli_prompt.py +0 -0
  82. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/cli_rl.py +0 -0
  83. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/cli_update.py +0 -0
  84. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/cli_uploadevalset.py +0 -0
  85. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/cli_web.py +0 -0
  86. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/templates/rl/ark/README.md +0 -0
  87. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/templates/rl/ark/arkworkspace.toml +0 -0
  88. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/templates/rl/ark/data/demo_dataset.jsonl +0 -0
  89. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/templates/rl/ark/job.py +0 -0
  90. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/templates/rl/ark/job.yaml +0 -0
  91. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/templates/rl/ark/plugins/random_reward.py +0 -0
  92. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/templates/rl/ark/plugins/raw_async_veadk_rollout.py +0 -0
  93. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/templates/rl/ark/plugins/test_utils.py +0 -0
  94. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/templates/rl/ark/requirements.txt +0 -0
  95. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cli/templates/rl/ark/test_faas.py +0 -0
  96. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cloud/__init__.py +0 -0
  97. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cloud/cloud_agent_engine.py +0 -0
  98. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/cloud/cloud_app.py +0 -0
  99. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/config.py +0 -0
  100. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/configs/__init__.py +0 -0
  101. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/configs/auth_configs.py +0 -0
  102. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/configs/model_configs.py +0 -0
  103. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/configs/tool_configs.py +0 -0
  104. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/configs/tracing_configs.py +0 -0
  105. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/consts.py +0 -0
  106. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/evaluation/__init__.py +0 -0
  107. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/evaluation/adk_evaluator/__init__.py +0 -0
  108. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/evaluation/adk_evaluator/adk_evaluator.py +0 -0
  109. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/evaluation/base_evaluator.py +0 -0
  110. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/evaluation/deepeval_evaluator/__init__.py +0 -0
  111. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py +0 -0
  112. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/evaluation/eval_set_file_loader.py +0 -0
  113. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/evaluation/eval_set_recorder.py +0 -0
  114. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/evaluation/types.py +0 -0
  115. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/evaluation/utils/prometheus.py +0 -0
  116. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/__init__.py +0 -0
  117. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_apig/__init__.py +0 -0
  118. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_apig/ve_apig.py +0 -0
  119. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_apig/ve_apig_utils.py +0 -0
  120. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_code_pipeline/__init__.py +0 -0
  121. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_code_pipeline/ve_code_pipeline.py +0 -0
  122. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_cozeloop/__init__.py +0 -0
  123. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_cozeloop/ve_cozeloop.py +0 -0
  124. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_cr/__init__.py +0 -0
  125. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_cr/ve_cr.py +0 -0
  126. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/__init__.py +0 -0
  127. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/template/cookiecutter.json +0 -0
  128. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/__init__.py +0 -0
  129. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
  130. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
  131. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
  132. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/__init__.py +0 -0
  133. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/agent.py +0 -0
  134. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
  135. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/requirements.txt +0 -0
  136. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
  137. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/__init__.py +0 -0
  138. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/agent.py +0 -0
  139. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/ve_faas.py +0 -0
  140. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/ve_faas_utils.py +0 -0
  141. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/cookiecutter.json +0 -0
  142. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/__init__.py +0 -0
  143. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
  144. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
  145. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
  146. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/Dockerfile +0 -0
  147. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
  148. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/init_db.py +0 -0
  149. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/models.py +0 -0
  150. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
  151. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/css/style.css +0 -0
  152. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/js/admin.js +0 -0
  153. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/dashboard.html +0 -0
  154. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/edit_post.html +0 -0
  155. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/login.html +0 -0
  156. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/posts.html +0 -0
  157. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/base.html +0 -0
  158. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/index.html +0 -0
  159. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/post.html +0 -0
  160. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_identity/__init__.py +0 -0
  161. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_identity/auth_config.py +0 -0
  162. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_identity/auth_mixins.py +0 -0
  163. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_identity/auth_processor.py +0 -0
  164. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_identity/function_tool.py +0 -0
  165. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_identity/identity_client.py +0 -0
  166. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_identity/mcp_tool.py +0 -0
  167. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_identity/mcp_toolset.py +0 -0
  168. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_identity/models.py +0 -0
  169. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_identity/token_manager.py +0 -0
  170. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_identity/utils.py +0 -0
  171. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_prompt_pilot/__init__.py +0 -0
  172. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_prompt_pilot/ve_prompt_pilot.py +0 -0
  173. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_tls/__init__.py +0 -0
  174. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_tls/utils.py +0 -0
  175. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_tls/ve_tls.py +0 -0
  176. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_tos/ve_tos.py +0 -0
  177. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/integrations/ve_viking_db_memory/__init__.py +0 -0
  178. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/knowledgebase/__init__.py +0 -0
  179. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/knowledgebase/backends/__init__.py +0 -0
  180. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/knowledgebase/backends/base_backend.py +0 -0
  181. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/knowledgebase/backends/in_memory_backend.py +0 -0
  182. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/knowledgebase/backends/redis_backend.py +0 -0
  183. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/knowledgebase/backends/tos_vector_backend.py +0 -0
  184. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/knowledgebase/backends/utils.py +0 -0
  185. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/knowledgebase/entry.py +0 -0
  186. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/knowledgebase/knowledgebase.py +0 -0
  187. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/__init__.py +0 -0
  188. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/long_term_memory.py +0 -0
  189. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/long_term_memory_backends/__init__.py +0 -0
  190. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/long_term_memory_backends/base_backend.py +0 -0
  191. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/long_term_memory_backends/in_memory_backend.py +0 -0
  192. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/long_term_memory_backends/mem0_backend.py +0 -0
  193. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/long_term_memory_backends/redis_backend.py +0 -0
  194. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/short_term_memory_backends/__init__.py +0 -0
  195. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/short_term_memory_backends/base_backend.py +0 -0
  196. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/short_term_memory_backends/mysql_backend.py +0 -0
  197. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/short_term_memory_backends/postgresql_backend.py +0 -0
  198. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/short_term_memory_backends/sqlite_backend.py +0 -0
  199. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/memory/short_term_memory_processor.py +0 -0
  200. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/processors/__init__.py +0 -0
  201. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/processors/base_run_processor.py +0 -0
  202. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/prompts/__init__.py +0 -0
  203. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/prompts/agent_default_prompt.py +0 -0
  204. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/prompts/prompt_evaluator.py +0 -0
  205. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/prompts/prompt_memory_processor.py +0 -0
  206. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/prompts/prompt_optimization.py +0 -0
  207. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/realtime/__init__.py +0 -0
  208. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/realtime/client.py +0 -0
  209. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/realtime/doubao_realtime_voice_llm.py +0 -0
  210. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/realtime/doubao_realtime_voice_llm_connection.py +0 -0
  211. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/realtime/live.py +0 -0
  212. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/realtime/protocol.py +0 -0
  213. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/runner.py +0 -0
  214. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/__init__.py +0 -0
  215. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/__init__.py +0 -0
  216. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/agent_authorization.py +0 -0
  217. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/execute_skills.py +0 -0
  218. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/generate_image.py +0 -0
  219. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/image_edit.py +0 -0
  220. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/lark.py +0 -0
  221. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/las.py +0 -0
  222. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/link_reader.py +0 -0
  223. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/load_knowledgebase.py +0 -0
  224. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/mcp_router.py +0 -0
  225. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/mobile_run.py +0 -0
  226. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/run_code.py +0 -0
  227. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/tts.py +0 -0
  228. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/vesearch.py +0 -0
  229. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/video_generate.py +0 -0
  230. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/builtin_tools/web_scraper.py +0 -0
  231. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/demo_tools.py +0 -0
  232. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/load_knowledgebase_tool.py +0 -0
  233. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/mcp_tool/__init__.py +0 -0
  234. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/mcp_tool/trusted_mcp_session_manager.py +0 -0
  235. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/mcp_tool/trusted_mcp_toolset.py +0 -0
  236. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/sandbox/__init__.py +0 -0
  237. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/sandbox/browser_sandbox.py +0 -0
  238. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/sandbox/code_sandbox.py +0 -0
  239. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tools/sandbox/computer_sandbox.py +0 -0
  240. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/__init__.py +0 -0
  241. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/base_tracer.py +0 -0
  242. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/telemetry/__init__.py +0 -0
  243. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/telemetry/attributes/attributes.py +0 -0
  244. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/telemetry/attributes/extractors/common_attributes_extractors.py +0 -0
  245. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/telemetry/attributes/extractors/llm_attributes_extractors.py +0 -0
  246. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/telemetry/attributes/extractors/tool_attributes_extractors.py +0 -0
  247. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/telemetry/attributes/extractors/types.py +0 -0
  248. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/telemetry/exporters/__init__.py +0 -0
  249. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/telemetry/exporters/apmplus_exporter.py +0 -0
  250. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/telemetry/exporters/base_exporter.py +0 -0
  251. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/telemetry/exporters/cozeloop_exporter.py +0 -0
  252. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/telemetry/exporters/inmemory_exporter.py +0 -0
  253. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/telemetry/exporters/tls_exporter.py +0 -0
  254. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/telemetry/opentelemetry_tracer.py +0 -0
  255. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/tracing/telemetry/telemetry.py +0 -0
  256. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/types.py +0 -0
  257. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/utils/__init__.py +0 -0
  258. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/utils/audio_manager.py +0 -0
  259. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/utils/auth.py +0 -0
  260. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/utils/logger.py +0 -0
  261. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/utils/mcp_utils.py +0 -0
  262. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/utils/patches.py +0 -0
  263. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk/utils/volcengine_sign.py +0 -0
  264. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk_python.egg-info/dependency_links.txt +0 -0
  265. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk_python.egg-info/entry_points.txt +0 -0
  266. {veadk_python-0.2.35 → veadk_python-0.5.1}/veadk_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: veadk-python
3
- Version: 0.2.35
3
+ Version: 0.5.1
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
@@ -236,7 +236,7 @@ Requires-Dist: aiomysql==0.3.2
236
236
  Requires-Dist: opensearch-py==2.8.0
237
237
  Requires-Dist: filetype==1.2.0
238
238
  Requires-Dist: vikingdb-python-sdk==0.1.3
239
- Requires-Dist: agentkit-sdk-python==0.2.0
239
+ Requires-Dist: agentkit-sdk-python>=0.2.0
240
240
  Provides-Extra: extensions
241
241
  Requires-Dist: redis>=5.0; extra == "extensions"
242
242
  Requires-Dist: tos>=2.8.4; extra == "extensions"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "veadk-python"
3
- version = "0.2.35"
3
+ version = "0.5.1"
4
4
  description = "Volcengine agent development kit, integrations with Volcengine cloud services."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -40,7 +40,7 @@ dependencies = [
40
40
  "opensearch-py==2.8.0",
41
41
  "filetype==1.2.0",
42
42
  "vikingdb-python-sdk==0.1.3",
43
- "agentkit-sdk-python==0.2.0"
43
+ "agentkit-sdk-python>=0.2.0"
44
44
  ]
45
45
 
46
46
  [project.scripts]
@@ -73,7 +73,6 @@ dev = [
73
73
  "pytest-xdist>=3.8.0",
74
74
  ]
75
75
 
76
-
77
76
  [dependency-groups]
78
77
  dev = [
79
78
  "pre-commit>=4.2.0", # Format checking
@@ -15,7 +15,7 @@
15
15
  from __future__ import annotations
16
16
 
17
17
  import os
18
- from typing import Optional, Union
18
+ from typing import Optional, Union, AsyncGenerator
19
19
 
20
20
  # If user didn't set LITELLM_LOCAL_MODEL_COST_MAP, set it to True
21
21
  # to enable local model cost map.
@@ -24,10 +24,12 @@ from typing import Optional, Union
24
24
  if not os.getenv("LITELLM_LOCAL_MODEL_COST_MAP"):
25
25
  os.environ["LITELLM_LOCAL_MODEL_COST_MAP"] = "True"
26
26
 
27
- from google.adk.agents import LlmAgent, RunConfig
27
+ from google.adk.agents import LlmAgent, RunConfig, InvocationContext
28
28
  from google.adk.agents.base_agent import BaseAgent
29
+ from google.adk.agents.context_cache_config import ContextCacheConfig
29
30
  from google.adk.agents.llm_agent import InstructionProvider, ToolUnion
30
31
  from google.adk.agents.run_config import StreamingMode
32
+ from google.adk.events import Event, EventActions
31
33
  from google.adk.models.lite_llm import LiteLlm
32
34
  from google.adk.runners import Runner
33
35
  from google.genai import types
@@ -44,10 +46,15 @@ from veadk.knowledgebase import KnowledgeBase
44
46
  from veadk.memory.long_term_memory import LongTermMemory
45
47
  from veadk.memory.short_term_memory import ShortTermMemory
46
48
  from veadk.processors import BaseRunProcessor, NoOpRunProcessor
47
- from veadk.prompts.agent_default_prompt import DEFAULT_DESCRIPTION, DEFAULT_INSTRUCTION
49
+ from veadk.prompts.agent_default_prompt import (
50
+ DEFAULT_DESCRIPTION,
51
+ DEFAULT_INSTRUCTION,
52
+ )
53
+ from veadk.prompts.prompt_manager import BasePromptManager
48
54
  from veadk.tracing.base_tracer import BaseTracer
49
55
  from veadk.utils.logger import get_logger
50
56
  from veadk.utils.patches import patch_asyncio, patch_tracer
57
+ from veadk.utils.misc import check_litellm_version
51
58
  from veadk.version import VERSION
52
59
 
53
60
  patch_tracer()
@@ -67,7 +74,7 @@ class Agent(LlmAgent):
67
74
  name (str): The name of the agent.
68
75
  description (str): A description of the agent, useful in A2A scenarios.
69
76
  instruction (Union[str, InstructionProvider]): The instruction or instruction provider.
70
- model_name (str): Name of the model used by the agent.
77
+ model_name (Union[str, List[str]]): Name of the model used by the agent.
71
78
  model_provider (str): Provider of the model (e.g., openai).
72
79
  model_api_base (str): The base URL of the model API.
73
80
  model_api_key (str): The API key for accessing the model.
@@ -86,7 +93,9 @@ class Agent(LlmAgent):
86
93
  description: str = DEFAULT_DESCRIPTION
87
94
  instruction: Union[str, InstructionProvider] = DEFAULT_INSTRUCTION
88
95
 
89
- model_name: str = Field(default_factory=lambda: settings.model.name)
96
+ model_name: Union[str, list[str]] = Field(
97
+ default_factory=lambda: settings.model.name
98
+ )
90
99
  model_provider: str = Field(default_factory=lambda: settings.model.provider)
91
100
  model_api_base: str = Field(default_factory=lambda: settings.model.api_base)
92
101
  model_api_key: str = Field(default_factory=lambda: settings.model.api_key)
@@ -96,6 +105,8 @@ class Agent(LlmAgent):
96
105
 
97
106
  sub_agents: list[BaseAgent] = Field(default_factory=list, exclude=True)
98
107
 
108
+ prompt_manager: Optional[BasePromptManager] = None
109
+
99
110
  knowledgebase: Optional[KnowledgeBase] = None
100
111
 
101
112
  short_term_memory: Optional[ShortTermMemory] = None
@@ -103,6 +114,10 @@ class Agent(LlmAgent):
103
114
 
104
115
  tracers: list[BaseTracer] = []
105
116
 
117
+ enable_responses: bool = False
118
+
119
+ context_cache_config: Optional[ContextCacheConfig] = None
120
+
106
121
  run_processor: Optional[BaseRunProcessor] = Field(default=None, exclude=True)
107
122
  """Optional run processor for intercepting and processing agent execution flows.
108
123
 
@@ -151,12 +166,50 @@ class Agent(LlmAgent):
151
166
  logger.info(f"Model extra config: {self.model_extra_config}")
152
167
 
153
168
  if not self.model:
154
- self.model = LiteLlm(
155
- model=f"{self.model_provider}/{self.model_name}",
156
- api_key=self.model_api_key,
157
- api_base=self.model_api_base,
158
- **self.model_extra_config,
159
- )
169
+ if self.enable_responses:
170
+ min_version = "1.79.3"
171
+ check_litellm_version(min_version)
172
+
173
+ from veadk.models.ark_llm import ArkLlm
174
+
175
+ self.model = ArkLlm(
176
+ model=f"{self.model_provider}/{self.model_name}",
177
+ api_key=self.model_api_key,
178
+ api_base=self.model_api_base,
179
+ **self.model_extra_config,
180
+ )
181
+ if not self.context_cache_config:
182
+ self.context_cache_config = ContextCacheConfig(
183
+ cache_intervals=100, # maximum number
184
+ ttl_seconds=315360000,
185
+ min_tokens=0,
186
+ )
187
+ else:
188
+ fallbacks = None
189
+ if isinstance(self.model_name, list):
190
+ if self.model_name:
191
+ model_name = self.model_name[0]
192
+ fallbacks = [
193
+ f"{self.model_provider}/{m}" for m in self.model_name[1:]
194
+ ]
195
+ logger.info(
196
+ f"Using primary model: {model_name}, with fallbacks: {self.model_name[1:]}"
197
+ )
198
+ else:
199
+ model_name = settings.model.name
200
+ logger.warning(
201
+ f"Empty model_name list provided, using default model from settings: {model_name}"
202
+ )
203
+ else:
204
+ model_name = self.model_name
205
+
206
+ self.model = LiteLlm(
207
+ model=f"{self.model_provider}/{model_name}",
208
+ api_key=self.model_api_key,
209
+ api_base=self.model_api_base,
210
+ fallbacks=fallbacks,
211
+ **self.model_extra_config,
212
+ )
160
213
  logger.debug(
161
214
  f"LiteLLM client created with config: {self.model_extra_config}"
162
215
  )
@@ -202,6 +255,9 @@ class Agent(LlmAgent):
202
255
  else:
203
256
  self.before_agent_callback = check_agent_authorization
204
257
 
258
+ if self.prompt_manager:
259
+ self.instruction = self.prompt_manager.get_prompt
260
+
205
261
  logger.info(f"VeADK version: {VERSION}")
206
262
 
207
263
  logger.info(f"{self.__class__.__name__} `{self.name}` init done.")
@@ -209,6 +265,28 @@ class Agent(LlmAgent):
209
265
  f"Agent: {self.model_dump(include={'name', 'model_name', 'model_api_base', 'tools'})}"
210
266
  )
211
267
 
268
+ async def _run_async_impl(
269
+ self, ctx: InvocationContext
270
+ ) -> AsyncGenerator[Event, None]:
271
+ if self.enable_responses:
272
+ if not ctx.context_cache_config:
273
+ ctx.context_cache_config = self.context_cache_config
274
+
275
+ async for event in super()._run_async_impl(ctx):
276
+ yield event
277
+ if self.enable_responses and event.cache_metadata:
278
+ # for persistent short-term memory with response api
279
+ session_state_event = Event(
280
+ invocation_id=event.invocation_id,
281
+ author=event.author,
282
+ actions=EventActions(
283
+ state_delta={
284
+ "response_id": event.cache_metadata.cache_name,
285
+ }
286
+ ),
287
+ )
288
+ yield session_state_event
289
+
212
290
  async def _run(
213
291
  self,
214
292
  runner,
@@ -274,14 +352,20 @@ class Agent(LlmAgent):
274
352
  return
275
353
 
276
354
  if not self.tracers:
277
- from veadk.tracing.telemetry.opentelemetry_tracer import OpentelemetryTracer
355
+ from veadk.tracing.telemetry.opentelemetry_tracer import (
356
+ OpentelemetryTracer,
357
+ )
278
358
 
279
359
  self.tracers.append(OpentelemetryTracer())
280
360
 
281
361
  exporters = self.tracers[0].exporters # type: ignore
282
362
 
283
- from veadk.tracing.telemetry.exporters.apmplus_exporter import APMPlusExporter
284
- from veadk.tracing.telemetry.exporters.cozeloop_exporter import CozeloopExporter
363
+ from veadk.tracing.telemetry.exporters.apmplus_exporter import (
364
+ APMPlusExporter,
365
+ )
366
+ from veadk.tracing.telemetry.exporters.cozeloop_exporter import (
367
+ CozeloopExporter,
368
+ )
285
369
  from veadk.tracing.telemetry.exporters.tls_exporter import TLSExporter
286
370
 
287
371
  if enable_apmplus_tracer and not any(
@@ -28,6 +28,10 @@ class OpensearchConfig(BaseSettings):
28
28
 
29
29
  port: int = 9200
30
30
 
31
+ cert_path: str = ""
32
+
33
+ use_ssl: bool = True
34
+
31
35
  username: str = ""
32
36
 
33
37
  password: str = ""
@@ -1,4 +1,4 @@
1
1
  Flask==2.3.2
2
2
  Flask-SQLAlchemy==3.0.5
3
- Werkzeug==2.3.6
4
- gunicorn==20.1.0
3
+ werkzeug>=3.1.4
4
+ gunicorn>=22.0.0
@@ -13,14 +13,17 @@
13
13
  # limitations under the License.
14
14
 
15
15
  import json
16
+ import os
16
17
  import threading
17
- from veadk.utils.misc import getenv
18
+
18
19
  from volcengine.ApiInfo import ApiInfo
19
20
  from volcengine.auth.SignerV4 import SignerV4
20
21
  from volcengine.base.Service import Service
21
22
  from volcengine.Credentials import Credentials
22
23
  from volcengine.ServiceInfo import ServiceInfo
23
24
 
25
+ from veadk.utils.misc import getenv
26
+
24
27
 
25
28
  class VikingDBMemoryException(Exception):
26
29
  def __init__(self, code, request_id, message=None):
@@ -56,7 +59,9 @@ class VikingDBMemoryClient(Service):
56
59
  socket_timeout=30,
57
60
  ):
58
61
  env_host = getenv(
59
- "DATABASE_VIKINGMEM_BASE_URL", default_value=None, allow_false_values=True
62
+ "DATABASE_VIKINGMEM_BASE_URL",
63
+ default_value=None,
64
+ allow_false_values=True,
60
65
  )
61
66
  if env_host:
62
67
  if env_host.startswith("http://"):
@@ -85,7 +90,9 @@ class VikingDBMemoryClient(Service):
85
90
  self.get_body("Ping", {}, json.dumps({}))
86
91
  except Exception as e:
87
92
  raise VikingDBMemoryException(
88
- 1000028, "missed", "host or region is incorrect: {}".format(str(e))
93
+ 1000028,
94
+ "missed",
95
+ "host or region is incorrect: {}".format(str(e)),
89
96
  ) from None
90
97
 
91
98
  def setHeader(self, header):
@@ -118,49 +125,70 @@ class VikingDBMemoryClient(Service):
118
125
  "/api/memory/collection/create",
119
126
  {},
120
127
  {},
121
- {"Accept": "application/json", "Content-Type": "application/json"},
128
+ {
129
+ "Accept": "application/json",
130
+ "Content-Type": "application/json",
131
+ },
122
132
  ),
123
133
  "GetCollection": ApiInfo(
124
134
  "POST",
125
135
  "/api/memory/collection/info",
126
136
  {},
127
137
  {},
128
- {"Accept": "application/json", "Content-Type": "application/json"},
138
+ {
139
+ "Accept": "application/json",
140
+ "Content-Type": "application/json",
141
+ },
129
142
  ),
130
143
  "DropCollection": ApiInfo(
131
144
  "POST",
132
145
  "/api/memory/collection/delete",
133
146
  {},
134
147
  {},
135
- {"Accept": "application/json", "Content-Type": "application/json"},
148
+ {
149
+ "Accept": "application/json",
150
+ "Content-Type": "application/json",
151
+ },
136
152
  ),
137
153
  "UpdateCollection": ApiInfo(
138
154
  "POST",
139
155
  "/api/memory/collection/update",
140
156
  {},
141
157
  {},
142
- {"Accept": "application/json", "Content-Type": "application/json"},
158
+ {
159
+ "Accept": "application/json",
160
+ "Content-Type": "application/json",
161
+ },
143
162
  ),
144
163
  "SearchMemory": ApiInfo(
145
164
  "POST",
146
165
  "/api/memory/search",
147
166
  {},
148
167
  {},
149
- {"Accept": "application/json", "Content-Type": "application/json"},
168
+ {
169
+ "Accept": "application/json",
170
+ "Content-Type": "application/json",
171
+ },
150
172
  ),
151
173
  "AddMessages": ApiInfo(
152
174
  "POST",
153
175
  "/api/memory/messages/add",
154
176
  {},
155
177
  {},
156
- {"Accept": "application/json", "Content-Type": "application/json"},
178
+ {
179
+ "Accept": "application/json",
180
+ "Content-Type": "application/json",
181
+ },
157
182
  ),
158
183
  "Ping": ApiInfo(
159
184
  "GET",
160
185
  "/api/memory/ping",
161
186
  {},
162
187
  {},
163
- {"Accept": "application/json", "Content-Type": "application/json"},
188
+ {
189
+ "Accept": "application/json",
190
+ "Content-Type": "application/json",
191
+ },
164
192
  ),
165
193
  }
166
194
  return api_info
@@ -199,7 +227,9 @@ class VikingDBMemoryClient(Service):
199
227
  res_json = json.loads(e.args[0].decode("utf-8"))
200
228
  except Exception as e:
201
229
  raise VikingDBMemoryException(
202
- 1000028, "missed", "json load res error, res:{}".format(str(e))
230
+ 1000028,
231
+ "missed",
232
+ "json load res error, res:{}".format(str(e)),
203
233
  ) from None
204
234
  code = res_json.get("code", 1000028)
205
235
  request_id = res_json.get("request_id", 1000028)
@@ -223,7 +253,9 @@ class VikingDBMemoryClient(Service):
223
253
  res_json = json.loads(e.args[0].decode("utf-8"))
224
254
  except Exception as e:
225
255
  raise VikingDBMemoryException(
226
- 1000028, "missed", "json load res error, res:{}".format(str(e))
256
+ 1000028,
257
+ "missed",
258
+ "json load res error, res:{}".format(str(e)),
227
259
  ) from None
228
260
  code = res_json.get("code", 1000028)
229
261
  request_id = res_json.get("request_id", 1000028)
@@ -241,6 +273,7 @@ class VikingDBMemoryClient(Service):
241
273
  self,
242
274
  collection_name,
243
275
  description="",
276
+ project="default",
244
277
  custom_event_type_schemas=[],
245
278
  custom_entity_type_schemas=[],
246
279
  builtin_event_types=[],
@@ -248,6 +281,10 @@ class VikingDBMemoryClient(Service):
248
281
  ):
249
282
  params = {
250
283
  "CollectionName": collection_name,
284
+ "ProjectName": project,
285
+ "CollectionType": os.getenv(
286
+ "DATABASE_VIKINGMEM_COLLECTION_TYPE", "standard"
287
+ ),
251
288
  "Description": description,
252
289
  "CustomEventTypeSchemas": custom_event_type_schemas,
253
290
  "CustomEntityTypeSchemas": custom_entity_type_schemas,
@@ -257,8 +294,8 @@ class VikingDBMemoryClient(Service):
257
294
  res = self.json("CreateCollection", {}, json.dumps(params))
258
295
  return json.loads(res)
259
296
 
260
- def get_collection(self, collection_name):
261
- params = {"CollectionName": collection_name}
297
+ def get_collection(self, collection_name, project="default"):
298
+ params = {"CollectionName": collection_name, "ProjectName": project}
262
299
  res = self.json("GetCollection", {}, json.dumps(params))
263
300
  return json.loads(res)
264
301
 
@@ -27,9 +27,13 @@ from typing_extensions import Any, override
27
27
 
28
28
  import veadk.config # noqa E401
29
29
  from veadk.configs.database_configs import OpensearchConfig
30
- from veadk.configs.model_configs import EmbeddingModelConfig, NormalEmbeddingModelConfig
30
+ from veadk.configs.model_configs import (
31
+ EmbeddingModelConfig,
32
+ NormalEmbeddingModelConfig,
33
+ )
31
34
  from veadk.knowledgebase.backends.base_backend import BaseKnowledgebaseBackend
32
35
  from veadk.knowledgebase.backends.utils import get_llama_index_splitter
36
+ from veadk.utils.logger import get_logger
33
37
 
34
38
  try:
35
39
  from llama_index.vector_stores.opensearch import (
@@ -42,6 +46,9 @@ except ImportError:
42
46
  )
43
47
 
44
48
 
49
+ logger = get_logger(__name__)
50
+
51
+
45
52
  class OpensearchKnowledgeBackend(BaseKnowledgebaseBackend):
46
53
  """Opensearch-based backend for knowledgebase.
47
54
 
@@ -79,6 +86,12 @@ class OpensearchKnowledgeBackend(BaseKnowledgebaseBackend):
79
86
 
80
87
  def model_post_init(self, __context: Any) -> None:
81
88
  self.precheck_index_naming()
89
+
90
+ if not self.opensearch_config.cert_path:
91
+ logger.warning(
92
+ "OpenSearch cert_path is not set, which may lead to security risks"
93
+ )
94
+
82
95
  self._opensearch_client = OpensearchVectorClient(
83
96
  endpoint=self.opensearch_config.host,
84
97
  port=self.opensearch_config.port,
@@ -86,8 +99,9 @@ class OpensearchKnowledgeBackend(BaseKnowledgebaseBackend):
86
99
  self.opensearch_config.username,
87
100
  self.opensearch_config.password,
88
101
  ),
89
- use_ssl=True,
90
- verify_certs=False,
102
+ use_ssl=self.opensearch_config.use_ssl,
103
+ verify_certs=False if not self.opensearch_config.cert_path else True,
104
+ ca_certs=self.opensearch_config.cert_path,
91
105
  dim=self.embedding_config.dim,
92
106
  index=self.index, # collection name
93
107
  )
@@ -117,6 +117,10 @@ class VikingDBKnowledgeBackend(BaseKnowledgebaseBackend):
117
117
  default_factory=lambda: os.getenv("DATABASE_VIKING_PROJECT", "default")
118
118
  )
119
119
 
120
+ version: str = Field(
121
+ default_factory=lambda: os.getenv("DATABASE_VIKING_VERSION", "2")
122
+ )
123
+
120
124
  region: str = Field(
121
125
  default_factory=lambda: os.getenv("DATABASE_VIKING_REGION", "cn-beijing")
122
126
  )
@@ -457,12 +461,16 @@ class VikingDBKnowledgeBackend(BaseKnowledgebaseBackend):
457
461
 
458
462
  def create_collection(self) -> None:
459
463
  CREATE_COLLECTION_PATH = "/api/knowledge/collection/create"
460
-
464
+ if self.version not in ["2", "4"]:
465
+ raise ValueError(
466
+ f"The version number must be 2 or 4. The current value: {self.version}. For details, please refer to: `https://www.volcengine.com/docs/84313/1254593?lang=zh`"
467
+ )
461
468
  response = self._do_request(
462
469
  body={
463
470
  "name": self.index,
464
471
  "project": self.volcengine_project,
465
472
  "description": "Created by Volcengine Agent Development Kit (VeADK).",
473
+ "version": int(self.version),
466
474
  },
467
475
  path=CREATE_COLLECTION_PATH,
468
476
  method="POST",
@@ -22,7 +22,10 @@ from typing_extensions import Any, override
22
22
 
23
23
  import veadk.config # noqa E401
24
24
  from veadk.configs.database_configs import OpensearchConfig
25
- from veadk.configs.model_configs import EmbeddingModelConfig, NormalEmbeddingModelConfig
25
+ from veadk.configs.model_configs import (
26
+ EmbeddingModelConfig,
27
+ NormalEmbeddingModelConfig,
28
+ )
26
29
  from veadk.knowledgebase.backends.utils import get_llama_index_splitter
27
30
  from veadk.memory.long_term_memory_backends.base_backend import (
28
31
  BaseLongTermMemoryBackend,
@@ -74,6 +77,11 @@ class OpensearchLTMBackend(BaseLongTermMemoryBackend):
74
77
 
75
78
  self.precheck_index_naming(index)
76
79
 
80
+ if not self.opensearch_config.cert_path:
81
+ logger.warning(
82
+ "OpenSearch cert_path is not set, which may lead to security risks"
83
+ )
84
+
77
85
  opensearch_client = OpensearchVectorClient(
78
86
  endpoint=self.opensearch_config.host,
79
87
  port=self.opensearch_config.port,
@@ -81,8 +89,9 @@ class OpensearchLTMBackend(BaseLongTermMemoryBackend):
81
89
  self.opensearch_config.username,
82
90
  self.opensearch_config.password,
83
91
  ),
84
- use_ssl=True,
85
- verify_certs=False,
92
+ use_ssl=self.opensearch_config.use_ssl,
93
+ verify_certs=False if not self.opensearch_config.cert_path else True,
94
+ ca_certs=self.opensearch_config.cert_path,
86
95
  dim=self.embedding_config.dim,
87
96
  index=index,
88
97
  )
@@ -21,6 +21,8 @@ from typing import Any
21
21
 
22
22
  from pydantic import Field
23
23
  from typing_extensions import override
24
+ from vikingdb import IAM
25
+ from vikingdb.memory import VikingMem
24
26
 
25
27
  import veadk.config # noqa E401
26
28
  from veadk.auth.veauth.utils import get_credential_from_vefaas_iam
@@ -30,9 +32,6 @@ from veadk.integrations.ve_viking_db_memory.ve_viking_db_memory import (
30
32
  from veadk.memory.long_term_memory_backends.base_backend import (
31
33
  BaseLongTermMemoryBackend,
32
34
  )
33
- from vikingdb import IAM
34
- from vikingdb.memory import VikingMem
35
-
36
35
  from veadk.utils.logger import get_logger
37
36
 
38
37
  logger = get_logger(__name__)
@@ -49,9 +48,16 @@ class VikingDBLTMBackend(BaseLongTermMemoryBackend):
49
48
 
50
49
  session_token: str = ""
51
50
 
52
- region: str = "cn-beijing"
51
+ region: str = Field(
52
+ default_factory=lambda: os.getenv("DATABASE_VIKINGMEM_REGION") or "cn-beijing"
53
+ )
53
54
  """VikingDB memory region"""
54
55
 
56
+ volcengine_project: str = Field(
57
+ default_factory=lambda: os.getenv("DATABASE_VIKINGMEM_PROJECT") or "default"
58
+ )
59
+ """VikingDB memory project"""
60
+
55
61
  memory_type: list[str] = Field(default_factory=list)
56
62
 
57
63
  def model_post_init(self, __context: Any) -> None:
@@ -87,7 +93,9 @@ class VikingDBLTMBackend(BaseLongTermMemoryBackend):
87
93
  def _collection_exist(self) -> bool:
88
94
  try:
89
95
  client = self._get_client()
90
- client.get_collection(collection_name=self.index)
96
+ client.get_collection(
97
+ collection_name=self.index, project=self.volcengine_project
98
+ )
91
99
  logger.info(f"Collection {self.index} exist.")
92
100
  return True
93
101
  except Exception:
@@ -101,6 +109,7 @@ class VikingDBLTMBackend(BaseLongTermMemoryBackend):
101
109
  client = self._get_client()
102
110
  response = client.create_collection(
103
111
  collection_name=self.index,
112
+ project=self.volcengine_project,
104
113
  description="Created by Volcengine Agent Development Kit VeADK",
105
114
  builtin_event_types=self.memory_type,
106
115
  )
@@ -156,7 +165,9 @@ class VikingDBLTMBackend(BaseLongTermMemoryBackend):
156
165
  )
157
166
 
158
167
  client = self._get_sdk_client()
159
- collection = client.get_collection(collection_name=self.index)
168
+ collection = client.get_collection(
169
+ collection_name=self.index, project_name=self.volcengine_project
170
+ )
160
171
  response = collection.add_session(
161
172
  session_id=session_id,
162
173
  messages=messages,
@@ -181,7 +192,9 @@ class VikingDBLTMBackend(BaseLongTermMemoryBackend):
181
192
  )
182
193
 
183
194
  client = self._get_sdk_client()
184
- collection = client.get_collection(collection_name=self.index)
195
+ collection = client.get_collection(
196
+ collection_name=self.index, project_name=self.volcengine_project
197
+ )
185
198
  response = collection.search_memory(
186
199
  query=query,
187
200
  filter=filter,
@@ -32,6 +32,7 @@ from veadk.memory.short_term_memory_backends.postgresql_backend import (
32
32
  from veadk.memory.short_term_memory_backends.sqlite_backend import (
33
33
  SQLiteSTMBackend,
34
34
  )
35
+ from veadk.models.ark_transform import build_cache_metadata
35
36
  from veadk.utils.logger import get_logger
36
37
 
37
38
  logger = get_logger(__name__)
@@ -49,6 +50,21 @@ def wrap_get_session_with_callbacks(obj, callback_fn: Callable):
49
50
  setattr(obj, "get_session", wrapper)
50
51
 
51
52
 
53
+ def enable_responses_api_for_session_service(result, *args, **kwargs):
54
+ if result and isinstance(result, Session):
55
+ if result.events:
56
+ for event in result.events:
57
+ if (
58
+ event.actions
59
+ and event.actions.state_delta
60
+ and not event.cache_metadata
61
+ and "response_id" in event.actions.state_delta
62
+ ):
63
+ event.cache_metadata = build_cache_metadata(
64
+ response_id=event.actions.state_delta.get("response_id"),
65
+ )
66
+
67
+
52
68
  class ShortTermMemory(BaseModel):
53
69
  """Short term memory for agent execution.
54
70
 
@@ -170,6 +186,11 @@ class ShortTermMemory(BaseModel):
170
186
  db_kwargs=self.db_kwargs, **self.backend_configs
171
187
  ).session_service
172
188
 
189
+ if self.backend != "local":
190
+ wrap_get_session_with_callbacks(
191
+ self._session_service, enable_responses_api_for_session_service
192
+ )
193
+
173
194
  if self.after_load_memory_callback:
174
195
  wrap_get_session_with_callbacks(
175
196
  self._session_service, self.after_load_memory_callback