veadk-python 0.2.9__tar.gz → 0.2.11__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.

Potentially problematic release.


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

Files changed (204) hide show
  1. {veadk_python-0.2.9 → veadk_python-0.2.11}/PKG-INFO +4 -3
  2. {veadk_python-0.2.9 → veadk_python-0.2.11}/pyproject.toml +5 -7
  3. {veadk_python-0.2.9 → veadk_python-0.2.11}/tests/test_agent.py +5 -7
  4. {veadk_python-0.2.9 → veadk_python-0.2.11}/tests/test_knowledgebase.py +4 -5
  5. {veadk_python-0.2.9 → veadk_python-0.2.11}/tests/test_long_term_memory.py +7 -9
  6. {veadk_python-0.2.9 → veadk_python-0.2.11}/tests/test_runner.py +5 -3
  7. veadk_python-0.2.11/veadk/a2a/remote_ve_agent.py +90 -0
  8. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/agent.py +10 -3
  9. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/agent_builder.py +2 -3
  10. veadk_python-0.2.11/veadk/auth/veauth/ark_veauth.py +69 -0
  11. veadk_python-0.2.11/veadk/auth/veauth/utils.py +57 -0
  12. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/cli/cli.py +2 -0
  13. veadk_python-0.2.11/veadk/cli/cli_kb.py +75 -0
  14. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/cli/cli_web.py +4 -0
  15. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/configs/model_configs.py +3 -3
  16. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/consts.py +9 -0
  17. veadk_python-0.2.11/veadk/integrations/ve_viking_db_memory/ve_viking_db_memory.py +293 -0
  18. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/knowledgebase/knowledgebase.py +19 -32
  19. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/memory/__init__.py +1 -1
  20. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/memory/long_term_memory.py +40 -68
  21. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/memory/long_term_memory_backends/base_backend.py +4 -2
  22. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/memory/long_term_memory_backends/in_memory_backend.py +8 -6
  23. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/memory/long_term_memory_backends/mem0_backend.py +25 -10
  24. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/memory/long_term_memory_backends/opensearch_backend.py +40 -36
  25. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/memory/long_term_memory_backends/redis_backend.py +59 -46
  26. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py +56 -35
  27. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/memory/short_term_memory.py +12 -8
  28. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/memory/short_term_memory_backends/postgresql_backend.py +3 -1
  29. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/runner.py +42 -19
  30. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tools/builtin_tools/generate_image.py +56 -17
  31. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tools/builtin_tools/image_edit.py +17 -7
  32. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tools/builtin_tools/image_generate.py +17 -7
  33. veadk_python-0.2.11/veadk/tools/builtin_tools/load_knowledgebase.py +97 -0
  34. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tools/builtin_tools/video_generate.py +11 -9
  35. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tools/builtin_tools/web_search.py +10 -3
  36. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tools/load_knowledgebase_tool.py +12 -0
  37. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tracing/telemetry/attributes/extractors/llm_attributes_extractors.py +5 -0
  38. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tracing/telemetry/attributes/extractors/tool_attributes_extractors.py +7 -0
  39. veadk_python-0.2.11/veadk/tracing/telemetry/exporters/__init__.py +13 -0
  40. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tracing/telemetry/exporters/apmplus_exporter.py +82 -2
  41. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tracing/telemetry/exporters/inmemory_exporter.py +8 -2
  42. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tracing/telemetry/telemetry.py +41 -5
  43. veadk_python-0.2.11/veadk/utils/__init__.py +13 -0
  44. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/utils/misc.py +6 -10
  45. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/utils/volcengine_sign.py +2 -0
  46. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/version.py +1 -1
  47. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk_python.egg-info/PKG-INFO +4 -3
  48. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk_python.egg-info/SOURCES.txt +6 -0
  49. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk_python.egg-info/requires.txt +3 -2
  50. veadk_python-0.2.9/veadk/a2a/remote_ve_agent.py +0 -33
  51. veadk_python-0.2.9/veadk/auth/veauth/ark_veauth.py +0 -77
  52. {veadk_python-0.2.9 → veadk_python-0.2.11}/LICENSE +0 -0
  53. {veadk_python-0.2.9 → veadk_python-0.2.11}/README.md +0 -0
  54. {veadk_python-0.2.9 → veadk_python-0.2.11}/setup.cfg +0 -0
  55. {veadk_python-0.2.9 → veadk_python-0.2.11}/tests/test_cloud.py +0 -0
  56. {veadk_python-0.2.9 → veadk_python-0.2.11}/tests/test_evaluator.py +0 -0
  57. {veadk_python-0.2.9 → veadk_python-0.2.11}/tests/test_multiple_agents.py +0 -0
  58. {veadk_python-0.2.9 → veadk_python-0.2.11}/tests/test_runtime_data_collecting.py +0 -0
  59. {veadk_python-0.2.9 → veadk_python-0.2.11}/tests/test_short_term_memory.py +0 -0
  60. {veadk_python-0.2.9 → veadk_python-0.2.11}/tests/test_tracing.py +0 -0
  61. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/__init__.py +0 -0
  62. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/a2a/__init__.py +0 -0
  63. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/a2a/agent_card.py +0 -0
  64. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/a2a/ve_a2a_server.py +0 -0
  65. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/a2a/ve_agent_executor.py +0 -0
  66. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/a2a/ve_task_store.py +0 -0
  67. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/agents/loop_agent.py +0 -0
  68. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/agents/parallel_agent.py +0 -0
  69. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/agents/sequential_agent.py +0 -0
  70. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/auth/__init__.py +0 -0
  71. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/auth/base_auth.py +0 -0
  72. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/auth/veauth/__init__.py +0 -0
  73. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/auth/veauth/apmplus_veauth.py +0 -0
  74. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/auth/veauth/base_veauth.py +0 -0
  75. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/auth/veauth/cozeloop_veauth.py +0 -0
  76. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/auth/veauth/opensearch_veauth.py +0 -0
  77. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/auth/veauth/postgresql_veauth.py +0 -0
  78. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/auth/veauth/prompt_pilot_veauth.py +0 -0
  79. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/auth/veauth/vesearch_veauth.py +0 -0
  80. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/cli/__init__.py +0 -0
  81. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/cli/cli_deploy.py +0 -0
  82. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/cli/cli_eval.py +0 -0
  83. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/cli/cli_init.py +0 -0
  84. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/cli/cli_pipeline.py +0 -0
  85. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/cli/cli_prompt.py +0 -0
  86. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/cloud/__init__.py +0 -0
  87. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/cloud/cloud_agent_engine.py +0 -0
  88. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/cloud/cloud_app.py +0 -0
  89. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/config.py +0 -0
  90. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/configs/__init__.py +0 -0
  91. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/configs/database_configs.py +0 -0
  92. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/configs/tool_configs.py +0 -0
  93. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/configs/tracing_configs.py +0 -0
  94. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/evaluation/__init__.py +0 -0
  95. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/evaluation/adk_evaluator/__init__.py +0 -0
  96. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/evaluation/adk_evaluator/adk_evaluator.py +0 -0
  97. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/evaluation/base_evaluator.py +0 -0
  98. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/evaluation/deepeval_evaluator/__init__.py +0 -0
  99. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py +0 -0
  100. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/evaluation/eval_set_file_loader.py +0 -0
  101. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/evaluation/eval_set_recorder.py +0 -0
  102. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/evaluation/types.py +0 -0
  103. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/evaluation/utils/prometheus.py +0 -0
  104. {veadk_python-0.2.9/veadk/integrations/ve_apig → veadk_python-0.2.11/veadk/integrations}/__init__.py +0 -0
  105. {veadk_python-0.2.9/veadk/integrations/ve_code_pipeline → veadk_python-0.2.11/veadk/integrations/ve_apig}/__init__.py +0 -0
  106. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_apig/ve_apig.py +0 -0
  107. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_apig/ve_apig_utils.py +0 -0
  108. {veadk_python-0.2.9/veadk/integrations/ve_cozeloop → veadk_python-0.2.11/veadk/integrations/ve_code_pipeline}/__init__.py +0 -0
  109. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_code_pipeline/ve_code_pipeline.py +0 -0
  110. {veadk_python-0.2.9/veadk/integrations/ve_cr → veadk_python-0.2.11/veadk/integrations/ve_cozeloop}/__init__.py +0 -0
  111. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_cozeloop/ve_cozeloop.py +0 -0
  112. {veadk_python-0.2.9/veadk/integrations/ve_faas → veadk_python-0.2.11/veadk/integrations/ve_cr}/__init__.py +0 -0
  113. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_cr/ve_cr.py +0 -0
  114. {veadk_python-0.2.9/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}} → veadk_python-0.2.11/veadk/integrations/ve_faas}/__init__.py +0 -0
  115. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/template/cookiecutter.json +0 -0
  116. {veadk_python-0.2.9/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src → veadk_python-0.2.11/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/__init__.py +0 -0
  117. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
  118. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
  119. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
  120. {veadk_python-0.2.9/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}} → veadk_python-0.2.11/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src}/__init__.py +0 -0
  121. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/agent.py +0 -0
  122. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
  123. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/requirements.txt +0 -0
  124. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
  125. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/__init__.py +0 -0
  126. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/agent.py +0 -0
  127. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/ve_faas.py +0 -0
  128. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/ve_faas_utils.py +0 -0
  129. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/cookiecutter.json +0 -0
  130. {veadk_python-0.2.9/veadk/integrations/ve_prompt_pilot → veadk_python-0.2.11/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}}/__init__.py +0 -0
  131. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
  132. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
  133. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
  134. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/Dockerfile +0 -0
  135. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
  136. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/init_db.py +0 -0
  137. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/models.py +0 -0
  138. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/requirements.txt +0 -0
  139. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
  140. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/css/style.css +0 -0
  141. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/js/admin.js +0 -0
  142. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/dashboard.html +0 -0
  143. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/edit_post.html +0 -0
  144. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/login.html +0 -0
  145. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/posts.html +0 -0
  146. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/base.html +0 -0
  147. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/index.html +0 -0
  148. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/post.html +0 -0
  149. {veadk_python-0.2.9/veadk/integrations/ve_tls → veadk_python-0.2.11/veadk/integrations/ve_prompt_pilot}/__init__.py +0 -0
  150. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_prompt_pilot/ve_prompt_pilot.py +0 -0
  151. {veadk_python-0.2.9/veadk/knowledgebase/backends → veadk_python-0.2.11/veadk/integrations/ve_tls}/__init__.py +0 -0
  152. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_tls/utils.py +0 -0
  153. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_tls/ve_tls.py +0 -0
  154. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/integrations/ve_tos/ve_tos.py +0 -0
  155. {veadk_python-0.2.9/veadk/memory/long_term_memory_backends → veadk_python-0.2.11/veadk/integrations/ve_viking_db_memory}/__init__.py +0 -0
  156. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/knowledgebase/__init__.py +0 -0
  157. {veadk_python-0.2.9/veadk/memory/short_term_memory_backends → veadk_python-0.2.11/veadk/knowledgebase/backends}/__init__.py +0 -0
  158. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/knowledgebase/backends/base_backend.py +0 -0
  159. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/knowledgebase/backends/in_memory_backend.py +0 -0
  160. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/knowledgebase/backends/opensearch_backend.py +0 -0
  161. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/knowledgebase/backends/redis_backend.py +0 -0
  162. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/knowledgebase/backends/utils.py +0 -0
  163. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/knowledgebase/backends/vikingdb_knowledge_backend.py +0 -0
  164. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/knowledgebase/entry.py +0 -0
  165. {veadk_python-0.2.9/veadk/prompts → veadk_python-0.2.11/veadk/memory/long_term_memory_backends}/__init__.py +0 -0
  166. {veadk_python-0.2.9/veadk/tools → veadk_python-0.2.11/veadk/memory/short_term_memory_backends}/__init__.py +0 -0
  167. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/memory/short_term_memory_backends/base_backend.py +0 -0
  168. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/memory/short_term_memory_backends/mysql_backend.py +0 -0
  169. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/memory/short_term_memory_backends/sqlite_backend.py +0 -0
  170. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/memory/short_term_memory_processor.py +0 -0
  171. {veadk_python-0.2.9/veadk/tools/builtin_tools → veadk_python-0.2.11/veadk/prompts}/__init__.py +0 -0
  172. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/prompts/agent_default_prompt.py +0 -0
  173. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/prompts/prompt_evaluator.py +0 -0
  174. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/prompts/prompt_memory_processor.py +0 -0
  175. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/prompts/prompt_optimization.py +0 -0
  176. {veadk_python-0.2.9/veadk/tools/sandbox → veadk_python-0.2.11/veadk/tools}/__init__.py +0 -0
  177. {veadk_python-0.2.9/veadk/tracing → veadk_python-0.2.11/veadk/tools/builtin_tools}/__init__.py +0 -0
  178. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tools/builtin_tools/lark.py +0 -0
  179. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tools/builtin_tools/las.py +0 -0
  180. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tools/builtin_tools/mcp_router.py +0 -0
  181. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tools/builtin_tools/vesearch.py +0 -0
  182. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tools/builtin_tools/web_scraper.py +0 -0
  183. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tools/demo_tools.py +0 -0
  184. {veadk_python-0.2.9/veadk/tracing/telemetry → veadk_python-0.2.11/veadk/tools/sandbox}/__init__.py +0 -0
  185. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tools/sandbox/browser_sandbox.py +0 -0
  186. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tools/sandbox/code_sandbox.py +0 -0
  187. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tools/sandbox/computer_sandbox.py +0 -0
  188. {veadk_python-0.2.9/veadk/tracing/telemetry/exporters → veadk_python-0.2.11/veadk/tracing}/__init__.py +0 -0
  189. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tracing/base_tracer.py +0 -0
  190. {veadk_python-0.2.9/veadk/utils → veadk_python-0.2.11/veadk/tracing/telemetry}/__init__.py +0 -0
  191. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tracing/telemetry/attributes/attributes.py +0 -0
  192. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tracing/telemetry/attributes/extractors/common_attributes_extractors.py +0 -0
  193. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tracing/telemetry/attributes/extractors/types.py +0 -0
  194. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tracing/telemetry/exporters/base_exporter.py +0 -0
  195. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tracing/telemetry/exporters/cozeloop_exporter.py +0 -0
  196. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tracing/telemetry/exporters/tls_exporter.py +0 -0
  197. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/tracing/telemetry/opentelemetry_tracer.py +0 -0
  198. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/types.py +0 -0
  199. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/utils/logger.py +0 -0
  200. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/utils/mcp_utils.py +0 -0
  201. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk/utils/patches.py +0 -0
  202. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk_python.egg-info/dependency_links.txt +0 -0
  203. {veadk_python-0.2.9 → veadk_python-0.2.11}/veadk_python.egg-info/entry_points.txt +0 -0
  204. {veadk_python-0.2.9 → veadk_python-0.2.11}/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.9
