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