veadk-python 0.2.7__tar.gz → 0.2.9__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 (212) hide show
  1. {veadk_python-0.2.7 → veadk_python-0.2.9}/PKG-INFO +28 -5
  2. {veadk_python-0.2.7 → veadk_python-0.2.9}/README.md +11 -0
  3. {veadk_python-0.2.7 → veadk_python-0.2.9}/pyproject.toml +22 -6
  4. {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_agent.py +5 -1
  5. {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_evaluator.py +39 -38
  6. {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_knowledgebase.py +7 -11
  7. {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_long_term_memory.py +10 -31
  8. {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_short_term_memory.py +6 -7
  9. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/agent.py +3 -2
  10. veadk_python-0.2.9/veadk/auth/veauth/opensearch_veauth.py +75 -0
  11. veadk_python-0.2.9/veadk/auth/veauth/postgresql_veauth.py +75 -0
  12. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cli/cli.py +3 -1
  13. veadk_python-0.2.9/veadk/cli/cli_eval.py +160 -0
  14. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cli/cli_prompt.py +9 -2
  15. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cli/cli_web.py +6 -1
  16. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/configs/database_configs.py +43 -0
  17. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/configs/model_configs.py +32 -0
  18. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/consts.py +11 -4
  19. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/adk_evaluator/adk_evaluator.py +5 -2
  20. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/base_evaluator.py +95 -68
  21. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py +23 -15
  22. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/eval_set_recorder.py +2 -2
  23. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_prompt_pilot/ve_prompt_pilot.py +9 -3
  24. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_tls/utils.py +1 -2
  25. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_tls/ve_tls.py +9 -5
  26. veadk_python-0.2.9/veadk/integrations/ve_tos/ve_tos.py +705 -0
  27. veadk_python-0.2.9/veadk/knowledgebase/backends/base_backend.py +59 -0
  28. veadk_python-0.2.9/veadk/knowledgebase/backends/in_memory_backend.py +82 -0
  29. veadk_python-0.2.9/veadk/knowledgebase/backends/opensearch_backend.py +136 -0
  30. veadk_python-0.2.9/veadk/knowledgebase/backends/redis_backend.py +144 -0
  31. veadk_python-0.2.9/veadk/knowledgebase/backends/utils.py +91 -0
  32. veadk_python-0.2.9/veadk/knowledgebase/backends/vikingdb_knowledge_backend.py +524 -0
  33. veadk_python-0.2.9/veadk/knowledgebase/entry.py +25 -0
  34. veadk_python-0.2.9/veadk/knowledgebase/knowledgebase.py +159 -0
  35. veadk_python-0.2.9/veadk/memory/__init__.py +35 -0
  36. veadk_python-0.2.9/veadk/memory/long_term_memory.py +240 -0
  37. veadk_python-0.2.7/veadk/database/base_database.py → veadk_python-0.2.9/veadk/memory/long_term_memory_backends/base_backend.py +10 -22
  38. veadk_python-0.2.9/veadk/memory/long_term_memory_backends/in_memory_backend.py +65 -0
  39. veadk_python-0.2.9/veadk/memory/long_term_memory_backends/mem0_backend.py +129 -0
  40. veadk_python-0.2.9/veadk/memory/long_term_memory_backends/opensearch_backend.py +120 -0
  41. veadk_python-0.2.9/veadk/memory/long_term_memory_backends/redis_backend.py +127 -0
  42. veadk_python-0.2.9/veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py +148 -0
  43. veadk_python-0.2.9/veadk/memory/short_term_memory.py +128 -0
  44. veadk_python-0.2.9/veadk/memory/short_term_memory_backends/base_backend.py +31 -0
  45. veadk_python-0.2.9/veadk/memory/short_term_memory_backends/mysql_backend.py +41 -0
  46. veadk_python-0.2.9/veadk/memory/short_term_memory_backends/postgresql_backend.py +41 -0
  47. veadk_python-0.2.9/veadk/memory/short_term_memory_backends/sqlite_backend.py +48 -0
  48. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/runner.py +12 -19
  49. veadk_python-0.2.9/veadk/tools/builtin_tools/generate_image.py +355 -0
  50. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/image_edit.py +56 -16
  51. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/image_generate.py +51 -15
  52. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/video_generate.py +41 -41
  53. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/web_scraper.py +1 -1
  54. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/web_search.py +7 -7
  55. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/load_knowledgebase_tool.py +2 -8
  56. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/attributes/extractors/llm_attributes_extractors.py +21 -3
  57. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/exporters/apmplus_exporter.py +24 -6
  58. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/exporters/cozeloop_exporter.py +2 -0
  59. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/exporters/inmemory_exporter.py +22 -8
  60. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/exporters/tls_exporter.py +2 -0
  61. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/opentelemetry_tracer.py +13 -10
  62. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/telemetry.py +66 -63
  63. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/utils/misc.py +15 -0
  64. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/version.py +1 -1
  65. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk_python.egg-info/PKG-INFO +28 -5
  66. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk_python.egg-info/SOURCES.txt +24 -15
  67. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk_python.egg-info/requires.txt +17 -4
  68. veadk_python-0.2.7/veadk/database/__init__.py +0 -17
  69. veadk_python-0.2.7/veadk/database/database_adapter.py +0 -533
  70. veadk_python-0.2.7/veadk/database/database_factory.py +0 -80
  71. veadk_python-0.2.7/veadk/database/kv/redis_database.py +0 -159
  72. veadk_python-0.2.7/veadk/database/local_database.py +0 -62
  73. veadk_python-0.2.7/veadk/database/relational/mysql_database.py +0 -173
  74. veadk_python-0.2.7/veadk/database/vector/opensearch_vector_database.py +0 -263
  75. veadk_python-0.2.7/veadk/database/vector/type.py +0 -50
  76. veadk_python-0.2.7/veadk/database/viking/viking_database.py +0 -638
  77. veadk_python-0.2.7/veadk/database/viking/viking_memory_db.py +0 -525
  78. veadk_python-0.2.7/veadk/integrations/ve_tos/ve_tos.py +0 -231
  79. veadk_python-0.2.7/veadk/knowledgebase/knowledgebase.py +0 -178
  80. veadk_python-0.2.7/veadk/memory/long_term_memory.py +0 -157
  81. veadk_python-0.2.7/veadk/memory/short_term_memory.py +0 -120
  82. veadk_python-0.2.7/veadk/tracing/telemetry/exporters/__init__.py +0 -13
  83. veadk_python-0.2.7/veadk/utils/__init__.py +0 -13
  84. {veadk_python-0.2.7 → veadk_python-0.2.9}/LICENSE +0 -0
  85. {veadk_python-0.2.7 → veadk_python-0.2.9}/setup.cfg +0 -0
  86. {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_cloud.py +0 -0
  87. {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_multiple_agents.py +0 -0
  88. {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_runner.py +0 -0
  89. {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_runtime_data_collecting.py +0 -0
  90. {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_tracing.py +0 -0
  91. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/__init__.py +0 -0
  92. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/a2a/__init__.py +0 -0
  93. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/a2a/agent_card.py +0 -0
  94. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/a2a/remote_ve_agent.py +0 -0
  95. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/a2a/ve_a2a_server.py +0 -0
  96. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/a2a/ve_agent_executor.py +0 -0
  97. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/a2a/ve_task_store.py +0 -0
  98. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/agent_builder.py +0 -0
  99. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/agents/loop_agent.py +0 -0
  100. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/agents/parallel_agent.py +0 -0
  101. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/agents/sequential_agent.py +0 -0
  102. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/__init__.py +0 -0
  103. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/base_auth.py +0 -0
  104. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/veauth/__init__.py +0 -0
  105. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/veauth/apmplus_veauth.py +0 -0
  106. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/veauth/ark_veauth.py +0 -0
  107. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/veauth/base_veauth.py +0 -0
  108. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/veauth/cozeloop_veauth.py +0 -0
  109. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/veauth/prompt_pilot_veauth.py +0 -0
  110. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/veauth/vesearch_veauth.py +0 -0
  111. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cli/__init__.py +0 -0
  112. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cli/cli_deploy.py +0 -0
  113. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cli/cli_init.py +0 -0
  114. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cli/cli_pipeline.py +0 -0
  115. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cloud/__init__.py +0 -0
  116. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cloud/cloud_agent_engine.py +0 -0
  117. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cloud/cloud_app.py +0 -0
  118. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/config.py +0 -0
  119. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/configs/__init__.py +0 -0
  120. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/configs/tool_configs.py +0 -0
  121. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/configs/tracing_configs.py +0 -0
  122. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/__init__.py +0 -0
  123. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/adk_evaluator/__init__.py +0 -0
  124. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/deepeval_evaluator/__init__.py +0 -0
  125. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/eval_set_file_loader.py +0 -0
  126. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/types.py +0 -0
  127. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/utils/prometheus.py +0 -0
  128. {veadk_python-0.2.7/veadk/database/kv → veadk_python-0.2.9/veadk/integrations/ve_apig}/__init__.py +0 -0
  129. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_apig/ve_apig.py +0 -0
  130. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_apig/ve_apig_utils.py +0 -0
  131. {veadk_python-0.2.7/veadk/database/relational → veadk_python-0.2.9/veadk/integrations/ve_code_pipeline}/__init__.py +0 -0
  132. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_code_pipeline/ve_code_pipeline.py +0 -0
  133. {veadk_python-0.2.7/veadk/database/vector → veadk_python-0.2.9/veadk/integrations/ve_cozeloop}/__init__.py +0 -0
  134. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_cozeloop/ve_cozeloop.py +0 -0
  135. {veadk_python-0.2.7/veadk/database/viking → veadk_python-0.2.9/veadk/integrations/ve_cr}/__init__.py +0 -0
  136. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_cr/ve_cr.py +0 -0
  137. {veadk_python-0.2.7/veadk/integrations/ve_apig → veadk_python-0.2.9/veadk/integrations/ve_faas}/__init__.py +0 -0
  138. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/cookiecutter.json +0 -0
  139. {veadk_python-0.2.7/veadk/integrations/ve_code_pipeline → veadk_python-0.2.9/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/__init__.py +0 -0
  140. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
  141. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
  142. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
  143. {veadk_python-0.2.7/veadk/integrations/ve_cozeloop → veadk_python-0.2.9/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src}/__init__.py +0 -0
  144. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/agent.py +0 -0
  145. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
  146. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/requirements.txt +0 -0
  147. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
  148. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/__init__.py +0 -0
  149. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/agent.py +0 -0
  150. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/ve_faas.py +0 -0
  151. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/ve_faas_utils.py +0 -0
  152. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/cookiecutter.json +0 -0
  153. {veadk_python-0.2.7/veadk/integrations/ve_cr → veadk_python-0.2.9/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}}/__init__.py +0 -0
  154. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
  155. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
  156. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
  157. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/Dockerfile +0 -0
  158. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
  159. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/init_db.py +0 -0
  160. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/models.py +0 -0
  161. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/requirements.txt +0 -0
  162. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
  163. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/css/style.css +0 -0
  164. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/js/admin.js +0 -0
  165. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/dashboard.html +0 -0
  166. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/edit_post.html +0 -0
  167. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/login.html +0 -0
  168. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/posts.html +0 -0
  169. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/base.html +0 -0
  170. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/index.html +0 -0
  171. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/post.html +0 -0
  172. {veadk_python-0.2.7/veadk/integrations/ve_faas → veadk_python-0.2.9/veadk/integrations/ve_prompt_pilot}/__init__.py +0 -0
  173. {veadk_python-0.2.7/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}} → veadk_python-0.2.9/veadk/integrations/ve_tls}/__init__.py +0 -0
  174. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/knowledgebase/__init__.py +0 -0
  175. {veadk_python-0.2.7/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src → veadk_python-0.2.9/veadk/knowledgebase/backends}/__init__.py +0 -0
  176. {veadk_python-0.2.7/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}} → veadk_python-0.2.9/veadk/memory/long_term_memory_backends}/__init__.py +0 -0
  177. {veadk_python-0.2.7/veadk/integrations/ve_prompt_pilot → veadk_python-0.2.9/veadk/memory/short_term_memory_backends}/__init__.py +0 -0
  178. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/memory/short_term_memory_processor.py +0 -0
  179. {veadk_python-0.2.7/veadk/integrations/ve_tls → veadk_python-0.2.9/veadk/prompts}/__init__.py +0 -0
  180. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/prompts/agent_default_prompt.py +0 -0
  181. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/prompts/prompt_evaluator.py +0 -0
  182. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/prompts/prompt_memory_processor.py +0 -0
  183. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/prompts/prompt_optimization.py +0 -0
  184. {veadk_python-0.2.7/veadk/memory → veadk_python-0.2.9/veadk/tools}/__init__.py +0 -0
  185. {veadk_python-0.2.7/veadk/prompts → veadk_python-0.2.9/veadk/tools/builtin_tools}/__init__.py +0 -0
  186. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/lark.py +0 -0
  187. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/las.py +0 -0
  188. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/mcp_router.py +0 -0
  189. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/vesearch.py +0 -0
  190. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/demo_tools.py +0 -0
  191. {veadk_python-0.2.7/veadk/tools → veadk_python-0.2.9/veadk/tools/sandbox}/__init__.py +0 -0
  192. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/sandbox/browser_sandbox.py +0 -0
  193. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/sandbox/code_sandbox.py +0 -0
  194. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/sandbox/computer_sandbox.py +0 -0
  195. {veadk_python-0.2.7/veadk/tools/builtin_tools → veadk_python-0.2.9/veadk/tracing}/__init__.py +0 -0
  196. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/base_tracer.py +0 -0
  197. {veadk_python-0.2.7/veadk/tools/sandbox → veadk_python-0.2.9/veadk/tracing/telemetry}/__init__.py +0 -0
  198. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/attributes/attributes.py +0 -0
  199. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/attributes/extractors/common_attributes_extractors.py +0 -0
  200. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/attributes/extractors/tool_attributes_extractors.py +0 -0
  201. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/attributes/extractors/types.py +0 -0
  202. {veadk_python-0.2.7/veadk/tracing → veadk_python-0.2.9/veadk/tracing/telemetry/exporters}/__init__.py +0 -0
  203. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/exporters/base_exporter.py +0 -0
  204. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/types.py +0 -0
  205. {veadk_python-0.2.7/veadk/tracing/telemetry → veadk_python-0.2.9/veadk/utils}/__init__.py +0 -0
  206. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/utils/logger.py +0 -0
  207. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/utils/mcp_utils.py +0 -0
  208. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/utils/patches.py +0 -0
  209. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/utils/volcengine_sign.py +0 -0
  210. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk_python.egg-info/dependency_links.txt +0 -0
  211. {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk_python.egg-info/entry_points.txt +0 -0
  212. {veadk_python-0.2.7 → veadk_python-0.2.9}/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.7
3
+ Version: 0.2.9
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,14 +218,26 @@ 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
222
- Requires-Dist: agent-pilot-sdk>=0.0.9
221
+ Requires-Dist: volcengine-python-sdk>=4.0.3
222
+ Requires-Dist: volcengine>=1.0.193
223
+ Requires-Dist: agent-pilot-sdk>=0.1.2
223
224
  Requires-Dist: fastmcp>=2.11.3
224
225
  Requires-Dist: cookiecutter>=2.6.0
225
- Requires-Dist: opensearch-py==2.8.0
226
226
  Requires-Dist: omegaconf>=2.3.0
227
+ Requires-Dist: llama-index>=0.14.0
228
+ Requires-Dist: llama-index-embeddings-openai-like>=0.2.2
229
+ Requires-Dist: llama-index-llms-openai-like>=0.5.1
230
+ Requires-Dist: llama-index-vector-stores-opensearch>=0.6.1
231
+ Requires-Dist: psycopg2-binary>=2.9.10
232
+ Requires-Dist: pymysql>=1.1.1
233
+ Requires-Dist: opensearch-py==2.8.0
234
+ Provides-Extra: extensions
235
+ Requires-Dist: redis>=5.0; extra == "extensions"
236
+ Requires-Dist: tos>=2.8.4; extra == "extensions"
237
+ Requires-Dist: llama-index-vector-stores-redis>=0.6.1; extra == "extensions"
238
+ Requires-Dist: mcp-server-vikingdb-memory; extra == "extensions"
227
239
  Provides-Extra: database
228
- Requires-Dist: redis>=6.2.0; extra == "database"
240
+ Requires-Dist: redis>=5.0; extra == "database"
229
241
  Requires-Dist: pymysql>=1.1.1; extra == "database"
230
242
  Requires-Dist: volcengine>=1.0.193; extra == "database"
231
243
  Requires-Dist: tos>=2.8.4; extra == "database"
@@ -258,6 +270,17 @@ A [tutorial](https://github.com/volcengine/veadk-python/blob/main/veadk_tutorial
258
270
 
259
271
  ## Installation
260
272
 
273
+ ### From PyPI
274
+
275
+ ```python
276
+ pip install veadk-python
277
+
278
+ # install extensions
279
+ pip install veadk-python[extensions]
280
+ ```
281
+
282
+ ### Build from source
283
+
261
284
  We use `uv` to build this project ([how-to-install-uv](https://docs.astral.sh/uv/getting-started/installation/)).
262
285
 
263
286
  ```bash
@@ -15,6 +15,17 @@ A [tutorial](https://github.com/volcengine/veadk-python/blob/main/veadk_tutorial
15
15
 
16
16
  ## Installation
17
17
 
18
+ ### From PyPI
19
+
20
+ ```python
21
+ pip install veadk-python
22
+
23
+ # install extensions
24
+ pip install veadk-python[extensions]
25
+ ```
26
+
27
+ ### Build from source
28
+
18
29
  We use `uv` to build this project ([how-to-install-uv](https://docs.astral.sh/uv/getting-started/installation/)).
19
30
 
20
31
  ```bash
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "veadk-python"
3
- version = "0.2.7"
3
+ version = "0.2.9"
4
4
  description = "Volcengine agent development kit, integrations with Volcengine cloud services."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -22,20 +22,33 @@ 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
- "agent-pilot-sdk>=0.0.9", # Prompt optimization by Volcengine AgentPilot/PromptPilot toolkits
25
+ "volcengine-python-sdk>=4.0.3", # For Volcengine API
26
+ "volcengine>=1.0.193", # For Volcengine sign
27
+ "agent-pilot-sdk>=0.1.2", # Prompt optimization by Volcengine AgentPilot/PromptPilot toolkits
27
28
  "fastmcp>=2.11.3", # For running MCP
28
- "cookiecutter>=2.6.0", # For cloud deploy # For OpenSearch database
29
- "opensearch-py==2.8.0",
29
+ "cookiecutter>=2.6.0", # For cloud deploy
30
30
  "omegaconf>=2.3.0", # For agent builder
31
+ "llama-index>=0.14.0",
32
+ "llama-index-embeddings-openai-like>=0.2.2",
33
+ "llama-index-llms-openai-like>=0.5.1",
34
+ "llama-index-vector-stores-opensearch>=0.6.1",
35
+ "psycopg2-binary>=2.9.10", # For PostgreSQL database (short term memory)
36
+ "pymysql>=1.1.1", # For MySQL database (short term memory)
37
+ "opensearch-py==2.8.0",
31
38
  ]
32
39
 
33
40
  [project.scripts]
34
41
  veadk = "veadk.cli.cli:veadk"
35
42
 
36
43
  [project.optional-dependencies]
44
+ extensions = [
45
+ "redis>=5.0", # For Redis database
46
+ "tos>=2.8.4", # For TOS storage and Viking DB
47
+ "llama-index-vector-stores-redis>=0.6.1",
48
+ "mcp-server-vikingdb-memory",
49
+ ]
37
50
  database = [
38
- "redis>=6.2.0", # For Redis database
51
+ "redis>=5.0", # For Redis database
39
52
  "pymysql>=1.1.1", # For MySQL database
40
53
  "volcengine>=1.0.193", # For Viking DB
41
54
  "tos>=2.8.4", # For TOS storage and Viking DB
@@ -78,3 +91,6 @@ exclude = [
78
91
  "veadk/integrations/ve_faas/template/*",
79
92
  "veadk/integrations/ve_faas/web_template/*"
80
93
  ]
94
+
95
+ [tool.uv.sources]
96
+ mcp-server-vikingdb-memory = { git = "https://github.com/volcengine/mcp-server", subdirectory = "server/mcp_server_vikingdb_memory" }
@@ -33,7 +33,11 @@ from veadk.tracing.telemetry.opentelemetry_tracer import OpentelemetryTracer
33
33
 
34
34
 
35
35
  def test_agent():
36
- knowledgebase = KnowledgeBase()
36
+ knowledgebase = KnowledgeBase(
37
+ index="test_index",
38
+ backend="local",
39
+ backend_config={"embedding_config": {"api_key": "test"}},
40
+ )
37
41
  long_term_memory = LongTermMemory(backend="local")
38
42
  tracer = OpentelemetryTracer()
39
43
 
@@ -62,60 +62,61 @@ EVAL_SET_DATA = {
62
62
  TRACE_SET_DATA = [
63
63
  {
64
64
  "name": "execute_tool get_city_weather",
65
- "span_id": 5421848634094108689,
66
- "trace_id": 115143748123782151752771111946932434777,
67
- "start_time": 1754884672226444000,
68
- "end_time": 1754884672226993000,
65
+ "span_id": 4497348974122733469,
66
+ "trace_id": 142655176138954930885272077198014871976,
67
+ "start_time": 1758158957162250000,
68
+ "end_time": 1758158957162426000,
69
69
  "attributes": {
70
70
  "gen_ai.tool.name": "get_city_weather",
71
- "gen_ai.tool.description": "Retrieves the weather information of a given city. the args must in English",
72
- "gen_ai.tool.call.id": "call_6ow5622pvcouw3tpvr7rfqtl",
73
- "gcp.vertex.agent.tool_call_args": '{"city": "Xi\'an"}',
71
+ "gen_ai.tool.input": '{"name": "get_city_weather", "description": "Retrieves the weather information of a given city. the args must in English", "parameters": {"city": "Beijing"}}',
72
+ "gen_ai.tool.output": '{"id": "call_w4bj25flpvs74zgyyiquqh5s", "name": "get_city_weather", "response": {"result": "Sunny, 25°C"}}',
74
73
  },
75
- "parent_span_id": 7997784243558253239,
74
+ "parent_span_id": 574819447039686650,
76
75
  },
77
76
  {
78
77
  "name": "call_llm",
79
- "span_id": 7997784243558253239,
80
- "trace_id": 115143748123782151752771111946932434777,
78
+ "span_id": 574819447039686650,
79
+ "trace_id": 142655176138954930885272077198014871976,
80
+ "start_time": 1758158945807630000,
81
+ "end_time": 1758158957171304000,
81
82
  "attributes": {
82
- "session.id": "veadk_example_session",
83
- "user.id": "veadk_default_user",
83
+ "gen_ai.app.name": "veadk_default_app",
84
+ "gen_ai.user.id": "veadk_default_user",
85
+ "gen_ai.prompt.0.role": "user",
86
+ "gen_ai.prompt.0.content": "How is the weather like in BeiJing?",
84
87
  },
85
- "parent_span_id": 14844888006539887900,
88
+ "parent_span_id": 13789664766018020416,
86
89
  },
87
90
  {
88
91
  "name": "call_llm",
89
- "span_id": 7789424022423491416,
90
- "trace_id": 115143748123782151752771111946932434777,
92
+ "span_id": 9007934154052797946,
93
+ "trace_id": 142655176138954930885272077198014871976,
94
+ "start_time": 1758158957171713000,
95
+ "end_time": 1758158964035230000,
91
96
  "attributes": {
92
- "session.id": "veadk_example_session",
93
- "user.id": "veadk_default_user",
97
+ "gen_ai.app.name": "veadk_default_app",
98
+ "gen_ai.user.id": "veadk_default_user",
99
+ "gen_ai.prompt.0.content": "How is the weather like in BeiJing?",
100
+ "gen_ai.completion.0.content": "The weather in Beijing is sunny with a temperature of 25°C.",
94
101
  },
95
- "parent_span_id": 14844888006539887900,
102
+ "parent_span_id": 13789664766018020416,
96
103
  },
97
104
  {
98
105
  "name": "agent_run [chat_robot]",
99
- "span_id": 14844888006539887900,
100
- "trace_id": 115143748123782151752771111946932434777,
101
- "attributes": {
102
- "session.id": "veadk_example_session",
103
- "user.id": "veadk_default_user",
104
- },
105
- "parent_span_id": 2943363177785645047,
106
+ "span_id": 13789664766018020416,
107
+ "trace_id": 142655176138954930885272077198014871976,
108
+ "start_time": 1758158945807350000,
109
+ "end_time": 1758158964035291000,
110
+ "attributes": {},
111
+ "parent_span_id": 5589459087402275636,
106
112
  },
107
113
  {
108
- "name": "invocation [veadk_default_app]",
109
- "span_id": 2943363177785645047,
110
- "trace_id": 115143748123782151752771111946932434777,
111
- "start_time": 1754884660687962000,
112
- "end_time": 1754884676664833000,
113
- "attributes": {
114
- "input.value": '{"user_id": "veadk_default_user", "session_id": "veadk_example_session", "new_message": "{\\"parts\\": [{\\"video_metadata\\": null, \\"thought\\": null, \\"inline_data\\": null, \\"file_data\\": null, \\"thought_signature\\": null, \\"code_execution_result\\": null, \\"executable_code\\": null, \\"function_call\\": null, \\"function_response\\": null, \\"text\\": \\"How is the weather like in Xi\'an?\\"}], \\"role\\": \\"user\\"}", "run_config": "{\\"speech_config\\": null, \\"response_modalities\\": null, \\"save_input_blobs_as_artifacts\\": false, \\"support_cfc\\": false, \\"streaming_mode\\": \\"StreamingMode.NONE\\", \\"output_audio_transcription\\": null, \\"input_audio_transcription\\": null, \\"realtime_input_config\\": null, \\"enable_affective_dialog\\": null, \\"proactivity\\": null, \\"max_llm_calls\\": 500}"}',
115
- "user.id": "veadk_default_user",
116
- "session.id": "veadk_example_session",
117
- "output.value": '{"content":{"parts":[{"text":"The weather in Xi\'an is cool, with a temperature of 18\u00b0C."}],"role":"model"},"partial":false,"usage_metadata":{"candidates_token_count":132,"prompt_token_count":547,"total_token_count":679},"invocation_id":"e-ea6bb35b-c3f0-4c5c-b127-c71c7d6d6441","author":"chat_robot","actions":{"state_delta":{},"artifact_delta":{},"requested_auth_configs":{}},"id":"c0929124-9be0-4f75-a6ba-f7a531c9ccb6","timestamp":1754884672.227546}',
118
- },
114
+ "name": "invocation",
115
+ "span_id": 5589459087402275636,
116
+ "trace_id": 142655176138954930885272077198014871976,
117
+ "start_time": 1758158945807233000,
118
+ "end_time": 1758158964035304000,
119
+ "attributes": {},
119
120
  "parent_span_id": None,
120
121
  },
121
122
  ]
@@ -154,8 +155,8 @@ def test_tracing_file_to_evalset():
154
155
  assert len(base_evaluator.invocation_list) == 1
155
156
  assert len(base_evaluator.invocation_list[0].invocations) == 1
156
157
  assert (
157
- base_evaluator.invocation_list[0].invocations[0].invocation_id
158
- == "e-ea6bb35b-c3f0-4c5c-b127-c71c7d6d6441"
158
+ base_evaluator.invocation_list[0].invocations[0].expected_output
159
+ == "The weather in Beijing is sunny with a temperature of 25°C."
159
160
  )
160
161
 
161
162
  os.remove(tracing_file_path)
@@ -12,24 +12,20 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+
15
16
  import pytest
16
17
 
17
18
  from veadk.knowledgebase import KnowledgeBase
19
+ from veadk.knowledgebase.backends.in_memory_backend import InMemoryKnowledgeBackend
18
20
 
19
21
 
20
22
  @pytest.mark.asyncio
21
23
  async def test_knowledgebase():
22
24
  app_name = "kb_test_app"
23
- key = "Supercalifragilisticexpialidocious"
24
- kb = KnowledgeBase(backend="local")
25
- # Attempt to delete any existing data for the app_name before adding new data
26
- kb.add(
27
- data=[f"knowledgebase_id is {key}"],
28
- app_name=app_name,
29
- )
30
- res_list = kb.search(
31
- query="knowledgebase_id",
25
+ kb = KnowledgeBase(
26
+ backend="local",
32
27
  app_name=app_name,
28
+ backend_config={"embedding_config": {"api_key": "test"}},
33
29
  )
34
- res = "".join(res_list)
35
- assert key in res, f"Test failed for backend local res is {res}"
30
+
31
+ assert isinstance(kb._backend, InMemoryKnowledgeBackend)
@@ -12,11 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+
15
16
  import pytest
16
- from google.adk.events import Event
17
- from google.adk.sessions import Session
18
17
  from google.adk.tools import load_memory
19
- from google.genai import types
20
18
 
21
19
  from veadk.agent import Agent
22
20
  from veadk.memory.long_term_memory import LongTermMemory
@@ -27,7 +25,11 @@ user_id = "test_user"
27
25
 
28
26
  @pytest.mark.asyncio
29
27
  async def test_long_term_memory():
30
- long_term_memory = LongTermMemory(backend="local")
28
+ long_term_memory = LongTermMemory(
29
+ backend="local",
30
+ # app_name=app_name,
31
+ # user_id=user_id,
32
+ )
31
33
  agent = Agent(
32
34
  name="all_name",
33
35
  model_name="test_model_name",
@@ -41,31 +43,8 @@ async def test_long_term_memory():
41
43
 
42
44
  assert load_memory in agent.tools, "load_memory tool not found in agent tools"
43
45
 
44
- # mock session
45
- session = Session(
46
- id="test_session_id",
47
- app_name=app_name,
48
- user_id=user_id,
49
- events=[
50
- Event(
51
- invocation_id="test_invocation_id",
52
- author="user",
53
- branch=None,
54
- content=types.Content(
55
- parts=[types.Part(text="My name is Alice.")],
56
- role="user",
57
- ),
58
- )
59
- ],
60
- )
61
-
62
- await long_term_memory.add_session_to_memory(session)
46
+ assert not agent.long_term_memory._backend
63
47
 
64
- memories = await long_term_memory.search_memory(
65
- app_name=app_name,
66
- user_id=user_id,
67
- query="Alice",
68
- )
69
- assert (
70
- "Alice" in memories.model_dump()["memories"][0]["content"]["parts"][0]["text"]
71
- )
48
+ # assert agent.long_term_memory._backend.index == build_long_term_memory_index(
49
+ # app_name, user_id
50
+ # )
@@ -15,7 +15,6 @@
15
15
  import asyncio
16
16
  import os
17
17
 
18
- import veadk.memory.short_term_memory
19
18
  from veadk.memory.short_term_memory import ShortTermMemory
20
19
  from veadk.utils.misc import formatted_timestamp
21
20
 
@@ -35,11 +34,11 @@ def test_short_term_memory():
35
34
  )
36
35
  assert session is not None
37
36
 
38
- # database - local
39
- veadk.memory.short_term_memory.DEFAULT_LOCAL_DATABASE_PATH = (
40
- f"/tmp/tmp_for_test_{formatted_timestamp()}.db"
37
+ # sqlite
38
+ memory = ShortTermMemory(
39
+ backend="sqlite",
40
+ local_database_path=f"/tmp/tmp_for_test_{formatted_timestamp()}.db",
41
41
  )
42
- memory = ShortTermMemory(backend="database")
43
42
  asyncio.run(
44
43
  memory.session_service.create_session(
45
44
  app_name="app", user_id="user", session_id="session"
@@ -51,5 +50,5 @@ def test_short_term_memory():
51
50
  )
52
51
  )
53
52
  assert session is not None
54
- assert os.path.exists(veadk.memory.short_term_memory.DEFAULT_LOCAL_DATABASE_PATH)
55
- os.remove(veadk.memory.short_term_memory.DEFAULT_LOCAL_DATABASE_PATH)
53
+ assert os.path.exists(memory.local_database_path)
54
+ os.remove(memory.local_database_path)
@@ -84,6 +84,9 @@ class Agent(LlmAgent):
84
84
  knowledgebase: Optional[KnowledgeBase] = None
85
85
  """The knowledgebase provided to agent."""
86
86
 
87
+ short_term_memory: Optional[ShortTermMemory] = None
88
+ """The short term memory provided to agent."""
89
+
87
90
  long_term_memory: Optional[LongTermMemory] = None
88
91
  """The long term memory provided to agent.
89
92
 
@@ -196,7 +199,6 @@ class Agent(LlmAgent):
196
199
  collect_runtime_data: bool = False,
197
200
  eval_set_id: str = "",
198
201
  save_session_to_memory: bool = False,
199
- enable_memory_optimization: bool = False,
200
202
  ):
201
203
  """Running the agent. The runner and session service will be created automatically.
202
204
 
@@ -226,7 +228,6 @@ class Agent(LlmAgent):
226
228
  # memory service
227
229
  short_term_memory = ShortTermMemory(
228
230
  backend="database" if load_history_sessions_from_db else "local",
229
- enable_memory_optimization=enable_memory_optimization,
230
231
  db_url=db_url,
231
232
  )
232
233
  session_service = short_term_memory.session_service
@@ -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
+ # Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.
16
+ #
17
+ # Licensed under the Apache License, Version 2.0 (the "License");
18
+ # you may not use this file except in compliance with the License.
19
+ # You may obtain a copy of the License at
20
+ #
21
+ # http://www.apache.org/licenses/LICENSE-2.0
22
+ #
23
+ # Unless required by applicable law or agreed to in writing, software
24
+ # distributed under the License is distributed on an "AS IS" BASIS,
25
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
26
+ # See the License for the specific language governing permissions and
27
+ # limitations under the License.
28
+
29
+ import os
30
+
31
+ from typing_extensions import override
32
+
33
+ from veadk.auth.veauth.base_veauth import BaseVeAuth
34
+ from veadk.utils.logger import get_logger
35
+
36
+ # from veadk.utils.volcengine_sign import ve_request
37
+
38
+ logger = get_logger(__name__)
39
+
40
+
41
+ class OpensearchVeAuth(BaseVeAuth):
42
+ def __init__(
43
+ self,
44
+ access_key: str = os.getenv("VOLCENGINE_ACCESS_KEY", ""),
45
+ secret_key: str = os.getenv("VOLCENGINE_SECRET_KEY", ""),
46
+ ) -> None:
47
+ super().__init__(access_key, secret_key)
48
+
49
+ self._token: str = ""
50
+
51
+ @override
52
+ def _fetch_token(self) -> None:
53
+ logger.info("Fetching Opensearch STS token...")
54
+
55
+ # res = ve_request(
56
+ # request_body={},
57
+ # action="GetOrCreatePromptPilotAPIKeys",
58
+ # ak=self.access_key,
59
+ # sk=self.secret_key,
60
+ # service="ark",
61
+ # version="2024-01-01",
62
+ # region="cn-beijing",
63
+ # host="open.volcengineapi.com",
64
+ # )
65
+ # try:
66
+ # self._token = res["Result"]["APIKeys"][0]["APIKey"]
67
+ # except KeyError:
68
+ # raise ValueError(f"Failed to get Prompt Pilot token: {res}")
69
+
70
+ @property
71
+ def token(self) -> str:
72
+ if self._token:
73
+ return self._token
74
+ self._fetch_token()
75
+ return self._token
@@ -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
+ # Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.
16
+ #
17
+ # Licensed under the Apache License, Version 2.0 (the "License");
18
+ # you may not use this file except in compliance with the License.
19
+ # You may obtain a copy of the License at
20
+ #
21
+ # http://www.apache.org/licenses/LICENSE-2.0
22
+ #
23
+ # Unless required by applicable law or agreed to in writing, software
24
+ # distributed under the License is distributed on an "AS IS" BASIS,
25
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
26
+ # See the License for the specific language governing permissions and
27
+ # limitations under the License.
28
+
29
+ import os
30
+
31
+ from typing_extensions import override
32
+
33
+ from veadk.auth.veauth.base_veauth import BaseVeAuth
34
+ from veadk.utils.logger import get_logger
35
+
36
+ # from veadk.utils.volcengine_sign import ve_request
37
+
38
+ logger = get_logger(__name__)
39
+
40
+
41
+ class PostgreSqlVeAuth(BaseVeAuth):
42
+ def __init__(
43
+ self,
44
+ access_key: str = os.getenv("VOLCENGINE_ACCESS_KEY", ""),
45
+ secret_key: str = os.getenv("VOLCENGINE_SECRET_KEY", ""),
46
+ ) -> None:
47
+ super().__init__(access_key, secret_key)
48
+
49
+ self._token: str = ""
50
+
51
+ @override
52
+ def _fetch_token(self) -> None:
53
+ logger.info("Fetching PostgreSQL STS token...")
54
+
55
+ # res = ve_request(
56
+ # request_body={},
57
+ # action="GetOrCreatePromptPilotAPIKeys",
58
+ # ak=self.access_key,
59
+ # sk=self.secret_key,
60
+ # service="ark",
61
+ # version="2024-01-01",
62
+ # region="cn-beijing",
63
+ # host="open.volcengineapi.com",
64
+ # )
65
+ # try:
66
+ # self._token = res["Result"]["APIKeys"][0]["APIKey"]
67
+ # except KeyError:
68
+ # raise ValueError(f"Failed to get Prompt Pilot token: {res}")
69
+
70
+ @property
71
+ def token(self) -> str:
72
+ if self._token:
73
+ return self._token
74
+ self._fetch_token()
75
+ return self._token
@@ -16,10 +16,11 @@
16
16
  import click
17
17
 
18
18
  from veadk.cli.cli_deploy import deploy
19
+ from veadk.cli.cli_eval import eval
19
20
  from veadk.cli.cli_init import init
21
+ from veadk.cli.cli_pipeline import pipeline
20
22
  from veadk.cli.cli_prompt import prompt
21
23
  from veadk.cli.cli_web import web
22
- from veadk.cli.cli_pipeline import pipeline
23
24
  from veadk.version import VERSION
24
25
 
25
26
 
@@ -37,6 +38,7 @@ veadk.add_command(init)
37
38
  veadk.add_command(prompt)
38
39
  veadk.add_command(web)
39
40
  veadk.add_command(pipeline)
41
+ veadk.add_command(eval)
40
42
 
41
43
  if __name__ == "__main__":
42
44
  veadk()