3
+ Version: 0.2.11
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
@@ -218,7 +218,7 @@ Requires-Dist: opentelemetry-exporter-otlp>=1.35.0
218
218
  Requires-Dist: opentelemetry-instrumentation-logging>=0.56b0
219
219
  Requires-Dist: wrapt>=1.17.2
220
220
  Requires-Dist: openai<1.100
221
- Requires-Dist: volcengine-python-sdk>=4.0.3
221
+ Requires-Dist: volcengine-python-sdk>=4.0.18
222
222
  Requires-Dist: volcengine>=1.0.193
223
223
  Requires-Dist: agent-pilot-sdk>=0.1.2
224
224
  Requires-Dist: fastmcp>=2.11.3
@@ -231,16 +231,17 @@ 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"
237
238
  Requires-Dist: llama-index-vector-stores-redis>=0.6.1; extra == "extensions"
238
- Requires-Dist: mcp-server-vikingdb-memory; extra == "extensions"
239
239
  Provides-Extra: database
240
240
  Requires-Dist: redis>=5.0; extra == "database"
241
241
  Requires-Dist: pymysql>=1.1.1; extra == "database"
242
242
  Requires-Dist: volcengine>=1.0.193; extra == "database"
243
243
  Requires-Dist: tos>=2.8.4; extra == "database"
