veadk-python 0.2.32__tar.gz → 0.5.5__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.32 → veadk_python-0.5.5}/PKG-INFO +25 -25
- {veadk_python-0.2.32 → veadk_python-0.5.5}/pyproject.toml +25 -26
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/agent.py +127 -13
- veadk_python-0.5.5/veadk/auth/veauth/mse_veauth.py +118 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/cli_create.py +4 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/cli_rl.py +4 -3
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/cli_web.py +10 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/templates/rl/ark/plugins/raw_async_veadk_rollout.py +2 -33
- veadk_python-0.5.5/veadk/cli/templates/rl/lightning/README.md +58 -0
- veadk_python-0.5.5/veadk/cli/templates/rl/lightning/data/demo_test.parquet +0 -0
- veadk_python-0.5.5/veadk/cli/templates/rl/lightning/data/demo_train.parquet +0 -0
- veadk_python-0.5.5/veadk/cli/templates/rl/lightning/demo_calculate_agent.py +148 -0
- veadk_python-0.5.5/veadk/cli/templates/rl/lightning/restart_ray.sh +7 -0
- veadk_python-0.5.5/veadk/cli/templates/rl/lightning/train.sh +53 -0
- veadk_python-0.5.5/veadk/community/langchain_ai/middlewares/save_session.py +60 -0
- veadk_python-0.5.5/veadk/community/langchain_ai/models/ark_model.py +34 -0
- veadk_python-0.5.5/veadk/community/langchain_ai/store/memory/viking_memory.py +102 -0
- veadk_python-0.5.5/veadk/community/langchain_ai/tools/load_knowledgebase.py +34 -0
- veadk_python-0.5.5/veadk/community/langchain_ai/tools/load_memory.py +43 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/config.py +2 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/configs/database_configs.py +14 -0
- veadk_python-0.5.5/veadk/configs/dynamic_config_manager.py +159 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/configs/model_configs.py +15 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/consts.py +5 -2
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/requirements.txt +2 -2
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_viking_db_memory/ve_viking_db_memory.py +51 -14
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/knowledgebase/backends/opensearch_backend.py +17 -3
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/knowledgebase/backends/vikingdb_knowledge_backend.py +9 -1
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/memory/long_term_memory_backends/opensearch_backend.py +12 -3
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py +28 -10
- veadk_python-0.5.5/veadk/memory/save_session_callback.py +159 -0
- veadk_python-0.5.5/veadk/models/ark_llm.py +730 -0
- veadk_python-0.5.5/veadk/prompts/prompt_manager.py +79 -0
- veadk_python-0.5.5/veadk/realtime/__init__.py +22 -0
- veadk_python-0.5.5/veadk/realtime/client.py +52 -0
- veadk_python-0.5.5/veadk/realtime/doubao_realtime_voice_llm.py +166 -0
- veadk_python-0.5.5/veadk/realtime/doubao_realtime_voice_llm_connection.py +50 -0
- veadk_python-0.5.5/veadk/realtime/live.py +471 -0
- veadk_python-0.5.5/veadk/realtime/protocol.py +158 -0
- veadk_python-0.5.5/veadk/reflector/__init__.py +13 -0
- veadk_python-0.5.5/veadk/reflector/base_reflector.py +44 -0
- veadk_python-0.5.5/veadk/reflector/local_reflector.py +77 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/runner.py +25 -15
- veadk_python-0.5.5/veadk/skills/__init__.py +13 -0
- veadk_python-0.5.5/veadk/skills/skill.py +21 -0
- veadk_python-0.5.5/veadk/skills/utils.py +61 -0
- veadk_python-0.5.5/veadk/tools/__init__.py +13 -0
- veadk_python-0.5.5/veadk/tools/builtin_tools/__init__.py +13 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/execute_skills.py +107 -10
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/image_generate.py +29 -22
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/llm_shield.py +46 -30
- veadk_python-0.5.5/veadk/tools/builtin_tools/playwright.py +53 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/video_generate.py +66 -7
- veadk_python-0.5.5/veadk/tools/builtin_tools/vod.py +71 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/web_search.py +6 -1
- veadk_python-0.5.5/veadk/tools/mcp_tool/__init__.py +13 -0
- veadk_python-0.5.5/veadk/tools/sandbox/__init__.py +13 -0
- veadk_python-0.5.5/veadk/tracing/__init__.py +13 -0
- veadk_python-0.5.5/veadk/tracing/telemetry/__init__.py +13 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tracing/telemetry/attributes/extractors/common_attributes_extractors.py +18 -0
- veadk_python-0.5.5/veadk/tracing/telemetry/exporters/__init__.py +13 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tracing/telemetry/telemetry.py +7 -2
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/types.py +5 -0
- veadk_python-0.5.5/veadk/utils/__init__.py +13 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/utils/misc.py +36 -1
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/version.py +1 -1
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk_python.egg-info/PKG-INFO +25 -25
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk_python.egg-info/SOURCES.txt +38 -0
- veadk_python-0.5.5/veadk_python.egg-info/requires.txt +57 -0
- veadk_python-0.2.32/veadk_python.egg-info/requires.txt +0 -57
- {veadk_python-0.2.32 → veadk_python-0.5.5}/LICENSE +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/README.md +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/setup.cfg +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_agent.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_cloud.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_evaluator.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_knowledgebase.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_long_term_memory.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_misc.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_multiple_agents.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_runner.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_runtime_data_collecting.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_short_term_memory.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_tracing.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_ve_a2a_middlewares.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_ve_identity_auth_config.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_ve_identity_function_tool.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_ve_identity_mcp_tool.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/tests/test_ve_identity_mcp_toolset.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/a2a/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/a2a/agent_card.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/a2a/remote_ve_agent.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/a2a/utils/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/a2a/utils/agent_to_a2a.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/a2a/ve_a2a_server.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/a2a/ve_agent_executor.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/a2a/ve_middlewares.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/a2a/ve_task_store.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/agent_builder.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/agents/loop_agent.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/agents/parallel_agent.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/agents/sequential_agent.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/auth/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/auth/base_auth.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/auth/ve_credential_service.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/auth/veauth/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/auth/veauth/apmplus_veauth.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/auth/veauth/ark_veauth.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/auth/veauth/base_veauth.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/auth/veauth/cozeloop_veauth.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/auth/veauth/opensearch_veauth.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/auth/veauth/postgresql_veauth.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/auth/veauth/prompt_pilot_veauth.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/auth/veauth/speech_veauth.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/auth/veauth/utils.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/auth/veauth/vesearch_veauth.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/auth/veauth/viking_mem0_veauth.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/cli.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/cli_agentkit.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/cli_clean.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/cli_deploy.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/cli_eval.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/cli_init.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/cli_kb.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/cli_pipeline.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/cli_prompt.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/cli_update.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/cli_uploadevalset.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/templates/rl/ark/README.md +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/templates/rl/ark/arkworkspace.toml +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/templates/rl/ark/data/demo_dataset.jsonl +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/templates/rl/ark/job.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/templates/rl/ark/job.yaml +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/templates/rl/ark/plugins/random_reward.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/templates/rl/ark/plugins/test_utils.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/templates/rl/ark/requirements.txt +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cli/templates/rl/ark/test_faas.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cloud/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cloud/cloud_agent_engine.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/cloud/cloud_app.py +0 -0
- {veadk_python-0.2.32/veadk/configs → veadk_python-0.5.5/veadk/community/langchain_ai/checkpoint}/__init__.py +0 -0
- {veadk_python-0.2.32/veadk/integrations → veadk_python-0.5.5/veadk/community/langchain_ai/checkpoint/memory}/__init__.py +0 -0
- {veadk_python-0.2.32/veadk/integrations/ve_apig → veadk_python-0.5.5/veadk/community/langchain_ai/middlewares}/__init__.py +0 -0
- {veadk_python-0.2.32/veadk/integrations/ve_code_pipeline → veadk_python-0.5.5/veadk/community/langchain_ai/models}/__init__.py +0 -0
- {veadk_python-0.2.32/veadk/integrations/ve_cozeloop → veadk_python-0.5.5/veadk/community/langchain_ai/store}/__init__.py +0 -0
- {veadk_python-0.2.32/veadk/integrations/ve_cr → veadk_python-0.5.5/veadk/community/langchain_ai/store/memory}/__init__.py +0 -0
- {veadk_python-0.2.32/veadk/integrations/ve_faas → veadk_python-0.5.5/veadk/community/langchain_ai/tools}/__init__.py +0 -0
- {veadk_python-0.2.32/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}} → veadk_python-0.5.5/veadk/configs}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/configs/auth_configs.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/configs/tool_configs.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/configs/tracing_configs.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/evaluation/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/evaluation/adk_evaluator/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/evaluation/adk_evaluator/adk_evaluator.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/evaluation/base_evaluator.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/evaluation/deepeval_evaluator/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/evaluation/eval_set_file_loader.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/evaluation/eval_set_recorder.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/evaluation/types.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/evaluation/utils/prometheus.py +0 -0
- {veadk_python-0.2.32/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src → veadk_python-0.5.5/veadk/integrations}/__init__.py +0 -0
- {veadk_python-0.2.32/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}} → veadk_python-0.5.5/veadk/integrations/ve_apig}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_apig/ve_apig.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_apig/ve_apig_utils.py +0 -0
- {veadk_python-0.2.32/veadk/integrations/ve_prompt_pilot → veadk_python-0.5.5/veadk/integrations/ve_code_pipeline}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_code_pipeline/ve_code_pipeline.py +0 -0
- {veadk_python-0.2.32/veadk/integrations/ve_tls → veadk_python-0.5.5/veadk/integrations/ve_cozeloop}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_cozeloop/ve_cozeloop.py +0 -0
- {veadk_python-0.2.32/veadk/integrations/ve_viking_db_memory → veadk_python-0.5.5/veadk/integrations/ve_cr}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_cr/ve_cr.py +0 -0
- {veadk_python-0.2.32/veadk/knowledgebase/backends → veadk_python-0.5.5/veadk/integrations/ve_faas}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/template/cookiecutter.json +0 -0
- {veadk_python-0.2.32/veadk/memory/long_term_memory_backends → veadk_python-0.5.5/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
- {veadk_python-0.2.32/veadk/memory/short_term_memory_backends → veadk_python-0.5.5/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/agent.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/requirements.txt +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/agent.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/ve_faas.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/ve_faas_utils.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/cookiecutter.json +0 -0
- {veadk_python-0.2.32/veadk/prompts → veadk_python-0.5.5/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/Dockerfile +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/init_db.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/models.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/css/style.css +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/js/admin.js +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/dashboard.html +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/edit_post.html +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/login.html +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/posts.html +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/base.html +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/index.html +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/post.html +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_identity/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_identity/auth_config.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_identity/auth_mixins.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_identity/auth_processor.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_identity/function_tool.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_identity/identity_client.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_identity/mcp_tool.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_identity/mcp_toolset.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_identity/models.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_identity/token_manager.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_identity/utils.py +0 -0
- {veadk_python-0.2.32/veadk/tools → veadk_python-0.5.5/veadk/integrations/ve_prompt_pilot}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_prompt_pilot/ve_prompt_pilot.py +0 -0
- {veadk_python-0.2.32/veadk/tools/builtin_tools → veadk_python-0.5.5/veadk/integrations/ve_tls}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_tls/utils.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_tls/ve_tls.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/integrations/ve_tos/ve_tos.py +0 -0
- {veadk_python-0.2.32/veadk/tools/mcp_tool → veadk_python-0.5.5/veadk/integrations/ve_viking_db_memory}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/knowledgebase/__init__.py +0 -0
- {veadk_python-0.2.32/veadk/tools/sandbox → veadk_python-0.5.5/veadk/knowledgebase/backends}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/knowledgebase/backends/base_backend.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/knowledgebase/backends/in_memory_backend.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/knowledgebase/backends/redis_backend.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/knowledgebase/backends/tos_vector_backend.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/knowledgebase/backends/utils.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/knowledgebase/entry.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/knowledgebase/knowledgebase.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/memory/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/memory/long_term_memory.py +0 -0
- {veadk_python-0.2.32/veadk/tracing → veadk_python-0.5.5/veadk/memory/long_term_memory_backends}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/memory/long_term_memory_backends/base_backend.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/memory/long_term_memory_backends/in_memory_backend.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/memory/long_term_memory_backends/mem0_backend.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/memory/long_term_memory_backends/redis_backend.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/memory/short_term_memory.py +0 -0
- {veadk_python-0.2.32/veadk/tracing/telemetry → veadk_python-0.5.5/veadk/memory/short_term_memory_backends}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/memory/short_term_memory_backends/base_backend.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/memory/short_term_memory_backends/mysql_backend.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/memory/short_term_memory_backends/postgresql_backend.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/memory/short_term_memory_backends/sqlite_backend.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/memory/short_term_memory_processor.py +0 -0
- {veadk_python-0.2.32/veadk/tracing/telemetry/exporters → veadk_python-0.5.5/veadk/models}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/processors/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/processors/base_run_processor.py +0 -0
- {veadk_python-0.2.32/veadk/utils → veadk_python-0.5.5/veadk/prompts}/__init__.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/prompts/agent_default_prompt.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/prompts/prompt_evaluator.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/prompts/prompt_memory_processor.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/prompts/prompt_optimization.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/agent_authorization.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/generate_image.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/image_edit.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/lark.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/las.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/link_reader.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/load_knowledgebase.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/mcp_router.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/mobile_run.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/run_code.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/tts.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/vesearch.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/builtin_tools/web_scraper.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/demo_tools.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/load_knowledgebase_tool.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/mcp_tool/trusted_mcp_session_manager.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/mcp_tool/trusted_mcp_toolset.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/sandbox/browser_sandbox.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/sandbox/code_sandbox.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tools/sandbox/computer_sandbox.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tracing/base_tracer.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tracing/telemetry/attributes/attributes.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tracing/telemetry/attributes/extractors/llm_attributes_extractors.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tracing/telemetry/attributes/extractors/tool_attributes_extractors.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tracing/telemetry/attributes/extractors/types.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tracing/telemetry/exporters/apmplus_exporter.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tracing/telemetry/exporters/base_exporter.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tracing/telemetry/exporters/cozeloop_exporter.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tracing/telemetry/exporters/inmemory_exporter.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tracing/telemetry/exporters/tls_exporter.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/tracing/telemetry/opentelemetry_tracer.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/utils/audio_manager.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/utils/auth.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/utils/logger.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/utils/mcp_utils.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/utils/patches.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk/utils/volcengine_sign.py +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk_python.egg-info/dependency_links.txt +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/veadk_python.egg-info/entry_points.txt +0 -0
- {veadk_python-0.2.32 → veadk_python-0.5.5}/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.5
|
|
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
|
|
@@ -208,40 +208,40 @@ License: Apache License
|
|
|
208
208
|
Requires-Python: >=3.10
|
|
209
209
|
Description-Content-Type: text/markdown
|
|
210
210
|
License-File: LICENSE
|
|
211
|
-
Requires-Dist: pydantic-settings
|
|
212
|
-
Requires-Dist: a2a-sdk>=0.3.
|
|
213
|
-
Requires-Dist: deprecated
|
|
214
|
-
Requires-Dist: google-adk>=1.
|
|
215
|
-
Requires-Dist: google-adk<=1.19.0
|
|
211
|
+
Requires-Dist: pydantic-settings==2.10.1
|
|
212
|
+
Requires-Dist: a2a-sdk>=0.3.7
|
|
213
|
+
Requires-Dist: deprecated==1.2.18
|
|
214
|
+
Requires-Dist: google-adk>=1.19.0
|
|
216
215
|
Requires-Dist: litellm>=1.74.3
|
|
217
|
-
Requires-Dist: loguru
|
|
218
|
-
Requires-Dist: opentelemetry-exporter-otlp
|
|
216
|
+
Requires-Dist: loguru==0.7.3
|
|
217
|
+
Requires-Dist: opentelemetry-exporter-otlp==1.37.0
|
|
219
218
|
Requires-Dist: opentelemetry-instrumentation-logging>=0.56b0
|
|
220
|
-
Requires-Dist: wrapt
|
|
221
|
-
Requires-Dist:
|
|
222
|
-
Requires-Dist: volcengine-python-sdk>=4.0.33
|
|
219
|
+
Requires-Dist: wrapt==1.17.2
|
|
220
|
+
Requires-Dist: volcengine-python-sdk>=5.0.1
|
|
223
221
|
Requires-Dist: volcengine>=1.0.193
|
|
224
|
-
Requires-Dist: agent-pilot-sdk
|
|
225
|
-
Requires-Dist: fastmcp>=2.
|
|
226
|
-
Requires-Dist: trustedmcp
|
|
227
|
-
Requires-Dist: cookiecutter
|
|
228
|
-
Requires-Dist: omegaconf
|
|
229
|
-
Requires-Dist: llama-index
|
|
230
|
-
Requires-Dist: llama-index-embeddings-openai-like
|
|
231
|
-
Requires-Dist: llama-index-llms-openai-like
|
|
232
|
-
Requires-Dist: llama-index-vector-stores-opensearch
|
|
233
|
-
Requires-Dist: psycopg2-binary
|
|
222
|
+
Requires-Dist: agent-pilot-sdk==0.1.2
|
|
223
|
+
Requires-Dist: fastmcp>=2.12.3
|
|
224
|
+
Requires-Dist: trustedmcp==0.0.5
|
|
225
|
+
Requires-Dist: cookiecutter==2.6.0
|
|
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
|
|
234
232
|
Requires-Dist: asyncpg>=0.29.0
|
|
235
|
-
Requires-Dist: pymysql
|
|
236
|
-
Requires-Dist: aiomysql
|
|
233
|
+
Requires-Dist: pymysql==1.1.1
|
|
234
|
+
Requires-Dist: aiomysql==0.3.2
|
|
237
235
|
Requires-Dist: opensearch-py==2.8.0
|
|
238
|
-
Requires-Dist: filetype
|
|
236
|
+
Requires-Dist: filetype==1.2.0
|
|
239
237
|
Requires-Dist: vikingdb-python-sdk>=0.1.3
|
|
240
|
-
Requires-Dist: agentkit-sdk-python
|
|
238
|
+
Requires-Dist: agentkit-sdk-python>=0.2.0
|
|
239
|
+
Requires-Dist: python-frontmatter==1.1.0
|
|
241
240
|
Provides-Extra: extensions
|
|
242
241
|
Requires-Dist: redis>=5.0; extra == "extensions"
|
|
243
242
|
Requires-Dist: tos>=2.8.4; extra == "extensions"
|
|
244
243
|
Requires-Dist: llama-index-vector-stores-redis>=0.6.1; extra == "extensions"
|
|
244
|
+
Requires-Dist: cozeloop>=0.1.21; extra == "extensions"
|
|
245
245
|
Provides-Extra: database
|
|
246
246
|
Requires-Dist: redis>=5.0; extra == "database"
|
|
247
247
|
Requires-Dist: pymysql>=1.1.1; extra == "database"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "veadk-python"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.5.5"
|
|
4
4
|
description = "Volcengine agent development kit, integrations with Volcengine cloud services."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -12,36 +12,35 @@ authors = [
|
|
|
12
12
|
{name = "Meng Wang", email = "mengwangwm@gmail.com"}
|
|
13
13
|
]
|
|
14
14
|
dependencies = [
|
|
15
|
-
"pydantic-settings
|
|
16
|
-
"a2a-sdk>=0.3.
|
|
17
|
-
"deprecated
|
|
18
|
-
"google-adk>=1.
|
|
19
|
-
"google-adk<=1.19.0", # For basic agent architecture
|
|
15
|
+
"pydantic-settings==2.10.1", # Config management
|
|
16
|
+
"a2a-sdk>=0.3.7", # For Google Agent2Agent protocol
|
|
17
|
+
"deprecated==1.2.18",
|
|
18
|
+
"google-adk>=1.19.0", # For basic agent architecture
|
|
20
19
|
"litellm>=1.74.3", # For model inference
|
|
21
|
-
"loguru
|
|
22
|
-
"opentelemetry-exporter-otlp
|
|
20
|
+
"loguru==0.7.3", # For better logging
|
|
21
|
+
"opentelemetry-exporter-otlp==1.37.0",
|
|
23
22
|
"opentelemetry-instrumentation-logging>=0.56b0",
|
|
24
|
-
"wrapt
|
|
25
|
-
"
|
|
26
|
-
"volcengine-python-sdk>=4.0.33", # For Volcengine API
|
|
23
|
+
"wrapt==1.17.2", # For patching built-in functions
|
|
24
|
+
"volcengine-python-sdk>=5.0.1", # For Volcengine API
|
|
27
25
|
"volcengine>=1.0.193", # For Volcengine sign
|
|
28
|
-
"agent-pilot-sdk
|
|
29
|
-
"fastmcp>=2.
|
|
30
|
-
"trustedmcp
|
|
31
|
-
"cookiecutter
|
|
32
|
-
"omegaconf
|
|
33
|
-
"llama-index
|
|
34
|
-
"llama-index-embeddings-openai-like
|
|
35
|
-
"llama-index-llms-openai-like
|
|
36
|
-
"llama-index-vector-stores-opensearch
|
|
37
|
-
"psycopg2-binary
|
|
26
|
+
"agent-pilot-sdk==0.1.2", # Prompt optimization by Volcengine AgentPilot/PromptPilot toolkits
|
|
27
|
+
"fastmcp>=2.12.3", # For running MCP
|
|
28
|
+
"trustedmcp==0.0.5", # For running TrustedMCP
|
|
29
|
+
"cookiecutter==2.6.0", # For cloud deploy
|
|
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)
|
|
38
36
|
"asyncpg>=0.29.0", # For async PostgreSQL database (short term memory)
|
|
39
|
-
"pymysql
|
|
40
|
-
"aiomysql
|
|
37
|
+
"pymysql==1.1.1", # For MySQL database (short term memory)
|
|
38
|
+
"aiomysql==0.3.2", # For async MySQL database (short term memory)
|
|
41
39
|
"opensearch-py==2.8.0",
|
|
42
|
-
"filetype
|
|
40
|
+
"filetype==1.2.0",
|
|
43
41
|
"vikingdb-python-sdk>=0.1.3",
|
|
44
|
-
"agentkit-sdk-python"
|
|
42
|
+
"agentkit-sdk-python>=0.2.0",
|
|
43
|
+
"python-frontmatter==1.1.0",
|
|
45
44
|
]
|
|
46
45
|
|
|
47
46
|
[project.scripts]
|
|
@@ -52,6 +51,7 @@ extensions = [
|
|
|
52
51
|
"redis>=5.0", # For Redis database
|
|
53
52
|
"tos>=2.8.4", # For TOS storage and Viking DB
|
|
54
53
|
"llama-index-vector-stores-redis>=0.6.1",
|
|
54
|
+
"cozeloop>=0.1.21", #For Cozeloop Prompt manager
|
|
55
55
|
]
|
|
56
56
|
database = [
|
|
57
57
|
"redis>=5.0", # For Redis database
|
|
@@ -74,7 +74,6 @@ dev = [
|
|
|
74
74
|
"pytest-xdist>=3.8.0",
|
|
75
75
|
]
|
|
76
76
|
|
|
77
|
-
|
|
78
77
|
[dependency-groups]
|
|
79
78
|
dev = [
|
|
80
79
|
"pre-commit>=4.2.0", # Format checking
|
|
@@ -24,8 +24,11 @@ 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
|
+
import uuid
|
|
28
|
+
|
|
27
29
|
from google.adk.agents import LlmAgent, RunConfig
|
|
28
30
|
from google.adk.agents.base_agent import BaseAgent
|
|
31
|
+
from google.adk.agents.context_cache_config import ContextCacheConfig
|
|
29
32
|
from google.adk.agents.llm_agent import InstructionProvider, ToolUnion
|
|
30
33
|
from google.adk.agents.run_config import StreamingMode
|
|
31
34
|
from google.adk.models.lite_llm import LiteLlm
|
|
@@ -44,7 +47,11 @@ from veadk.knowledgebase import KnowledgeBase
|
|
|
44
47
|
from veadk.memory.long_term_memory import LongTermMemory
|
|
45
48
|
from veadk.memory.short_term_memory import ShortTermMemory
|
|
46
49
|
from veadk.processors import BaseRunProcessor, NoOpRunProcessor
|
|
47
|
-
from veadk.prompts.agent_default_prompt import
|
|
50
|
+
from veadk.prompts.agent_default_prompt import (
|
|
51
|
+
DEFAULT_DESCRIPTION,
|
|
52
|
+
DEFAULT_INSTRUCTION,
|
|
53
|
+
)
|
|
54
|
+
from veadk.prompts.prompt_manager import BasePromptManager
|
|
48
55
|
from veadk.tracing.base_tracer import BaseTracer
|
|
49
56
|
from veadk.utils.logger import get_logger
|
|
50
57
|
from veadk.utils.patches import patch_asyncio, 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.
|
|
@@ -78,15 +85,20 @@ class Agent(LlmAgent):
|
|
|
78
85
|
short_term_memory (Optional[ShortTermMemory]): Session-based memory for temporary context.
|
|
79
86
|
long_term_memory (Optional[LongTermMemory]): Cross-session memory for persistent user context.
|
|
80
87
|
tracers (list[BaseTracer]): List of tracers used for telemetry and monitoring.
|
|
88
|
+
enable_authz (bool): Whether to enable agent authorization checks.
|
|
89
|
+
auto_save_session (bool): Whether to automatically save sessions to long-term memory.
|
|
81
90
|
"""
|
|
82
91
|
|
|
83
92
|
model_config = ConfigDict(arbitrary_types_allowed=True, extra="allow")
|
|
84
93
|
|
|
94
|
+
id: str = Field(default_factory=lambda: str(uuid.uuid4()).split("-")[0])
|
|
85
95
|
name: str = DEFAULT_AGENT_NAME
|
|
86
96
|
description: str = DEFAULT_DESCRIPTION
|
|
87
97
|
instruction: Union[str, InstructionProvider] = DEFAULT_INSTRUCTION
|
|
88
98
|
|
|
89
|
-
model_name: str = Field(
|
|
99
|
+
model_name: Union[str, list[str]] = Field(
|
|
100
|
+
default_factory=lambda: settings.model.name
|
|
101
|
+
)
|
|
90
102
|
model_provider: str = Field(default_factory=lambda: settings.model.provider)
|
|
91
103
|
model_api_base: str = Field(default_factory=lambda: settings.model.api_base)
|
|
92
104
|
model_api_key: str = Field(default_factory=lambda: settings.model.api_key)
|
|
@@ -96,6 +108,8 @@ class Agent(LlmAgent):
|
|
|
96
108
|
|
|
97
109
|
sub_agents: list[BaseAgent] = Field(default_factory=list, exclude=True)
|
|
98
110
|
|
|
111
|
+
prompt_manager: Optional[BasePromptManager] = None
|
|
112
|
+
|
|
99
113
|
knowledgebase: Optional[KnowledgeBase] = None
|
|
100
114
|
|
|
101
115
|
short_term_memory: Optional[ShortTermMemory] = None
|
|
@@ -103,6 +117,10 @@ class Agent(LlmAgent):
|
|
|
103
117
|
|
|
104
118
|
tracers: list[BaseTracer] = []
|
|
105
119
|
|
|
120
|
+
enable_responses: bool = False
|
|
121
|
+
|
|
122
|
+
context_cache_config: Optional[ContextCacheConfig] = None
|
|
123
|
+
|
|
106
124
|
run_processor: Optional[BaseRunProcessor] = Field(default=None, exclude=True)
|
|
107
125
|
"""Optional run processor for intercepting and processing agent execution flows.
|
|
108
126
|
|
|
@@ -125,6 +143,10 @@ class Agent(LlmAgent):
|
|
|
125
143
|
|
|
126
144
|
enable_authz: bool = False
|
|
127
145
|
|
|
146
|
+
auto_save_session: bool = False
|
|
147
|
+
|
|
148
|
+
skills: list[str] = Field(default_factory=list)
|
|
149
|
+
|
|
128
150
|
def model_post_init(self, __context: Any) -> None:
|
|
129
151
|
super().model_post_init(None) # for sub_agents init
|
|
130
152
|
|
|
@@ -151,12 +173,41 @@ class Agent(LlmAgent):
|
|
|
151
173
|
logger.info(f"Model extra config: {self.model_extra_config}")
|
|
152
174
|
|
|
153
175
|
if not self.model:
|
|
154
|
-
self.
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
176
|
+
if self.enable_responses:
|
|
177
|
+
from veadk.models.ark_llm import ArkLlm
|
|
178
|
+
|
|
179
|
+
self.model = ArkLlm(
|
|
180
|
+
model=f"{self.model_provider}/{self.model_name}",
|
|
181
|
+
api_key=self.model_api_key,
|
|
182
|
+
api_base=self.model_api_base,
|
|
183
|
+
**self.model_extra_config,
|
|
184
|
+
)
|
|
185
|
+
else:
|
|
186
|
+
fallbacks = None
|
|
187
|
+
if isinstance(self.model_name, list):
|
|
188
|
+
if self.model_name:
|
|
189
|
+
model_name = self.model_name[0]
|
|
190
|
+
fallbacks = [
|
|
191
|
+
f"{self.model_provider}/{m}" for m in self.model_name[1:]
|
|
192
|
+
]
|
|
193
|
+
logger.info(
|
|
194
|
+
f"Using primary model: {model_name}, with fallbacks: {self.model_name[1:]}"
|
|
195
|
+
)
|
|
196
|
+
else:
|
|
197
|
+
model_name = settings.model.name
|
|
198
|
+
logger.warning(
|
|
199
|
+
f"Empty model_name list provided, using default model from settings: {model_name}"
|
|
200
|
+
)
|
|
201
|
+
else:
|
|
202
|
+
model_name = self.model_name
|
|
203
|
+
|
|
204
|
+
self.model = LiteLlm(
|
|
205
|
+
model=f"{self.model_provider}/{model_name}",
|
|
206
|
+
api_key=self.model_api_key,
|
|
207
|
+
api_base=self.model_api_base,
|
|
208
|
+
fallbacks=fallbacks,
|
|
209
|
+
**self.model_extra_config,
|
|
210
|
+
)
|
|
160
211
|
logger.debug(
|
|
161
212
|
f"LiteLLM client created with config: {self.model_extra_config}"
|
|
162
213
|
)
|
|
@@ -202,13 +253,70 @@ class Agent(LlmAgent):
|
|
|
202
253
|
else:
|
|
203
254
|
self.before_agent_callback = check_agent_authorization
|
|
204
255
|
|
|
256
|
+
if self.prompt_manager:
|
|
257
|
+
self.instruction = self.prompt_manager.get_prompt
|
|
258
|
+
|
|
259
|
+
if self.auto_save_session:
|
|
260
|
+
if self.long_term_memory is None:
|
|
261
|
+
logger.warning(
|
|
262
|
+
"auto_save_session is enabled, but long_term_memory is not initialized."
|
|
263
|
+
)
|
|
264
|
+
else:
|
|
265
|
+
from veadk.memory.save_session_callback import (
|
|
266
|
+
save_session_to_long_term_memory,
|
|
267
|
+
)
|
|
268
|
+
|
|
269
|
+
if self.after_agent_callback:
|
|
270
|
+
if isinstance(self.after_agent_callback, list):
|
|
271
|
+
self.after_agent_callback.append(
|
|
272
|
+
save_session_to_long_term_memory
|
|
273
|
+
)
|
|
274
|
+
else:
|
|
275
|
+
self.after_agent_callback = [
|
|
276
|
+
self.after_agent_callback,
|
|
277
|
+
save_session_to_long_term_memory,
|
|
278
|
+
]
|
|
279
|
+
else:
|
|
280
|
+
self.after_agent_callback = save_session_to_long_term_memory
|
|
281
|
+
|
|
282
|
+
if self.skills:
|
|
283
|
+
self.load_skills()
|
|
284
|
+
|
|
205
285
|
logger.info(f"VeADK version: {VERSION}")
|
|
206
286
|
|
|
207
287
|
logger.info(f"{self.__class__.__name__} `{self.name}` init done.")
|
|
208
288
|
logger.debug(
|
|
209
|
-
f"Agent: {self.model_dump(include={'name', 'model_name', 'model_api_base', 'tools'})}"
|
|
289
|
+
f"Agent: {self.model_dump(include={'id', 'name', 'model_name', 'model_api_base', 'tools', 'skills'})}"
|
|
290
|
+
)
|
|
291
|
+
|
|
292
|
+
def update_model(self, model_name: str):
|
|
293
|
+
logger.info(f"Updating model to {model_name}")
|
|
294
|
+
self.model = self.model.model_copy(
|
|
295
|
+
update={"model": f"{self.model_provider}/{model_name}"}
|
|
210
296
|
)
|
|
211
297
|
|
|
298
|
+
def load_skills(self):
|
|
299
|
+
from pathlib import Path
|
|
300
|
+
|
|
301
|
+
from veadk.skills.utils import load_skills_from_directory
|
|
302
|
+
|
|
303
|
+
skills = []
|
|
304
|
+
for skill in self.skills:
|
|
305
|
+
path = Path(skill)
|
|
306
|
+
if path.is_dir():
|
|
307
|
+
skills.extend(load_skills_from_directory(path))
|
|
308
|
+
else:
|
|
309
|
+
logger.error(
|
|
310
|
+
f"Skill {skill} is not a directory, skip. Loading skills from cloud is WIP."
|
|
311
|
+
)
|
|
312
|
+
if skills:
|
|
313
|
+
self.instruction += "\nYou have the following skills:\n"
|
|
314
|
+
|
|
315
|
+
for skill in skills:
|
|
316
|
+
self.instruction += (
|
|
317
|
+
f"- name: {skill.name}\n- description: {skill.description}\n\n"
|
|
318
|
+
)
|
|
319
|
+
|
|
212
320
|
async def _run(
|
|
213
321
|
self,
|
|
214
322
|
runner,
|
|
@@ -274,14 +382,20 @@ class Agent(LlmAgent):
|
|
|
274
382
|
return
|
|
275
383
|
|
|
276
384
|
if not self.tracers:
|
|
277
|
-
from veadk.tracing.telemetry.opentelemetry_tracer import
|
|
385
|
+
from veadk.tracing.telemetry.opentelemetry_tracer import (
|
|
386
|
+
OpentelemetryTracer,
|
|
387
|
+
)
|
|
278
388
|
|
|
279
389
|
self.tracers.append(OpentelemetryTracer())
|
|
280
390
|
|
|
281
391
|
exporters = self.tracers[0].exporters # type: ignore
|
|
282
392
|
|
|
283
|
-
from veadk.tracing.telemetry.exporters.apmplus_exporter import
|
|
284
|
-
|
|
393
|
+
from veadk.tracing.telemetry.exporters.apmplus_exporter import (
|
|
394
|
+
APMPlusExporter,
|
|
395
|
+
)
|
|
396
|
+
from veadk.tracing.telemetry.exporters.cozeloop_exporter import (
|
|
397
|
+
CozeloopExporter,
|
|
398
|
+
)
|
|
285
399
|
from veadk.tracing.telemetry.exporters.tls_exporter import TLSExporter
|
|
286
400
|
|
|
287
401
|
if enable_apmplus_tracer and not any(
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
import os
|
|
16
|
+
|
|
17
|
+
from veadk.auth.veauth.utils import get_credential_from_vefaas_iam
|
|
18
|
+
from veadk.configs.database_configs import MSENacosConfig
|
|
19
|
+
from veadk.utils.logger import get_logger
|
|
20
|
+
from veadk.utils.volcengine_sign import ve_request
|
|
21
|
+
|
|
22
|
+
logger = get_logger(__name__)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def get_instance_id_by_name(instance_name: str, region: str, project_name: str) -> str:
|
|
26
|
+
logger.info(f"Fetching MSE Nacos instance id by instance name {instance_name} ...")
|
|
27
|
+
|
|
28
|
+
access_key = os.getenv("VOLCENGINE_ACCESS_KEY")
|
|
29
|
+
secret_key = os.getenv("VOLCENGINE_SECRET_KEY")
|
|
30
|
+
session_token = ""
|
|
31
|
+
|
|
32
|
+
if not (access_key and secret_key):
|
|
33
|
+
# try to get from vefaas iam
|
|
34
|
+
cred = get_credential_from_vefaas_iam()
|
|
35
|
+
access_key = cred.access_key_id
|
|
36
|
+
secret_key = cred.secret_access_key
|
|
37
|
+
session_token = cred.session_token
|
|
38
|
+
|
|
39
|
+
res = ve_request(
|
|
40
|
+
request_body={
|
|
41
|
+
"Filter": {"Status": [], "ProjectName": project_name},
|
|
42
|
+
"PageNumber": 1,
|
|
43
|
+
"PageSize": 10,
|
|
44
|
+
"ProjectName": project_name,
|
|
45
|
+
},
|
|
46
|
+
header={"X-Security-Token": session_token},
|
|
47
|
+
action="ListNacosRegistries",
|
|
48
|
+
ak=access_key,
|
|
49
|
+
sk=secret_key,
|
|
50
|
+
service="mse",
|
|
51
|
+
version="2022-01-01",
|
|
52
|
+
region=region,
|
|
53
|
+
host="open.volcengineapi.com",
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
try:
|
|
57
|
+
for item in res["Result"]["Items"]:
|
|
58
|
+
if item["Name"] == instance_name:
|
|
59
|
+
logger.info(
|
|
60
|
+
f"Found MSE Nacos instance id {item['Id']} by instance name {instance_name}"
|
|
61
|
+
)
|
|
62
|
+
return item["Id"]
|
|
63
|
+
raise ValueError(f"Id by instance name {instance_name} not found: {res}")
|
|
64
|
+
except Exception as e:
|
|
65
|
+
logger.error(
|
|
66
|
+
f"Failed to get MSE Nacos instance id by name {instance_name}: {e}, response: {res}"
|
|
67
|
+
)
|
|
68
|
+
raise e
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def get_mse_cridential(
|
|
72
|
+
instance_name: str,
|
|
73
|
+
region: str = "cn-beijing",
|
|
74
|
+
project_name: str = "default",
|
|
75
|
+
) -> MSENacosConfig:
|
|
76
|
+
logger.info("Fetching MSE Nacos token...")
|
|
77
|
+
|
|
78
|
+
access_key = os.getenv("VOLCENGINE_ACCESS_KEY")
|
|
79
|
+
secret_key = os.getenv("VOLCENGINE_SECRET_KEY")
|
|
80
|
+
session_token = ""
|
|
81
|
+
|
|
82
|
+
if not (access_key and secret_key):
|
|
83
|
+
# try to get from vefaas iam
|
|
84
|
+
cred = get_credential_from_vefaas_iam()
|
|
85
|
+
access_key = cred.access_key_id
|
|
86
|
+
secret_key = cred.secret_access_key
|
|
87
|
+
session_token = cred.session_token
|
|
88
|
+
|
|
89
|
+
instance_id = get_instance_id_by_name(
|
|
90
|
+
instance_name=instance_name, region=region, project_name=project_name
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
res = ve_request(
|
|
94
|
+
request_body={
|
|
95
|
+
"Id": instance_id,
|
|
96
|
+
"ProjectName": project_name,
|
|
97
|
+
},
|
|
98
|
+
header={"X-Security-Token": session_token},
|
|
99
|
+
action="GetNacosRegistry",
|
|
100
|
+
ak=access_key,
|
|
101
|
+
sk=secret_key,
|
|
102
|
+
service="mse",
|
|
103
|
+
version="2022-01-01",
|
|
104
|
+
region=region,
|
|
105
|
+
host="open.volcengineapi.com",
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
try:
|
|
109
|
+
logger.info(
|
|
110
|
+
f"Successfully fetched MSE Nacos endpoint {res['Result']['NacosRegistry']['PublicAddress']} and corresponding password."
|
|
111
|
+
)
|
|
112
|
+
return MSENacosConfig(
|
|
113
|
+
endpoint=res["Result"]["NacosRegistry"]["PublicAddress"],
|
|
114
|
+
password=res["Result"]["NacosRegistry"]["InitialPassword"],
|
|
115
|
+
)
|
|
116
|
+
except Exception as e:
|
|
117
|
+
logger.error(f"Failed to get MSE Nacos token: {e}, response: {res}")
|
|
118
|
+
raise e
|
|
@@ -147,6 +147,10 @@ def create(agent_name: str, ark_api_key: str) -> None:
|
|
|
147
147
|
"""
|
|
148
148
|
if not agent_name:
|
|
149
149
|
agent_name = click.prompt("Enter the agent name")
|
|
150
|
+
|
|
151
|
+
if "-" in agent_name:
|
|
152
|
+
raise ValueError("Agent name cannot contain '-'. Use '_' instead.")
|
|
153
|
+
|
|
150
154
|
if not ark_api_key:
|
|
151
155
|
ark_api_key = _prompt_for_ark_api_key()
|
|
152
156
|
|
|
@@ -38,8 +38,8 @@ def rl_group():
|
|
|
38
38
|
"--platform",
|
|
39
39
|
"-p",
|
|
40
40
|
required=True,
|
|
41
|
-
type=click.Choice(["ark"], case_sensitive=False),
|
|
42
|
-
help="Scaffold platform type (
|
|
41
|
+
type=click.Choice(["ark", "lightning"], case_sensitive=False),
|
|
42
|
+
help="Scaffold platform type (supported: ark, lightning)",
|
|
43
43
|
)
|
|
44
44
|
@click.option(
|
|
45
45
|
"--workspace", "-w", required=True, type=str, help="Target workspace directory name"
|
|
@@ -52,8 +52,9 @@ def rl_group():
|
|
|
52
52
|
)
|
|
53
53
|
def rl_init(platform: str, workspace: str, overwrite: bool):
|
|
54
54
|
"""
|
|
55
|
-
Initialize RL scaffold project for ark platform
|
|
55
|
+
Initialize RL scaffold project for ark or lightning platform
|
|
56
56
|
Example: veadk rl init --platform ark --workspace veadk_rl_ark_project
|
|
57
|
+
Example: veadk rl init --platform lightning --workspace veadk_rl_lightning_project
|
|
57
58
|
"""
|
|
58
59
|
# Locate template directory
|
|
59
60
|
rl_template_root = get_rl_template_root()
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
+
import logging
|
|
15
16
|
from functools import wraps
|
|
16
17
|
|
|
17
18
|
import click
|
|
@@ -139,5 +140,14 @@ def web(ctx, *args, **kwargs) -> None:
|
|
|
139
140
|
# from Google ADK and Litellm
|
|
140
141
|
if "--log_level" not in extra_args:
|
|
141
142
|
extra_args.extend(["--log_level", "ERROR"])
|
|
143
|
+
logging.basicConfig(level=logging.ERROR, force=True)
|
|
144
|
+
|
|
145
|
+
if "--log_level" in extra_args:
|
|
146
|
+
logging.basicConfig(
|
|
147
|
+
level=getattr(
|
|
148
|
+
logging, extra_args[extra_args.index("--log_level") + 1].upper()
|
|
149
|
+
),
|
|
150
|
+
force=True,
|
|
151
|
+
)
|
|
142
152
|
|
|
143
153
|
cli_web.main(args=extra_args, standalone_mode=False)
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
import json
|
|
16
16
|
import asyncio
|
|
17
17
|
from typing import Optional, Any, cast
|
|
18
|
-
from loguru import logger
|
|
19
18
|
from ark_sdk.resources.pipeline_plugin import rollout
|
|
20
19
|
from ark_sdk.types.pipeline_plugin import PluginInstance, Runtime
|
|
21
20
|
from ark_sdk.types.pipeline_plugin.pipeline_plugin import PluginContext
|
|
@@ -25,7 +24,6 @@ from ark_sdk.types.pipeline_plugin.rollout import (
|
|
|
25
24
|
ChatCompletionResponse,
|
|
26
25
|
RolloutInferenceProxy,
|
|
27
26
|
RolloutResult,
|
|
28
|
-
PluginStatus,
|
|
29
27
|
)
|
|
30
28
|
from veadk.agent import Agent
|
|
31
29
|
from veadk.memory.short_term_memory import ShortTermMemory
|
|
@@ -33,9 +31,9 @@ from veadk.runner import Runner
|
|
|
33
31
|
from veadk.tracing.telemetry.opentelemetry_tracer import OpentelemetryTracer
|
|
34
32
|
from veadk.tracing.telemetry.exporters.cozeloop_exporter import CozeloopExporter
|
|
35
33
|
from veadk.tracing.telemetry.exporters.cozeloop_exporter import CozeloopExporterConfig
|
|
34
|
+
from veadk.tools.demo_tools import get_city_weather
|
|
36
35
|
from google.adk.models.lite_llm import LiteLLMClient, LiteLlm
|
|
37
36
|
from litellm import ModelResponse
|
|
38
|
-
from cozeloop.decorator import observe
|
|
39
37
|
|
|
40
38
|
# BASE_MODEL 格式 : "{model_provider}/{model_name}"
|
|
41
39
|
BASE_MODEL = "openai/doubao-seed-1-6-flash-250615"
|
|
@@ -50,13 +48,6 @@ exporters = [CozeloopExporter(config=coze_config)]
|
|
|
50
48
|
tracer = OpentelemetryTracer(exporters=cast(Any, exporters))
|
|
51
49
|
|
|
52
50
|
|
|
53
|
-
@observe()
|
|
54
|
-
def get_current_weather(location: str, unit="摄氏度"):
|
|
55
|
-
# 实际调用天气查询 API 的逻辑
|
|
56
|
-
# 此处为示例,返回模拟的天气数据
|
|
57
|
-
return f"{location}今天天气晴朗,温度 25 {unit}。"
|
|
58
|
-
|
|
59
|
-
|
|
60
51
|
class RecordingLiteLlm(LiteLlm):
|
|
61
52
|
"""
|
|
62
53
|
在调用 LiteLlm 的 completion/acompletion 时,拦截并记录原始 ModelResponse。
|
|
@@ -171,6 +162,7 @@ async def demo_veadk_rollout(
|
|
|
171
162
|
model_provider="openai",
|
|
172
163
|
model_api_key=proxy.jwt_token,
|
|
173
164
|
tracers=[tracer],
|
|
165
|
+
tools=[get_city_weather],
|
|
174
166
|
model=model_instance,
|
|
175
167
|
)
|
|
176
168
|
|
|
@@ -224,29 +216,6 @@ async def demo_veadk_rollout(
|
|
|
224
216
|
if model_response.choices[0].finish_reason != "tool_calls":
|
|
225
217
|
# 模型最终总结,没有调用工具意愿
|
|
226
218
|
break
|
|
227
|
-
tool_calls = model_response.choices[0].message.tool_calls
|
|
228
|
-
for tool_call in tool_calls or []:
|
|
229
|
-
tool_name = tool_call.function.name
|
|
230
|
-
if tool_name == "get_current_weather":
|
|
231
|
-
try:
|
|
232
|
-
args = json.loads(tool_call.function.arguments)
|
|
233
|
-
tool_result = get_current_weather(**args)
|
|
234
|
-
except Exception as e:
|
|
235
|
-
logger.error(f"get_current_weather error: {e}")
|
|
236
|
-
return RolloutResult(
|
|
237
|
-
status=PluginStatus.SUCCESS,
|
|
238
|
-
extra={
|
|
239
|
-
"reward": -1,
|
|
240
|
-
},
|
|
241
|
-
)
|
|
242
|
-
# 将工具结果加入消息列表
|
|
243
|
-
messages.append(
|
|
244
|
-
{
|
|
245
|
-
"role": "tool",
|
|
246
|
-
"content": tool_result,
|
|
247
|
-
"tool_call_id": tool_call.id,
|
|
248
|
-
}
|
|
249
|
-
)
|
|
250
219
|
# 默认return None则视为rollout成功
|
|
251
220
|
return None
|
|
252
221
|
|