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.
- {veadk_python-0.2.7 → veadk_python-0.2.9}/PKG-INFO +28 -5
- {veadk_python-0.2.7 → veadk_python-0.2.9}/README.md +11 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/pyproject.toml +22 -6
- {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_agent.py +5 -1
- {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_evaluator.py +39 -38
- {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_knowledgebase.py +7 -11
- {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_long_term_memory.py +10 -31
- {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_short_term_memory.py +6 -7
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/agent.py +3 -2
- veadk_python-0.2.9/veadk/auth/veauth/opensearch_veauth.py +75 -0
- veadk_python-0.2.9/veadk/auth/veauth/postgresql_veauth.py +75 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cli/cli.py +3 -1
- veadk_python-0.2.9/veadk/cli/cli_eval.py +160 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cli/cli_prompt.py +9 -2
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cli/cli_web.py +6 -1
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/configs/database_configs.py +43 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/configs/model_configs.py +32 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/consts.py +11 -4
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/adk_evaluator/adk_evaluator.py +5 -2
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/base_evaluator.py +95 -68
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py +23 -15
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/eval_set_recorder.py +2 -2
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_prompt_pilot/ve_prompt_pilot.py +9 -3
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_tls/utils.py +1 -2
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_tls/ve_tls.py +9 -5
- veadk_python-0.2.9/veadk/integrations/ve_tos/ve_tos.py +705 -0
- veadk_python-0.2.9/veadk/knowledgebase/backends/base_backend.py +59 -0
- veadk_python-0.2.9/veadk/knowledgebase/backends/in_memory_backend.py +82 -0
- veadk_python-0.2.9/veadk/knowledgebase/backends/opensearch_backend.py +136 -0
- veadk_python-0.2.9/veadk/knowledgebase/backends/redis_backend.py +144 -0
- veadk_python-0.2.9/veadk/knowledgebase/backends/utils.py +91 -0
- veadk_python-0.2.9/veadk/knowledgebase/backends/vikingdb_knowledge_backend.py +524 -0
- veadk_python-0.2.9/veadk/knowledgebase/entry.py +25 -0
- veadk_python-0.2.9/veadk/knowledgebase/knowledgebase.py +159 -0
- veadk_python-0.2.9/veadk/memory/__init__.py +35 -0
- veadk_python-0.2.9/veadk/memory/long_term_memory.py +240 -0
- 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
- veadk_python-0.2.9/veadk/memory/long_term_memory_backends/in_memory_backend.py +65 -0
- veadk_python-0.2.9/veadk/memory/long_term_memory_backends/mem0_backend.py +129 -0
- veadk_python-0.2.9/veadk/memory/long_term_memory_backends/opensearch_backend.py +120 -0
- veadk_python-0.2.9/veadk/memory/long_term_memory_backends/redis_backend.py +127 -0
- veadk_python-0.2.9/veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py +148 -0
- veadk_python-0.2.9/veadk/memory/short_term_memory.py +128 -0
- veadk_python-0.2.9/veadk/memory/short_term_memory_backends/base_backend.py +31 -0
- veadk_python-0.2.9/veadk/memory/short_term_memory_backends/mysql_backend.py +41 -0
- veadk_python-0.2.9/veadk/memory/short_term_memory_backends/postgresql_backend.py +41 -0
- veadk_python-0.2.9/veadk/memory/short_term_memory_backends/sqlite_backend.py +48 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/runner.py +12 -19
- veadk_python-0.2.9/veadk/tools/builtin_tools/generate_image.py +355 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/image_edit.py +56 -16
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/image_generate.py +51 -15
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/video_generate.py +41 -41
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/web_scraper.py +1 -1
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/web_search.py +7 -7
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/load_knowledgebase_tool.py +2 -8
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/attributes/extractors/llm_attributes_extractors.py +21 -3
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/exporters/apmplus_exporter.py +24 -6
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/exporters/cozeloop_exporter.py +2 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/exporters/inmemory_exporter.py +22 -8
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/exporters/tls_exporter.py +2 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/opentelemetry_tracer.py +13 -10
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/telemetry.py +66 -63
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/utils/misc.py +15 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/version.py +1 -1
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk_python.egg-info/PKG-INFO +28 -5
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk_python.egg-info/SOURCES.txt +24 -15
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk_python.egg-info/requires.txt +17 -4
- veadk_python-0.2.7/veadk/database/__init__.py +0 -17
- veadk_python-0.2.7/veadk/database/database_adapter.py +0 -533
- veadk_python-0.2.7/veadk/database/database_factory.py +0 -80
- veadk_python-0.2.7/veadk/database/kv/redis_database.py +0 -159
- veadk_python-0.2.7/veadk/database/local_database.py +0 -62
- veadk_python-0.2.7/veadk/database/relational/mysql_database.py +0 -173
- veadk_python-0.2.7/veadk/database/vector/opensearch_vector_database.py +0 -263
- veadk_python-0.2.7/veadk/database/vector/type.py +0 -50
- veadk_python-0.2.7/veadk/database/viking/viking_database.py +0 -638
- veadk_python-0.2.7/veadk/database/viking/viking_memory_db.py +0 -525
- veadk_python-0.2.7/veadk/integrations/ve_tos/ve_tos.py +0 -231
- veadk_python-0.2.7/veadk/knowledgebase/knowledgebase.py +0 -178
- veadk_python-0.2.7/veadk/memory/long_term_memory.py +0 -157
- veadk_python-0.2.7/veadk/memory/short_term_memory.py +0 -120
- veadk_python-0.2.7/veadk/tracing/telemetry/exporters/__init__.py +0 -13
- veadk_python-0.2.7/veadk/utils/__init__.py +0 -13
- {veadk_python-0.2.7 → veadk_python-0.2.9}/LICENSE +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/setup.cfg +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_cloud.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_multiple_agents.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_runner.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_runtime_data_collecting.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/tests/test_tracing.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/a2a/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/a2a/agent_card.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/a2a/remote_ve_agent.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/a2a/ve_a2a_server.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/a2a/ve_agent_executor.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/a2a/ve_task_store.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/agent_builder.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/agents/loop_agent.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/agents/parallel_agent.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/agents/sequential_agent.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/base_auth.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/veauth/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/veauth/apmplus_veauth.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/veauth/ark_veauth.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/veauth/base_veauth.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/veauth/cozeloop_veauth.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/veauth/prompt_pilot_veauth.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/auth/veauth/vesearch_veauth.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cli/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cli/cli_deploy.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cli/cli_init.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cli/cli_pipeline.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cloud/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cloud/cloud_agent_engine.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/cloud/cloud_app.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/config.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/configs/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/configs/tool_configs.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/configs/tracing_configs.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/adk_evaluator/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/deepeval_evaluator/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/eval_set_file_loader.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/types.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/evaluation/utils/prometheus.py +0 -0
- {veadk_python-0.2.7/veadk/database/kv → veadk_python-0.2.9/veadk/integrations/ve_apig}/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_apig/ve_apig.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_apig/ve_apig_utils.py +0 -0
- {veadk_python-0.2.7/veadk/database/relational → veadk_python-0.2.9/veadk/integrations/ve_code_pipeline}/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_code_pipeline/ve_code_pipeline.py +0 -0
- {veadk_python-0.2.7/veadk/database/vector → veadk_python-0.2.9/veadk/integrations/ve_cozeloop}/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_cozeloop/ve_cozeloop.py +0 -0
- {veadk_python-0.2.7/veadk/database/viking → veadk_python-0.2.9/veadk/integrations/ve_cr}/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_cr/ve_cr.py +0 -0
- {veadk_python-0.2.7/veadk/integrations/ve_apig → veadk_python-0.2.9/veadk/integrations/ve_faas}/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/cookiecutter.json +0 -0
- {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
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
- {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
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/agent.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/requirements.txt +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
- {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
- {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
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/ve_faas.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/ve_faas_utils.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/cookiecutter.json +0 -0
- {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
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
- {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
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/Dockerfile +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {veadk_python-0.2.7/veadk/integrations/ve_faas → veadk_python-0.2.9/veadk/integrations/ve_prompt_pilot}/__init__.py +0 -0
- {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
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/knowledgebase/__init__.py +0 -0
- {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
- {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
- {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
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/memory/short_term_memory_processor.py +0 -0
- {veadk_python-0.2.7/veadk/integrations/ve_tls → veadk_python-0.2.9/veadk/prompts}/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/prompts/agent_default_prompt.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/prompts/prompt_evaluator.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/prompts/prompt_memory_processor.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/prompts/prompt_optimization.py +0 -0
- {veadk_python-0.2.7/veadk/memory → veadk_python-0.2.9/veadk/tools}/__init__.py +0 -0
- {veadk_python-0.2.7/veadk/prompts → veadk_python-0.2.9/veadk/tools/builtin_tools}/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/lark.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/las.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/mcp_router.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/builtin_tools/vesearch.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/demo_tools.py +0 -0
- {veadk_python-0.2.7/veadk/tools → veadk_python-0.2.9/veadk/tools/sandbox}/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/sandbox/browser_sandbox.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/sandbox/code_sandbox.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tools/sandbox/computer_sandbox.py +0 -0
- {veadk_python-0.2.7/veadk/tools/builtin_tools → veadk_python-0.2.9/veadk/tracing}/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/base_tracer.py +0 -0
- {veadk_python-0.2.7/veadk/tools/sandbox → veadk_python-0.2.9/veadk/tracing/telemetry}/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/attributes/attributes.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/attributes/extractors/common_attributes_extractors.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/attributes/extractors/tool_attributes_extractors.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/attributes/extractors/types.py +0 -0
- {veadk_python-0.2.7/veadk/tracing → veadk_python-0.2.9/veadk/tracing/telemetry/exporters}/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/tracing/telemetry/exporters/base_exporter.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/types.py +0 -0
- {veadk_python-0.2.7/veadk/tracing/telemetry → veadk_python-0.2.9/veadk/utils}/__init__.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/utils/logger.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/utils/mcp_utils.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/utils/patches.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk/utils/volcengine_sign.py +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk_python.egg-info/dependency_links.txt +0 -0
- {veadk_python-0.2.7 → veadk_python-0.2.9}/veadk_python.egg-info/entry_points.txt +0 -0
- {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.
|
|
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
|
|
222
|
-
Requires-Dist:
|
|
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>=
|
|
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.
|
|
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
|
|
26
|
-
"
|
|
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
|
|
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>=
|
|
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":
|
|
66
|
-
"trace_id":
|
|
67
|
-
"start_time":
|
|
68
|
-
"end_time":
|
|
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.
|
|
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":
|
|
74
|
+
"parent_span_id": 574819447039686650,
|
|
76
75
|
},
|
|
77
76
|
{
|
|
78
77
|
"name": "call_llm",
|
|
79
|
-
"span_id":
|
|
80
|
-
"trace_id":
|
|
78
|
+
"span_id": 574819447039686650,
|
|
79
|
+
"trace_id": 142655176138954930885272077198014871976,
|
|
80
|
+
"start_time": 1758158945807630000,
|
|
81
|
+
"end_time": 1758158957171304000,
|
|
81
82
|
"attributes": {
|
|
82
|
-
"
|
|
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":
|
|
88
|
+
"parent_span_id": 13789664766018020416,
|
|
86
89
|
},
|
|
87
90
|
{
|
|
88
91
|
"name": "call_llm",
|
|
89
|
-
"span_id":
|
|
90
|
-
"trace_id":
|
|
92
|
+
"span_id": 9007934154052797946,
|
|
93
|
+
"trace_id": 142655176138954930885272077198014871976,
|
|
94
|
+
"start_time": 1758158957171713000,
|
|
95
|
+
"end_time": 1758158964035230000,
|
|
91
96
|
"attributes": {
|
|
92
|
-
"
|
|
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":
|
|
102
|
+
"parent_span_id": 13789664766018020416,
|
|
96
103
|
},
|
|
97
104
|
{
|
|
98
105
|
"name": "agent_run [chat_robot]",
|
|
99
|
-
"span_id":
|
|
100
|
-
"trace_id":
|
|
101
|
-
"
|
|
102
|
-
|
|
103
|
-
|
|
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
|
|
109
|
-
"span_id":
|
|
110
|
-
"trace_id":
|
|
111
|
-
"start_time":
|
|
112
|
-
"end_time":
|
|
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].
|
|
158
|
-
== "
|
|
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
|
-
|
|
24
|
-
|
|
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
|
-
|
|
35
|
-
assert
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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
|
-
#
|
|
39
|
-
|
|
40
|
-
|
|
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(
|
|
55
|
-
os.remove(
|
|
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()
|