244
+ Requires-Dist: mem0ai==0.1.118; extra == "database"
244
245
  Provides-Extra: eval
245
246
  Requires-Dist: prometheus-client>=0.22.1; extra == "eval"
246
247
  Requires-Dist: deepeval>=3.2.6; extra == "eval"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "veadk-python"
3
- version = "0.2.9"
3
+ version = "0.2.11"
4
4
  description = "Volcengine agent development kit, integrations with Volcengine cloud services."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -22,8 +22,8 @@ dependencies = [
22
22
  "opentelemetry-instrumentation-logging>=0.56b0",
23
23
  "wrapt>=1.17.2", # For patching built-in functions
24
24
  "openai<1.100", # For fix https://github.com/BerriAI/litellm/issues/13710
25
- "volcengine-python-sdk>=4.0.3", # For Volcengine API
26
- "volcengine>=1.0.193", # For Volcengine sign
25
+ "volcengine-python-sdk>=4.0.18", # For Volcengine API
26
+ "volcengine>=1.0.193", # For Volcengine sign
27
27
  "agent-pilot-sdk>=0.1.2", # Prompt optimization by Volcengine AgentPilot/PromptPilot toolkits
28
28
  "fastmcp>=2.11.3", # For running MCP
29
29
  "cookiecutter>=2.6.0", # For cloud deploy
@@ -35,6 +35,7 @@ dependencies = [
35
35
  "psycopg2-binary>=2.9.10", # For PostgreSQL database (short term memory)
36
36
  "pymysql>=1.1.1", # For MySQL database (short term memory)
37
37
  "opensearch-py==2.8.0",
38
+ "filetype>=1.2.0",
38
39
  ]
39
40
 
40
41
  [project.scripts]
@@ -45,13 +46,13 @@ extensions = [
45
46
  "redis>=5.0", # For Redis database
46
47
  "tos>=2.8.4", # For TOS storage and Viking DB
47
48
  "llama-index-vector-stores-redis>=0.6.1",
48
- "mcp-server-vikingdb-memory",
49
49
  ]
50
50
  database = [
51
51
  "redis>=5.0", # For Redis database
52
52
  "pymysql>=1.1.1", # For MySQL database
53
53
  "volcengine>=1.0.193", # For Viking DB
54
54
  "tos>=2.8.4", # For TOS storage and Viking DB
55
+ "mem0ai==0.1.118", # For mem0
55
56
  ]
56
57
  eval = [
57
58
  "prometheus-client>=0.22.1", # For exporting data to Prometheus pushgateway
@@ -91,6 +92,3 @@ exclude = [
91
92
  "veadk/integrations/ve_faas/template/*",
92
93
  "veadk/integrations/ve_faas/web_template/*"
93
94
  ]
94
-
95
- [tool.uv.sources]
96
- mcp-server-vikingdb-memory = { git = "https://github.com/volcengine/mcp-server", subdirectory = "server/mcp_server_vikingdb_memory" }
@@ -12,6 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ import os
15
16
  from unittest.mock import Mock, patch
16
17
 
17
18
  from google.adk.agents.llm_agent import LlmAgent
@@ -33,11 +34,10 @@ from veadk.tracing.telemetry.opentelemetry_tracer import OpentelemetryTracer
33
34
 
34
35
 
35
36
  def test_agent():
36
- knowledgebase = KnowledgeBase(
37
- index="test_index",
38
- backend="local",
39
- backend_config={"embedding_config": {"api_key": "test"}},
40
- )
37
+ os.environ["MODEL_EMBEDDING_API_KEY"] = "mocked_api_key"
38
+
39
+ knowledgebase = KnowledgeBase(index="test_index", backend="local")
40
+
41
41
  long_term_memory = LongTermMemory(backend="local")
42
42
  tracer = OpentelemetryTracer()
43
43
 
@@ -69,8 +69,6 @@ def test_agent():
69
69
 
70
70
  assert agent.knowledgebase == knowledgebase
71
71
  assert agent.knowledgebase.backend == "local" # type: ignore
72
- assert load_knowledgebase_tool.knowledgebase == agent.knowledgebase
73
- assert load_knowledgebase_tool.load_knowledgebase_tool in agent.tools
74
72
 
75
73
  assert agent.long_term_memory.backend == "local" # type: ignore
76
74
  assert load_memory in agent.tools
@@ -12,6 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ import os
15
16
 
16
17
  import pytest
17
18
 
@@ -21,11 +22,9 @@ from veadk.knowledgebase.backends.in_memory_backend import InMemoryKnowledgeBack
21
22
 
22
23
  @pytest.mark.asyncio
23
24
  async def test_knowledgebase():
25
+ os.environ["MODEL_EMBEDDING_API_KEY"] = "mocked_api_key"
26
+
24
27
  app_name = "kb_test_app"
25
- kb = KnowledgeBase(
26
- backend="local",
27
- app_name=app_name,
28
- backend_config={"embedding_config": {"api_key": "test"}},
29
- )
28
+ kb = KnowledgeBase(backend="local", app_name=app_name)
30
29
 
31
30
  assert isinstance(kb._backend, InMemoryKnowledgeBackend)
@@ -13,23 +13,20 @@
13
13
  # limitations under the License.
14
14
 
15
15
 
16
+ import os
17
+
16
18
  import pytest
17
19
  from google.adk.tools import load_memory
18
20
 
19
21
  from veadk.agent import Agent
20
22
  from veadk.memory.long_term_memory import LongTermMemory
21
23
 
22
- app_name = "test_ltm"
23
- user_id = "test_user"
24
-
25
24
 
26
25
  @pytest.mark.asyncio
27
26
  async def test_long_term_memory():
28
- long_term_memory = LongTermMemory(
29
- backend="local",
30
- # app_name=app_name,
31
- # user_id=user_id,
32
- )
27
+ os.environ["MODEL_EMBEDDING_API_KEY"] = "mocked_api_key"
28
+ long_term_memory = LongTermMemory(backend="local")
29
+
33
30
  agent = Agent(
34
31
  name="all_name",
35
32
  model_name="test_model_name",
@@ -43,7 +40,8 @@ async def test_long_term_memory():
43
40
 
44
41
  assert load_memory in agent.tools, "load_memory tool not found in agent tools"
45
42
 
46
- assert not agent.long_term_memory._backend
43
+ assert agent.long_term_memory
44
+ assert agent.long_term_memory._backend
47
45
 
48
46
  # assert agent.long_term_memory._backend.index == build_long_term_memory_index(
49
47
  # app_name, user_id
@@ -12,16 +12,16 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ import os
16
+
15
17
  from google.genai import types
16
18
 
17
19
  from veadk.agent import Agent
18
20
  from veadk.memory.long_term_memory import LongTermMemory
19
21
  from veadk.memory.short_term_memory import ShortTermMemory
20
- from veadk.runner import Runner
21
-
22
22
 
23
23
  # Import the standalone function instead of accessing as class method
24
- from veadk.runner import _convert_messages
24
+ from veadk.runner import Runner, _convert_messages
25
25
 
26
26
 
27
27
  def _test_convert_messages(runner):
@@ -67,6 +67,8 @@ def _test_convert_messages(runner):
67
67
 
68
68
  def test_runner():
69
69
  """Test Runner class initialization and core properties"""
70
+ os.environ["MODEL_EMBEDDING_API_KEY"] = "mocked_api_key"
71
+
70
72
  short_term_memory = ShortTermMemory()
71
73
  long_term_memory = LongTermMemory(backend="local")
72
74
  agent = Agent(
@@ -0,0 +1,90 @@
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
+ import json
16
+ from typing import Literal
17
+
18
+ import httpx
19
+ import requests
20
+ from a2a.types import AgentCard
21
+ from google.adk.agents.remote_a2a_agent import RemoteA2aAgent
22
+
23
+ from veadk.utils.logger import get_logger
24
+
25
+ logger = get_logger(__name__)
26
+
27
+ AGENT_CARD_WELL_KNOWN_PATH = "/.well-known/agent-card.json"
28
+
29
+
30
+ def _convert_agent_card_dict_to_obj(agent_card_dict: dict) -> AgentCard:
31
+ agent_card_json_str = json.dumps(agent_card_dict, ensure_ascii=False, indent=2)
32
+ agent_card_object = AgentCard.model_validate_json(str(agent_card_json_str))
33
+ return agent_card_object
34
+
35
+
36
+ class RemoteVeAgent(RemoteA2aAgent):
37
+ """Connect to remote agent on VeFaaS platform."""
38
+
39
+ def __init__(
40
+ self,
41
+ name: str,
42
+ url: str,
43
+ auth_token: str | None = None,
44
+ auth_method: Literal["header", "querystring"] | None = None,
45
+ ):
46
+ if not auth_token:
47
+ agent_card_dict = requests.get(url + AGENT_CARD_WELL_KNOWN_PATH).json()
48
+ # replace agent_card_url with actual host
49
+ agent_card_dict["url"] = url
50
+
51
+ agent_card_object = _convert_agent_card_dict_to_obj(agent_card_dict)
52
+
53
+ logger.debug(f"Agent card of {name}: {agent_card_object}")
54
+ super().__init__(name=name, agent_card=agent_card_object)
55
+ else:
56
+ if auth_method == "header":
57
+ headers = {"Authorization": f"Bearer {auth_token}"}
58
+ agent_card_dict = requests.get(
59
+ url + AGENT_CARD_WELL_KNOWN_PATH, headers=headers
60
+ ).json()
61
+ agent_card_dict["url"] = url
62
+
63
+ agent_card_object = _convert_agent_card_dict_to_obj(agent_card_dict)
64
+ httpx_client = httpx.AsyncClient(
65
+ base_url=url, headers=headers, timeout=600
66
+ )
67
+
68
+ logger.debug(f"Agent card of {name}: {agent_card_object}")
69
+ super().__init__(
70
+ name=name, agent_card=agent_card_object, httpx_client=httpx_client
71
+ )
72
+ elif auth_method == "querystring":
73
+ agent_card_dict = requests.get(
74
+ url + AGENT_CARD_WELL_KNOWN_PATH + f"?token={auth_token}"
75
+ ).json()
76
+ agent_card_dict["url"] = url
77
+
78
+ agent_card_object = _convert_agent_card_dict_to_obj(agent_card_dict)
79
+ httpx_client = httpx.AsyncClient(
80
+ base_url=url, params={"token": auth_token}, timeout=600
81
+ )
82
+
83
+ logger.debug(f"Agent card of {name}: {agent_card_object}")
84
+ super().__init__(
85
+ name=name, agent_card=agent_card_object, httpx_client=httpx_client
86
+ )
87
+ else:
88
+ raise ValueError(
89
+ f"Unsupported auth method {auth_method}, use `header` or `querystring` instead."
90
+ )
@@ -133,14 +133,21 @@ class Agent(LlmAgent):
133
133
  )
134
134
 
135
135
  if self.knowledgebase:
136
- from veadk.tools import load_knowledgebase_tool
136
+ from veadk.tools.builtin_tools.load_knowledgebase import (
137
+ LoadKnowledgebaseTool,
138
+ )
137
139
 
138
- load_knowledgebase_tool.knowledgebase = self.knowledgebase
139
- self.tools.append(load_knowledgebase_tool.load_knowledgebase_tool)
140
+ load_knowledgebase_tool = LoadKnowledgebaseTool(
141
+ knowledgebase=self.knowledgebase
142
+ )
143
+ self.tools.append(load_knowledgebase_tool)
140
144
 
141
145
  if self.long_term_memory is not None:
142
146
  from google.adk.tools import load_memory
143
147
 
148
+ if not load_memory.custom_metadata:
149
+ load_memory.custom_metadata = {}
150
+ load_memory.custom_metadata["backend"] = self.long_term_memory.backend
144
151
  self.tools.append(load_memory)
145
152
 
146
153
  logger.info(f"VeADK version: {VERSION}")
@@ -52,9 +52,8 @@ class AgentBuilder:
52
52
  tools = []
53
53
  if agent_config.get("tools", []):
54
54
  for tool in agent_config["tools"]:
55
- module_name = tool["module"]
56
- func_name = tool["func"]
57
-
55
+ name = tool["name"]
56
+ module_name, func_name = name.rsplit(".", 1)
58
57
  module = importlib.import_module(module_name)
59
58
  func = getattr(module, func_name)
60
59
 
@@ -0,0 +1,69 @@
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
+ import os
16
+
17
+ from veadk.auth.veauth.utils import get_credential_from_vefaas_iam
18
+ from veadk.utils.logger import get_logger
19
+ from veadk.utils.volcengine_sign import ve_request
20
+
21
+ logger = get_logger(__name__)
22
+
23
+
24
+ def get_ark_token(region: str = "cn-beijing") -> str:
25
+ logger.info("Fetching ARK token...")
26
+
27
+ access_key = os.getenv("VOLCENGINE_ACCESS_KEY")
28
+ secret_key = os.getenv("VOLCENGINE_SECRET_KEY")
29
+ session_token = ""
30
+
31
+ if not (access_key and secret_key):
32
+ # try to get from vefaas iam
33
+ cred = get_credential_from_vefaas_iam()
34
+ access_key = cred.access_key_id
35
+ secret_key = cred.secret_access_key
36
+ session_token = cred.session_token
37
+
38
+ res = ve_request(
39
+ request_body={"ProjectName": "default", "Filter": {}},
40
+ header={"X-Security-Token": session_token},
41
+ action="ListApiKeys",
42
+ ak=access_key,
43
+ sk=secret_key,
44
+ service="ark",
45
+ version="2024-01-01",
46
+ region=region,
47
+ host="open.volcengineapi.com",
48
+ )
49
+ try:
50
+ first_api_key_id = res["Result"]["Items"][0]["Id"]
51
+ except KeyError:
52
+ raise ValueError(f"Failed to get ARK api key list: {res}")
53
+
54
+ # get raw api key
55
+ res = ve_request(
56
+ request_body={"Id": first_api_key_id},
57
+ header={"X-Security-Token": session_token},
58
+ action="GetRawApiKey",
59
+ ak=access_key,
60
+ sk=secret_key,
61
+ service="ark",
62
+ version="2024-01-01",
63
+ region=region,
64
+ host="open.volcengineapi.com",
65
+ )
66
+ try:
67
+ return res["Result"]["ApiKey"]
68
+ except KeyError:
69
+ raise ValueError(f"Failed to get ARK api key: {res}")
@@ -0,0 +1,57 @@
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
+ import json
16
+ from pathlib import Path
17
+
18
+ from pydantic import BaseModel
19
+
20
+ from veadk.consts import VEFAAS_IAM_CRIDENTIAL_PATH
21
+ from veadk.utils.logger import get_logger
22
+
23
+ logger = get_logger(__name__)
24
+
25
+
26
+ class VeIAMCredential(BaseModel):
27
+ access_key_id: str
28
+ secret_access_key: str
29
+ session_token: str
30
+
31
+
32
+ def get_credential_from_vefaas_iam() -> VeIAMCredential:
33
+ """Get credential from VeFaaS IAM file"""
34
+ logger.info(
35
+ f"Get Volcegnine access key or secret key from environment variables failed, try to get from VeFaaS IAM file (path={VEFAAS_IAM_CRIDENTIAL_PATH})."
36
+ )
37
+
38
+ path = Path(VEFAAS_IAM_CRIDENTIAL_PATH)
39
+
40
+ if not path.exists():
41
+ logger.error(
42
+ f"Get Volcegnine access key or secret key from environment variables failed, and VeFaaS IAM file (path={VEFAAS_IAM_CRIDENTIAL_PATH}) not exists. Please check your configuration."
43
+ )
44
+ raise FileNotFoundError(
45
+ f"Get Volcegnine access key or secret key from environment variables failed, and VeFaaS IAM file (path={VEFAAS_IAM_CRIDENTIAL_PATH}) not exists. Please check your configuration."
46
+ )
47
+
48
+ with open(VEFAAS_IAM_CRIDENTIAL_PATH, "r") as f:
49
+ cred_dict = json.load(f)
50
+ access_key = cred_dict["access_key_id"]
51
+ secret_key = cred_dict["secret_access_key"]
52
+ session_token = cred_dict["session_token"]
53
+ return VeIAMCredential(
54
+ access_key_id=access_key,
55
+ secret_access_key=secret_key,
56
+ session_token=session_token,
57
+ )
@@ -18,6 +18,7 @@ import click
18
18
  from veadk.cli.cli_deploy import deploy
19
19
  from veadk.cli.cli_eval import eval
20
20
  from veadk.cli.cli_init import init
21
+ from veadk.cli.cli_kb import kb
21
22
  from veadk.cli.cli_pipeline import pipeline
22
23
  from veadk.cli.cli_prompt import prompt
23
24
  from veadk.cli.cli_web import web
@@ -39,6 +40,7 @@ veadk.add_command(prompt)
39
40
  veadk.add_command(web)
40
41
  veadk.add_command(pipeline)
41
42
  veadk.add_command(eval)
43
+ veadk.add_command(kb)
42
44
 
43
45
  if __name__ == "__main__":
44
46
  veadk()
@@ -0,0 +1,75 @@
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 pathlib import Path
16
+ from typing import Literal
17
+
18
+ import click
19
+
20
+
21
+ @click.command()
22
+ @click.option(
23
+ "--backend",
24
+ type=click.Choice(
25
+ ["local", "opensearch", "viking", "redis"],
26
+ case_sensitive=False,
27
+ ),
28
+ required=True,
29
+ )
30
+ @click.option(
31
+ "--app_name",
32
+ default="",
33
+ help="`app_name` for init your knowledgebase",
34
+ )
35
+ @click.option(
36
+ "--index",
37
+ default="",
38
+ help="Knowledgebase index",
39
+ )
40
+ @click.option(
41
+ "--path",
42
+ required=True,
43
+ help="Knowledge file or directory path",
44
+ )
45
+ def add(
46
+ backend: Literal["local", "opensearch", "viking", "redis"],
47
+ app_name: str,
48
+ index: str,
49
+ path: str,
50
+ ):
51
+ """Add files to knowledgebase"""
52
+ _path = Path(path)
53
+ assert _path.exists(), f"Path {path} not exists. Please check your input."
54
+
55
+ from veadk.knowledgebase import KnowledgeBase
56
+
57
+ knowledgebase = KnowledgeBase(backend=backend, app_name=app_name, index=index)
58
+
59
+ if _path.is_file():
60
+ knowledgebase.add_from_files(files=[path])
61
+ elif _path.is_dir():
62
+ knowledgebase.add_from_directory(directory=path)
63
+ else:
64
+ raise RuntimeError(
65
+ "Unsupported knowledgebase file type, only support a single file and a directory."
66
+ )
67
+
68
+
69
+ @click.group()
70
+ def kb():
71
+ """VeADK Knowledgebase management"""
72
+ pass
73
+
74
+
75
+ kb.add_command(add)
@@ -154,6 +154,7 @@ def web(host: str) -> None:
154
154
  eval_set_results_manager: Any,
155
155
  agents_dir: str,
156
156
  extra_plugins: Optional[list[str]] = None,
157
+ **kwargs: Any,
157
158
  ):
158
159
  self.agent_loader = agent_loader
159
160
  self.artifact_service = artifact_service
@@ -166,6 +167,9 @@ def web(host: str) -> None:
166
167
  self.runner_dict = {}
167
168
  self.extra_plugins = extra_plugins or []
168
169
 
170
+ for key, value in kwargs.items():
171
+ setattr(self, key, value)
172
+
169
173
  # parse VeADK memories
170
174
  short_term_memory, long_term_memory = _get_memory(module_path=agents_dir)
171
175
  self.session_service = short_term_memory.session_service
@@ -17,7 +17,7 @@ from functools import cached_property
17
17
 
18
18
  from pydantic_settings import BaseSettings, SettingsConfigDict
19
19
 
20
- from veadk.auth.veauth.ark_veauth import ARKVeAuth
20
+ from veadk.auth.veauth.ark_veauth import get_ark_token
21
21
  from veadk.consts import (
22
22
  DEFAULT_MODEL_AGENT_API_BASE,
23
23
  DEFAULT_MODEL_AGENT_NAME,
@@ -39,7 +39,7 @@ class ModelConfig(BaseSettings):
39
39
 
40
40
  @cached_property
41
41
  def api_key(self) -> str:
42
- return os.getenv("MODEL_AGENT_API_KEY") or ARKVeAuth().token
42
+ return os.getenv("MODEL_AGENT_API_KEY") or get_ark_token()
43
43
 
44
44
 
45
45
  class EmbeddingModelConfig(BaseSettings):
@@ -56,7 +56,7 @@ class EmbeddingModelConfig(BaseSettings):
56
56
 
57
57
  @cached_property
58
58
  def api_key(self) -> str:
59
- return os.getenv("MODEL_EMBEDDING_API_KEY") or ARKVeAuth().token
59
+ return os.getenv("MODEL_EMBEDDING_API_KEY") or get_ark_token()
60
60
 
61
61
 
62
62
  class NormalEmbeddingModelConfig(BaseSettings):
@@ -63,6 +63,15 @@ DEFAULT_TOS_BUCKET_NAME = "ark-tutorial"
63
63
  DEFAULT_COZELOOP_SPACE_NAME = "VeADK Space"
64
64
 
65
65
  DEFAULT_TEXT_TO_IMAGE_MODEL_NAME = "doubao-seedream-3-0-t2i-250415"
66
+ DEFAULT_TEXT_TO_IMAGE_MODEL_API_BASE = "https://ark.cn-beijing.volces.com/api/v3/"
67
+
66
68
  DEFAULT_IMAGE_EDIT_MODEL_NAME = "doubao-seededit-3-0-i2i-250628"
69
+ DEFAULT_IMAGE_EDIT_MODEL_API_BASE = "https://ark.cn-beijing.volces.com/api/v3/"
70
+
67
71
  DEFAULT_VIDEO_MODEL_NAME = "doubao-seedance-1-0-pro-250528"
72
+ DEFAULT_VIDEO_MODEL_API_BASE = "https://ark.cn-beijing.volces.com/api/v3/"
73
+
68
74
  DEFAULT_IMAGE_GENERATE_MODEL_NAME = "doubao-seedream-4-0-250828"
75
+ DEFAULT_IMAGE_GENERATE_MODEL_API_BASE = "https://ark.cn-beijing.volces.com/api/v3/"
76
+
77
+ VEFAAS_IAM_CRIDENTIAL_PATH = "/var/run/secrets/iam/credential"