veadk-python 0.2.14__tar.gz → 0.2.16__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.14 → veadk_python-0.2.16}/PKG-INFO +1 -1
- {veadk_python-0.2.14 → veadk_python-0.2.16}/pyproject.toml +1 -1
- {veadk_python-0.2.14 → veadk_python-0.2.16}/tests/test_agent.py +1 -1
- {veadk_python-0.2.14 → veadk_python-0.2.16}/tests/test_tracing.py +4 -4
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/agent.py +39 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/cli/cli_create.py +20 -40
- veadk_python-0.2.16/veadk/cli/cli_web.py +112 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/config.py +12 -1
- veadk_python-0.2.16/veadk/tools/builtin_tools/generate_image.py +23 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/builtin_tools/run_code.py +5 -1
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/telemetry/opentelemetry_tracer.py +6 -3
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/utils/misc.py +7 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/version.py +1 -1
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk_python.egg-info/PKG-INFO +1 -1
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk_python.egg-info/SOURCES.txt +1 -0
- veadk_python-0.2.14/veadk/cli/cli_web.py +0 -203
- {veadk_python-0.2.14 → veadk_python-0.2.16}/LICENSE +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/README.md +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/setup.cfg +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/tests/test_cloud.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/tests/test_evaluator.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/tests/test_knowledgebase.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/tests/test_long_term_memory.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/tests/test_multiple_agents.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/tests/test_runner.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/tests/test_runtime_data_collecting.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/tests/test_short_term_memory.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/a2a/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/a2a/agent_card.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/a2a/remote_ve_agent.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/a2a/ve_a2a_server.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/a2a/ve_agent_executor.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/a2a/ve_task_store.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/agent_builder.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/agents/loop_agent.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/agents/parallel_agent.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/agents/sequential_agent.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/auth/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/auth/base_auth.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/auth/veauth/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/auth/veauth/apmplus_veauth.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/auth/veauth/ark_veauth.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/auth/veauth/base_veauth.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/auth/veauth/cozeloop_veauth.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/auth/veauth/opensearch_veauth.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/auth/veauth/postgresql_veauth.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/auth/veauth/prompt_pilot_veauth.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/auth/veauth/utils.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/auth/veauth/vesearch_veauth.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/cli/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/cli/cli.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/cli/cli_deploy.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/cli/cli_eval.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/cli/cli_init.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/cli/cli_kb.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/cli/cli_pipeline.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/cli/cli_prompt.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/cli/cli_uploadevalset.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/cloud/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/cloud/cloud_agent_engine.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/cloud/cloud_app.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/configs/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/configs/database_configs.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/configs/model_configs.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/configs/tool_configs.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/configs/tracing_configs.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/consts.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/evaluation/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/evaluation/adk_evaluator/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/evaluation/adk_evaluator/adk_evaluator.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/evaluation/base_evaluator.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/evaluation/deepeval_evaluator/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/evaluation/eval_set_file_loader.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/evaluation/eval_set_recorder.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/evaluation/types.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/evaluation/utils/prometheus.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_apig/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_apig/ve_apig.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_apig/ve_apig_utils.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_code_pipeline/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_code_pipeline/ve_code_pipeline.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_cozeloop/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_cozeloop/ve_cozeloop.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_cr/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_cr/ve_cr.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/template/cookiecutter.json +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/agent.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/requirements.txt +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/agent.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/ve_faas.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/ve_faas_utils.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/cookiecutter.json +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/Dockerfile +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/init_db.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/models.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/requirements.txt +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/css/style.css +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/js/admin.js +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/dashboard.html +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/edit_post.html +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/login.html +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/posts.html +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/base.html +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/index.html +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/post.html +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_prompt_pilot/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_prompt_pilot/ve_prompt_pilot.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_tls/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_tls/utils.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_tls/ve_tls.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_tos/ve_tos.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_viking_db_memory/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/integrations/ve_viking_db_memory/ve_viking_db_memory.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/knowledgebase/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/knowledgebase/backends/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/knowledgebase/backends/base_backend.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/knowledgebase/backends/in_memory_backend.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/knowledgebase/backends/opensearch_backend.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/knowledgebase/backends/redis_backend.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/knowledgebase/backends/utils.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/knowledgebase/backends/vikingdb_knowledge_backend.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/knowledgebase/entry.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/knowledgebase/knowledgebase.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/long_term_memory.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/long_term_memory_backends/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/long_term_memory_backends/base_backend.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/long_term_memory_backends/in_memory_backend.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/long_term_memory_backends/mem0_backend.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/long_term_memory_backends/opensearch_backend.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/long_term_memory_backends/redis_backend.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/short_term_memory.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/short_term_memory_backends/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/short_term_memory_backends/base_backend.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/short_term_memory_backends/mysql_backend.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/short_term_memory_backends/postgresql_backend.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/short_term_memory_backends/sqlite_backend.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/memory/short_term_memory_processor.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/prompts/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/prompts/agent_default_prompt.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/prompts/prompt_evaluator.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/prompts/prompt_memory_processor.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/prompts/prompt_optimization.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/runner.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/builtin_tools/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/builtin_tools/image_edit.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/builtin_tools/image_generate.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/builtin_tools/lark.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/builtin_tools/las.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/builtin_tools/load_knowledgebase.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/builtin_tools/mcp_router.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/builtin_tools/vesearch.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/builtin_tools/video_generate.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/builtin_tools/web_scraper.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/builtin_tools/web_search.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/demo_tools.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/load_knowledgebase_tool.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/sandbox/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/sandbox/browser_sandbox.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/sandbox/code_sandbox.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tools/sandbox/computer_sandbox.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/base_tracer.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/telemetry/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/telemetry/attributes/attributes.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/telemetry/attributes/extractors/common_attributes_extractors.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/telemetry/attributes/extractors/llm_attributes_extractors.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/telemetry/attributes/extractors/tool_attributes_extractors.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/telemetry/attributes/extractors/types.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/telemetry/exporters/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/telemetry/exporters/apmplus_exporter.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/telemetry/exporters/base_exporter.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/telemetry/exporters/cozeloop_exporter.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/telemetry/exporters/inmemory_exporter.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/telemetry/exporters/tls_exporter.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/tracing/telemetry/telemetry.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/types.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/utils/__init__.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/utils/logger.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/utils/mcp_utils.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/utils/patches.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk/utils/volcengine_sign.py +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk_python.egg-info/dependency_links.txt +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk_python.egg-info/entry_points.txt +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/veadk_python.egg-info/requires.txt +0 -0
- {veadk_python-0.2.14 → veadk_python-0.2.16}/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.16
|
|
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
|
|
@@ -88,7 +88,7 @@ def test_agent_default_values():
|
|
|
88
88
|
assert agent.sub_agents == []
|
|
89
89
|
assert agent.knowledgebase is None
|
|
90
90
|
assert agent.long_term_memory is None
|
|
91
|
-
assert agent.tracers == []
|
|
91
|
+
# assert agent.tracers == []
|
|
92
92
|
|
|
93
93
|
|
|
94
94
|
@patch.dict("os.environ", {"MODEL_AGENT_API_KEY": "mock_api_key"})
|
|
@@ -82,7 +82,7 @@ async def test_tracing():
|
|
|
82
82
|
exporters = init_exporters()
|
|
83
83
|
tracer = OpentelemetryTracer(exporters=exporters)
|
|
84
84
|
|
|
85
|
-
assert len(tracer.exporters) ==
|
|
85
|
+
assert len(tracer.exporters) == 4 # with extra 1 built-in exporters
|
|
86
86
|
|
|
87
87
|
# TODO: Ensure the tracing provider is set correctly after loading SDK
|
|
88
88
|
|
|
@@ -98,7 +98,7 @@ async def test_tracing_with_global_provider():
|
|
|
98
98
|
#
|
|
99
99
|
tracer = OpentelemetryTracer(exporters=exporters)
|
|
100
100
|
|
|
101
|
-
assert len(tracer.exporters) ==
|
|
101
|
+
assert len(tracer.exporters) == 4 # with extra 1 built-in exporters
|
|
102
102
|
|
|
103
103
|
|
|
104
104
|
@pytest.mark.asyncio
|
|
@@ -112,5 +112,5 @@ async def test_tracing_with_apmplus_global_provider():
|
|
|
112
112
|
# init OpentelemetryTracer
|
|
113
113
|
tracer = OpentelemetryTracer(exporters=exporters)
|
|
114
114
|
|
|
115
|
-
# apmplus exporter won't init again
|
|
116
|
-
assert len(tracer.exporters) ==
|
|
115
|
+
# apmplus exporter won't init again, so there are cozeloop, tls, in_memory exporter
|
|
116
|
+
assert len(tracer.exporters) == 3 # with extra 1 built-in exporters
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
from __future__ import annotations
|
|
16
16
|
|
|
17
|
+
import os
|
|
17
18
|
from typing import Optional, Union
|
|
18
19
|
|
|
19
20
|
from google.adk.agents import LlmAgent, RunConfig
|
|
@@ -132,6 +133,8 @@ class Agent(LlmAgent):
|
|
|
132
133
|
"You are trying to use your own LiteLLM client, some default request headers may be missing."
|
|
133
134
|
)
|
|
134
135
|
|
|
136
|
+
self._prepare_tracers()
|
|
137
|
+
|
|
135
138
|
if self.knowledgebase:
|
|
136
139
|
from veadk.tools.builtin_tools.load_knowledgebase import (
|
|
137
140
|
LoadKnowledgebaseTool,
|
|
@@ -194,6 +197,42 @@ class Agent(LlmAgent):
|
|
|
194
197
|
|
|
195
198
|
return final_output
|
|
196
199
|
|
|
200
|
+
def _prepare_tracers(self):
|
|
201
|
+
enable_apmplus_tracer = os.getenv("ENABLE_APMPLUS", "false").lower() == "true"
|
|
202
|
+
enable_cozeloop_tracer = os.getenv("ENABLE_COZELOOP", "false").lower() == "true"
|
|
203
|
+
enable_tls_tracer = os.getenv("ENABLE_TLS", "false").lower() == "true"
|
|
204
|
+
|
|
205
|
+
if not self.tracers:
|
|
206
|
+
from veadk.tracing.telemetry.opentelemetry_tracer import OpentelemetryTracer
|
|
207
|
+
|
|
208
|
+
self.tracers.append(OpentelemetryTracer())
|
|
209
|
+
|
|
210
|
+
exporters = self.tracers[0].exporters # type: ignore
|
|
211
|
+
|
|
212
|
+
from veadk.tracing.telemetry.exporters.apmplus_exporter import APMPlusExporter
|
|
213
|
+
from veadk.tracing.telemetry.exporters.cozeloop_exporter import CozeloopExporter
|
|
214
|
+
from veadk.tracing.telemetry.exporters.tls_exporter import TLSExporter
|
|
215
|
+
|
|
216
|
+
if enable_apmplus_tracer and not any(
|
|
217
|
+
isinstance(e, APMPlusExporter) for e in exporters
|
|
218
|
+
):
|
|
219
|
+
self.tracers[0].exporters.append(APMPlusExporter()) # type: ignore
|
|
220
|
+
logger.info("Enable APMPlus exporter by env.")
|
|
221
|
+
|
|
222
|
+
if enable_cozeloop_tracer and not any(
|
|
223
|
+
isinstance(e, CozeloopExporter) for e in exporters
|
|
224
|
+
):
|
|
225
|
+
self.tracers[0].exporters.append(CozeloopExporter()) # type: ignore
|
|
226
|
+
logger.info("Enable CozeLoop exporter by env.")
|
|
227
|
+
|
|
228
|
+
if enable_tls_tracer and not any(isinstance(e, TLSExporter) for e in exporters):
|
|
229
|
+
self.tracers[0].exporters.append(TLSExporter()) # type: ignore
|
|
230
|
+
logger.info("Enable TLS exporter by env.")
|
|
231
|
+
|
|
232
|
+
logger.debug(
|
|
233
|
+
f"Opentelemetry Tracer init {len(self.tracers[0].exporters)} exporters" # type: ignore
|
|
234
|
+
)
|
|
235
|
+
|
|
197
236
|
async def run(
|
|
198
237
|
self,
|
|
199
238
|
prompt: str | list[str],
|
|
@@ -16,26 +16,8 @@ import click
|
|
|
16
16
|
import shutil
|
|
17
17
|
from pathlib import Path
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
agent:
|
|
22
|
-
name: doubao-seed-1-6-251015
|
|
23
|
-
api_key: {ark_api_key}
|
|
24
|
-
video:
|
|
25
|
-
name: doubao-seedance-1-0-pro-250528
|
|
26
|
-
# if you want to use different api_key, just uncomment following line and complete api_key
|
|
27
|
-
# api_key:
|
|
28
|
-
image:
|
|
29
|
-
name: doubao-seedream-4-0-250828
|
|
30
|
-
# if you want to use different api_key, just uncomment following line and complete api_key
|
|
31
|
-
# api_key:
|
|
32
|
-
|
|
33
|
-
logging:
|
|
34
|
-
# ERROR
|
|
35
|
-
# WARNING
|
|
36
|
-
# INFO
|
|
37
|
-
# DEBUG
|
|
38
|
-
level: DEBUG
|
|
19
|
+
_ENV_TEMPLATE = """\
|
|
20
|
+
MODEL_AGENT_API_KEY={ark_api_key}
|
|
39
21
|
"""
|
|
40
22
|
|
|
41
23
|
_INIT_PY_TEMPLATE = """\
|
|
@@ -49,16 +31,17 @@ root_agent = Agent(
|
|
|
49
31
|
name="root_agent",
|
|
50
32
|
description="A helpful assistant for user questions.",
|
|
51
33
|
instruction="Answer user questions to the best of your knowledge",
|
|
34
|
+
model_name="doubao-seed-1-6-251015", # <---- you can change your model here
|
|
52
35
|
)
|
|
53
36
|
"""
|
|
54
37
|
|
|
55
38
|
_SUCCESS_MSG = """\
|
|
56
|
-
Agent
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
39
|
+
Agent created in {agent_folder}:
|
|
40
|
+
- .env
|
|
41
|
+
- __init__.py
|
|
42
|
+
- agent.py
|
|
60
43
|
|
|
61
|
-
You can run the agent by executing:
|
|
44
|
+
You can run the agent by executing: veadk web
|
|
62
45
|
"""
|
|
63
46
|
|
|
64
47
|
|
|
@@ -69,37 +52,34 @@ def _prompt_for_ark_api_key() -> str:
|
|
|
69
52
|
)
|
|
70
53
|
click.echo("You have two options:")
|
|
71
54
|
click.echo(" 1. Enter the API key now.")
|
|
72
|
-
click.echo(" 2. Configure it later in the generated
|
|
55
|
+
click.echo(" 2. Configure it later in the generated .env file.")
|
|
73
56
|
choice = click.prompt("Please select an option", type=click.Choice(["1", "2"]))
|
|
74
57
|
if choice == "1":
|
|
75
58
|
return click.prompt("Please enter your ARK API key")
|
|
76
59
|
else:
|
|
77
|
-
click.secho(
|
|
78
|
-
"You can set the `api_key` in the config.yaml file later.", fg="yellow"
|
|
79
|
-
)
|
|
60
|
+
click.secho("You can set the `api_key` in the .env file later.", fg="yellow")
|
|
80
61
|
return ""
|
|
81
62
|
|
|
82
63
|
|
|
83
|
-
def _generate_files(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
agent_file_path = agent_dir_path / "agent.py"
|
|
64
|
+
def _generate_files(ark_api_key: str, target_dir_path: Path) -> None:
|
|
65
|
+
target_dir_path.mkdir(exist_ok=True)
|
|
66
|
+
env_path = target_dir_path / ".env"
|
|
67
|
+
init_file_path = target_dir_path / "__init__.py"
|
|
68
|
+
agent_file_path = target_dir_path / "agent.py"
|
|
89
69
|
|
|
90
|
-
|
|
91
|
-
|
|
70
|
+
env_content = _ENV_TEMPLATE.format(ark_api_key=ark_api_key)
|
|
71
|
+
env_path.write_text(env_content)
|
|
92
72
|
init_file_path.write_text(_INIT_PY_TEMPLATE)
|
|
93
73
|
agent_file_path.write_text(_AGENT_PY_TEMPLATE)
|
|
94
74
|
|
|
95
75
|
click.secho(
|
|
96
|
-
_SUCCESS_MSG.format(
|
|
76
|
+
_SUCCESS_MSG.format(agent_folder=target_dir_path),
|
|
97
77
|
fg="green",
|
|
98
78
|
)
|
|
99
79
|
|
|
100
80
|
|
|
101
81
|
@click.command()
|
|
102
|
-
@click.
|
|
82
|
+
@click.argument("agent_name", required=False)
|
|
103
83
|
@click.option("--ark-api-key", help="The ARK API key.")
|
|
104
84
|
def create(agent_name: str, ark_api_key: str) -> None:
|
|
105
85
|
"""Creates a new agent in the current folder with prepopulated agent template."""
|
|
@@ -119,4 +99,4 @@ def create(agent_name: str, ark_api_key: str) -> None:
|
|
|
119
99
|
return
|
|
120
100
|
shutil.rmtree(target_dir_path)
|
|
121
101
|
|
|
122
|
-
_generate_files(
|
|
102
|
+
_generate_files(ark_api_key, target_dir_path)
|
|
@@ -0,0 +1,112 @@
|
|
|
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 functools import wraps
|
|
16
|
+
|
|
17
|
+
import click
|
|
18
|
+
|
|
19
|
+
from veadk.utils.logger import get_logger
|
|
20
|
+
|
|
21
|
+
logger = get_logger(__name__)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def patch_adkwebserver_disable_openapi():
|
|
25
|
+
"""
|
|
26
|
+
Monkey patch AdkWebServer.get_fast_api to remove openapi.json route.
|
|
27
|
+
"""
|
|
28
|
+
import google.adk.cli.adk_web_server
|
|
29
|
+
from fastapi.routing import APIRoute
|
|
30
|
+
from starlette.routing import Route
|
|
31
|
+
|
|
32
|
+
original_get_fast_api = google.adk.cli.adk_web_server.AdkWebServer.get_fast_api_app
|
|
33
|
+
|
|
34
|
+
def wrapped_get_fast_api(self, *args, **kwargs):
|
|
35
|
+
app = original_get_fast_api(self, *args, **kwargs)
|
|
36
|
+
|
|
37
|
+
paths = ["/openapi.json", "/docs", "/redoc"]
|
|
38
|
+
new_routes = []
|
|
39
|
+
for route in app.router.routes:
|
|
40
|
+
if isinstance(route, (APIRoute, Route)) and route.path in paths:
|
|
41
|
+
continue
|
|
42
|
+
new_routes.append(route)
|
|
43
|
+
app.router.routes = new_routes
|
|
44
|
+
|
|
45
|
+
return app
|
|
46
|
+
|
|
47
|
+
google.adk.cli.adk_web_server.AdkWebServer.get_fast_api_app = wrapped_get_fast_api
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
@click.command(
|
|
51
|
+
context_settings=dict(ignore_unknown_options=True, allow_extra_args=True)
|
|
52
|
+
)
|
|
53
|
+
@click.pass_context
|
|
54
|
+
def web(ctx, *args, **kwargs) -> None:
|
|
55
|
+
"""Launch web with long term and short term memory."""
|
|
56
|
+
from google.adk.cli import adk_web_server
|
|
57
|
+
from google.adk.runners import Runner as ADKRunner
|
|
58
|
+
|
|
59
|
+
from veadk import Agent
|
|
60
|
+
from veadk.agents.loop_agent import LoopAgent
|
|
61
|
+
from veadk.agents.parallel_agent import ParallelAgent
|
|
62
|
+
from veadk.agents.sequential_agent import SequentialAgent
|
|
63
|
+
|
|
64
|
+
def before_get_runner_async(func):
|
|
65
|
+
logger.info("Hook before `get_runner_async`")
|
|
66
|
+
|
|
67
|
+
@wraps(func)
|
|
68
|
+
async def wrapper(*args, **kwargs) -> ADKRunner:
|
|
69
|
+
self: adk_web_server.AdkWebServer = args[0]
|
|
70
|
+
app_name: str = args[1]
|
|
71
|
+
"""Returns the cached runner for the given app."""
|
|
72
|
+
agent_or_app = self.agent_loader.load_agent(app_name)
|
|
73
|
+
|
|
74
|
+
if isinstance(agent_or_app, (SequentialAgent, LoopAgent, ParallelAgent)):
|
|
75
|
+
logger.warning(
|
|
76
|
+
"Detect VeADK workflow agent, the short-term memory and long-term memory of each sub agent are useless."
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
if isinstance(agent_or_app, Agent):
|
|
80
|
+
logger.info("Detect VeADK Agent.")
|
|
81
|
+
|
|
82
|
+
if agent_or_app.short_term_memory:
|
|
83
|
+
self.session_service = (
|
|
84
|
+
agent_or_app.short_term_memory.session_service
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
if agent_or_app.long_term_memory:
|
|
88
|
+
self.memory_service = agent_or_app.long_term_memory
|
|
89
|
+
logger.info(
|
|
90
|
+
f"Long term memory backend is {self.memory_service.backend}"
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
logger.info(
|
|
94
|
+
f"Current session_service={self.session_service.__class__.__name__}, memory_service={self.memory_service.__class__.__name__}"
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
runner = await func(*args, **kwargs)
|
|
98
|
+
return runner
|
|
99
|
+
|
|
100
|
+
return wrapper
|
|
101
|
+
|
|
102
|
+
adk_web_server.AdkWebServer.get_runner_async = before_get_runner_async(
|
|
103
|
+
adk_web_server.AdkWebServer.get_runner_async
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
patch_adkwebserver_disable_openapi()
|
|
107
|
+
|
|
108
|
+
from google.adk.cli.cli_tools_click import cli_web
|
|
109
|
+
|
|
110
|
+
extra_args = ctx.args
|
|
111
|
+
logger.debug(f"User args: {ctx.args}")
|
|
112
|
+
cli_web.main(args=extra_args, standalone_mode=False)
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
import os
|
|
16
16
|
from typing import Any
|
|
17
17
|
|
|
18
|
-
from dotenv import find_dotenv
|
|
18
|
+
from dotenv import find_dotenv, load_dotenv
|
|
19
19
|
from pydantic import BaseModel, Field
|
|
20
20
|
|
|
21
21
|
from veadk.configs.database_configs import (
|
|
@@ -33,8 +33,16 @@ from veadk.configs.tracing_configs import (
|
|
|
33
33
|
PrometheusConfig,
|
|
34
34
|
TLSConfig,
|
|
35
35
|
)
|
|
36
|
+
from veadk.utils.logger import get_logger
|
|
36
37
|
from veadk.utils.misc import set_envs
|
|
37
38
|
|
|
39
|
+
logger = get_logger(__name__)
|
|
40
|
+
|
|
41
|
+
if load_dotenv(find_dotenv(usecwd=True)):
|
|
42
|
+
logger.info(f"Find `.env` file in {find_dotenv(usecwd=True)}, load envs.")
|
|
43
|
+
else:
|
|
44
|
+
logger.info("No env file found.")
|
|
45
|
+
|
|
38
46
|
|
|
39
47
|
class VeADKConfig(BaseModel):
|
|
40
48
|
model: ModelConfig = Field(default_factory=ModelConfig)
|
|
@@ -89,7 +97,10 @@ config_yaml_path = find_dotenv(filename="config.yaml", usecwd=True)
|
|
|
89
97
|
veadk_environments = {}
|
|
90
98
|
|
|
91
99
|
if config_yaml_path:
|
|
100
|
+
logger.info(f"Find `config.yaml` file in {config_yaml_path}")
|
|
92
101
|
config_dict, _veadk_environments = set_envs(config_yaml_path=config_yaml_path)
|
|
93
102
|
veadk_environments.update(_veadk_environments)
|
|
103
|
+
else:
|
|
104
|
+
logger.warning("No `config.yaml` file found.")
|
|
94
105
|
|
|
95
106
|
settings = VeADKConfig()
|
|
@@ -0,0 +1,23 @@
|
|
|
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 veadk.tools.builtin_tools.image_generate import image_generate # noqa: F401
|
|
16
|
+
from veadk.utils.logger import get_logger
|
|
17
|
+
|
|
18
|
+
logger = get_logger(__name__)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
logger.warning(
|
|
22
|
+
"The 'generate_image' tool is deprecated and will be removed in future versions. Use `image_generate` tool from `veadk.tools.builtin_tools.image_generate` instead."
|
|
23
|
+
)
|
|
@@ -42,6 +42,10 @@ def run_code(code: str, language: str, tool_context: ToolContext) -> str:
|
|
|
42
42
|
region = getenv("AGENTKIT_TOOL_REGION", "cn-beijing")
|
|
43
43
|
|
|
44
44
|
session_id = tool_context._invocation_context.session.id
|
|
45
|
+
agent_name = tool_context._invocation_context.agent.name
|
|
46
|
+
user_id = tool_context._invocation_context.user_id
|
|
47
|
+
tool_user_session_id = agent_name + "_" + user_id + "_" + session_id
|
|
48
|
+
logger.debug(f"tool_user_session_id: {tool_user_session_id}")
|
|
45
49
|
|
|
46
50
|
logger.debug(
|
|
47
51
|
f"Running code in language: {language}, session_id={session_id}, code={code}, tool_id={tool_id}, host={host}, service={service}, region={region}"
|
|
@@ -53,7 +57,7 @@ def run_code(code: str, language: str, tool_context: ToolContext) -> str:
|
|
|
53
57
|
res = ve_request(
|
|
54
58
|
request_body={
|
|
55
59
|
"ToolId": tool_id,
|
|
56
|
-
"UserSessionId":
|
|
60
|
+
"UserSessionId": tool_user_session_id,
|
|
57
61
|
"OperationType": "RunCode",
|
|
58
62
|
"OperationPayload": json.dumps(
|
|
59
63
|
{
|
|
@@ -21,7 +21,7 @@ from typing import Any
|
|
|
21
21
|
from opentelemetry import trace as trace_api
|
|
22
22
|
from opentelemetry.sdk import trace as trace_sdk
|
|
23
23
|
from opentelemetry.sdk.resources import Resource
|
|
24
|
-
from opentelemetry.sdk.trace import
|
|
24
|
+
from opentelemetry.sdk.trace import SpanLimits, TracerProvider
|
|
25
25
|
from opentelemetry.sdk.trace.export import BatchSpanProcessor, SimpleSpanProcessor
|
|
26
26
|
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
|
27
27
|
from typing_extensions import override
|
|
@@ -31,8 +31,8 @@ from veadk.tracing.telemetry.exporters.apmplus_exporter import APMPlusExporter
|
|
|
31
31
|
from veadk.tracing.telemetry.exporters.base_exporter import BaseExporter
|
|
32
32
|
from veadk.tracing.telemetry.exporters.inmemory_exporter import InMemoryExporter
|
|
33
33
|
from veadk.utils.logger import get_logger
|
|
34
|
-
from veadk.utils.patches import patch_google_adk_telemetry
|
|
35
34
|
from veadk.utils.misc import get_temp_dir
|
|
35
|
+
from veadk.utils.patches import patch_google_adk_telemetry
|
|
36
36
|
|
|
37
37
|
logger = get_logger(__name__)
|
|
38
38
|
|
|
@@ -131,12 +131,15 @@ class OpentelemetryTracer(BaseModel, BaseTracer):
|
|
|
131
131
|
) + global_tracer_provider._active_span_processor._span_processors
|
|
132
132
|
|
|
133
133
|
self._processors.append(self._inmemory_exporter.processor)
|
|
134
|
+
self.exporters.append(self._inmemory_exporter)
|
|
134
135
|
else:
|
|
135
136
|
logger.warning(
|
|
136
137
|
"InMemoryExporter processor is not initialized, cannot add to OpentelemetryTracer."
|
|
137
138
|
)
|
|
138
139
|
|
|
139
|
-
logger.info(
|
|
140
|
+
logger.info(
|
|
141
|
+
f"Init OpentelemetryTracer with {len(self._processors)} exporter(s)."
|
|
142
|
+
)
|
|
140
143
|
|
|
141
144
|
@property
|
|
142
145
|
def trace_file_path(self) -> str:
|
|
@@ -128,6 +128,10 @@ def getenv(
|
|
|
128
128
|
|
|
129
129
|
|
|
130
130
|
def set_envs(config_yaml_path: str) -> tuple[dict, dict]:
|
|
131
|
+
from veadk.utils.logger import get_logger
|
|
132
|
+
|
|
133
|
+
logger = get_logger(__name__)
|
|
134
|
+
|
|
131
135
|
with open(config_yaml_path, "r", encoding="utf-8") as yaml_file:
|
|
132
136
|
config_dict = safe_load(yaml_file)
|
|
133
137
|
|
|
@@ -138,6 +142,9 @@ def set_envs(config_yaml_path: str) -> tuple[dict, dict]:
|
|
|
138
142
|
k = k.upper()
|
|
139
143
|
|
|
140
144
|
if k in os.environ:
|
|
145
|
+
logger.info(
|
|
146
|
+
f"Environment variable {k} has been set, value in `config.yaml` will be ignored."
|
|
147
|
+
)
|
|
141
148
|
veadk_environments[k] = os.environ[k]
|
|
142
149
|
continue
|
|
143
150
|
veadk_environments[k] = str(v)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: veadk-python
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.16
|
|
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
|
|
@@ -157,6 +157,7 @@ veadk/tools/__init__.py
|
|
|
157
157
|
veadk/tools/demo_tools.py
|
|
158
158
|
veadk/tools/load_knowledgebase_tool.py
|
|
159
159
|
veadk/tools/builtin_tools/__init__.py
|
|
160
|
+
veadk/tools/builtin_tools/generate_image.py
|
|
160
161
|
veadk/tools/builtin_tools/image_edit.py
|
|
161
162
|
veadk/tools/builtin_tools/image_generate.py
|
|
162
163
|
veadk/tools/builtin_tools/lark.py
|