veadk-python 0.2.1__py3-none-any.whl → 0.2.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of veadk-python might be problematic. Click here for more details.
- veadk/__init__.py +9 -3
- veadk/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/__pycache__/agent.cpython-310.pyc +0 -0
- veadk/__pycache__/runner.cpython-310.pyc +0 -0
- veadk/__pycache__/types.cpython-310.pyc +0 -0
- veadk/__pycache__/version.cpython-310.pyc +0 -0
- veadk/a2a/__pycache__/remote_ve_agent.cpython-310.pyc +0 -0
- veadk/a2a/__pycache__/ve_a2a_server.cpython-310.pyc +0 -0
- veadk/a2a/__pycache__/ve_agent_executor.cpython-310.pyc +0 -0
- veadk/a2a/remote_ve_agent.py +1 -1
- veadk/a2a/ve_a2a_server.py +0 -2
- veadk/agent.py +10 -7
- veadk/cli/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/cli/__pycache__/cli.cpython-310.pyc +0 -0
- veadk/cli/__pycache__/cli_deploy.cpython-310.pyc +0 -0
- veadk/cli/__pycache__/cli_init.cpython-310.pyc +0 -0
- veadk/cli/__pycache__/cli_prompt.cpython-310.pyc +0 -0
- veadk/cli/__pycache__/cli_studio.cpython-310.pyc +0 -0
- veadk/cli/__pycache__/cli_web.cpython-310.pyc +0 -0
- veadk/cli/__pycache__/main.cpython-310.pyc +0 -0
- veadk/cli/{services/agentpilot/__init__.py → cli.py} +25 -2
- veadk/cli/cli_deploy.py +147 -0
- veadk/cli/cli_init.py +106 -0
- veadk/cli/cli_prompt.py +64 -0
- veadk/cli/cli_web.py +154 -0
- veadk/cloud/__pycache__/cloud_agent_engine.cpython-310.pyc +0 -0
- veadk/cloud/__pycache__/cloud_app.cpython-310.pyc +0 -0
- veadk/cloud/cloud_agent_engine.py +77 -42
- veadk/cloud/cloud_app.py +37 -6
- veadk/database/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/database/__pycache__/database_adapter.cpython-310.pyc +0 -0
- veadk/database/database_adapter.py +2 -2
- veadk/database/kv/redis_database.py +12 -9
- veadk/database/relational/mysql_database.py +10 -9
- veadk/database/vector/opensearch_vector_database.py +14 -7
- veadk/database/viking/viking_database.py +23 -17
- veadk/database/viking/viking_memory_db.py +9 -9
- veadk/evaluation/__pycache__/base_evaluator.cpython-310.pyc +0 -0
- veadk/evaluation/adk_evaluator/adk_evaluator.py +12 -17
- veadk/evaluation/base_evaluator.py +10 -9
- veadk/evaluation/utils/prometheus.py +1 -4
- veadk/integrations/ve_apig/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/integrations/ve_apig/__pycache__/ve_apig.cpython-310.pyc +0 -0
- veadk/integrations/ve_faas/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/integrations/ve_faas/__pycache__/types.cpython-310.pyc +0 -0
- veadk/integrations/ve_faas/__pycache__/ve_faas.cpython-310.pyc +0 -0
- veadk/integrations/ve_faas/__pycache__/ve_faas_utils.cpython-310.pyc +0 -0
- veadk/{cli/services/vefaas → integrations/ve_faas}/__pycache__/vefaas.cpython-310.pyc +0 -0
- veadk/integrations/ve_faas/template/cookiecutter.json +11 -0
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/config.yaml.example +6 -0
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/deploy.py +103 -0
- veadk/{cli/services/vefaas/template → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/src/__init__.py +0 -1
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/__pycache__/agent.cpython-310.pyc +0 -0
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/__pycache__/app.cpython-310.pyc +0 -0
- veadk/{cli/services/veapig/__init__.py → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/agent.py} +10 -2
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/app.py +146 -0
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/requirements.txt +1 -0
- veadk/{cli/services/vefaas/template → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/src/run.sh +10 -19
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name|replace('-', '_') }}/__init__.py +14 -0
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name|replace('-', '_') }}/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name|replace('-', '_') }}/__pycache__/agent.cpython-310.pyc +0 -0
- veadk/{cli/services/vefaas/template/src/agent.py → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name|replace('-', '_') }}/agent.py } +8 -6
- veadk/{cli/services/vefaas/vefaas.py → integrations/ve_faas/ve_faas.py} +15 -6
- veadk/integrations/ve_prompt_pilot/__init__.py +13 -0
- veadk/{cli/services/agentpilot → integrations/ve_prompt_pilot}/__pycache__/agentpilot.cpython-310.pyc +0 -0
- veadk/{cli/services/agentpilot/agentpilot.py → integrations/ve_prompt_pilot/ve_prompt_pilot.py} +5 -6
- veadk/knowledgebase/__pycache__/knowledgebase.cpython-310.pyc +0 -0
- veadk/knowledgebase/knowledgebase.py +3 -5
- veadk/memory/__pycache__/long_term_memory.cpython-310.pyc +0 -0
- veadk/memory/__pycache__/short_term_memory.cpython-310.pyc +0 -0
- veadk/memory/__pycache__/short_term_memory_processor.cpython-310.pyc +0 -0
- veadk/memory/long_term_memory.py +5 -2
- veadk/memory/short_term_memory.py +3 -7
- veadk/memory/short_term_memory_processor.py +7 -2
- veadk/prompts/prompt_optimization.py +11 -19
- veadk/runner.py +85 -68
- veadk/tools/__pycache__/load_knowledgebase_tool.cpython-310.pyc +0 -0
- veadk/tools/builtin_tools/__pycache__/vesearch.cpython-310.pyc +0 -0
- veadk/tools/load_knowledgebase_tool.py +3 -2
- veadk/tracing/__pycache__/base_tracer.cpython-310.pyc +0 -0
- veadk/tracing/base_tracer.py +27 -15
- veadk/tracing/telemetry/__pycache__/opentelemetry_tracer.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/__pycache__/apmplus_exporter.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/__pycache__/base_exporter.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/__pycache__/cozeloop_exporter.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/__pycache__/inmemory_exporter.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/__pycache__/tls_exporter.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/apmplus_exporter.py +0 -3
- veadk/tracing/telemetry/exporters/base_exporter.py +3 -0
- veadk/tracing/telemetry/exporters/cozeloop_exporter.py +0 -3
- veadk/tracing/telemetry/exporters/inmemory_exporter.py +13 -4
- veadk/tracing/telemetry/exporters/tls_exporter.py +2 -9
- veadk/tracing/telemetry/opentelemetry_tracer.py +14 -30
- veadk/types.py +20 -1
- veadk/utils/__pycache__/logger.cpython-310.pyc +0 -0
- veadk/utils/__pycache__/misc.cpython-310.pyc +0 -0
- veadk/utils/__pycache__/patches.cpython-310.pyc +0 -0
- veadk/utils/mcp_utils.py +1 -1
- veadk/utils/misc.py +31 -2
- veadk/utils/patches.py +0 -30
- veadk/version.py +1 -1
- {veadk_python-0.2.1.dist-info → veadk_python-0.2.2.dist-info}/METADATA +16 -5
- veadk_python-0.2.2.dist-info/RECORD +213 -0
- veadk_python-0.2.2.dist-info/entry_points.txt +2 -0
- veadk/cli/main.py +0 -379
- veadk/cli/services/veapig/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/cli/services/vefaas/__init__.py +0 -17
- veadk/cli/services/vefaas/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/cli/services/vefaas/template/README.md +0 -37
- veadk/cli/services/vefaas/template/config.yaml.example +0 -19
- veadk/cli/services/vefaas/template/deploy.py +0 -58
- veadk/cli/services/vefaas/template/src/__pycache__/agent.cpython-310.pyc +0 -0
- veadk/cli/services/vefaas/template/src/app.py +0 -70
- veadk/cli/services/vefaas/template/src/requirements.txt +0 -6
- veadk/cli/services/vefaas/template/src/studio_app.py +0 -47
- veadk/cli/services/vetls/__init__.py +0 -17
- veadk/cli/services/vetls/vetls.py +0 -87
- veadk/cli/studio/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/cli/studio/__pycache__/fast_api.cpython-310.pyc +0 -0
- veadk/cli/studio/__pycache__/models.cpython-310.pyc +0 -0
- veadk/cli/studio/__pycache__/studio_processor.cpython-310.pyc +0 -0
- veadk/cli/studio/fast_api.py +0 -392
- veadk/cli/studio/models.py +0 -76
- veadk/cli/studio/studio_processor.py +0 -127
- veadk/cli/studio/web/404.html +0 -1
- veadk/cli/studio/web/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/cli/studio/web/_next/static/chunks/1012.1c22f40693022876.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1017.577d2551c3a2b396.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1044.7c49605a0f9b5d5c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1067.71aee8d185b3a9d7.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1088.8f7f3c71458d301b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1092.7b553ab1ec1737bf.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1117.8c537e259adccbe2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1142.1faf8d46ccf4030c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1146.25bf08c82f4ad1c5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1192.55e7712b3dc8b6a8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1200.1038681512a9f69a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1265.e055670c82b2d131.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1275.322d8bf8a580b859.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/140.d7e90f5e12cf288c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1421.7fff0e9f0677f79b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1469.16c1e07a7c0f9817.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1480.3c94a6d6d61c4f56.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1507.4c7617217de3bef8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1523.1740f3d9d913fe76.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1526.5fb34657a70589b5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1563.6c364e96b33f3328.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/157.2e3f508bc115c15c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1577.b6cebda169ac9c75.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1622.a611b4dab478587d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1685.db5d4efe2f0e3767.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1687.a10254d4e1dd84c0.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1826.da2ac0fcfb59cfae.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1832.f81112d6166a9563.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1851.1d0bdfdf5fa89313.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/189.c602a68aadf321e4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1899.dd303f08095745bc.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/193.1e81c5b253db2ee7.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1936.8fad6d3898c86483.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1942.165056b632c269d4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1974.ee28ba5ac111af70.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2.c2afe2e24520b5de.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2006.298ac00a777dc313.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2063.69ba443b7901194c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2067-e02b0bc96d886930.js +0 -91
- veadk/cli/studio/web/_next/static/chunks/2119.4595d21bc0340c5b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/212.0a8d6163667d9369.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2190.5549f7a57901bd46.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2193.51ce38cc9e965abd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2202.a6c08676680e55ad.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2247.af410bd18c38e538.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2313.6932520daf0fa88c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2316.c9eafa57971eebc8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2324.766859688506ac0d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2328.131b0296bc19ba4e.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2332.b9b7ac0b386a4a28.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2344.cc417c70cb6dbc51.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2347.9f442b75b11de668.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2356.f6b4ac7eb50edb44.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2370.044b34646bc58363.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2378.2005af4d2bf100dd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2437.68534e42d45c5c61.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2449.db460ea54b851bc1.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2455.153b04863d2ae9dc.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2484.139843b3f1cc8ea5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2500.e2b8da0d1401bd5f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2513.a7056ff98b04c4cd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2533.5e35d247414428d0.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2541.3e5a23b461d7a9fd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2545.0e4e3a784391205b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2558.17eda1052d7c8c1f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2559.7432df2540cfff07.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2578.1be0687e71bc7731.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2601.aa7e57bdf472372c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/261-19b52c2c85aefb5d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2642.9ea0966ca6bd8ace.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2669.e90ab188be48154e.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2737.4f5c7f7b9293ae65.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2804.b801cadc26133d92.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2817.8584109b4bc979e8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/282.cfff86fab979470f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2822.12cdf0520b2d321a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/288.5c1053dbdc74212b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2964.a531dbf5eb867f3d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2f7605f3.0531565b22967bb4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3080.9aada68cdc9ad5c2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3090.a9e7f71df818f607.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3103.b7cdb76d87ac0fdd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/311.2737abd09304ba1b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3110.84511591e516221b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3126.307ac469edcf6ec9.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/320.a3c0085ebf05b7da.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/322.668c1a20cc012c68.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3341.a0f06b1edc2332fb.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3357.ced93e6bf8e56762.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3386.53f3aa4ff0dd0170.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3391.402e02fd7c297ff8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3392.5172b1d190ff0e8c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/33fb68d2.aacf24a5979288bd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3429.74dcaa985d188e43.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3433.737c3d948bdda1da.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3435.1798454b9a5b69ca.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3481.a916f933c4e534b8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3602.bdf28129f1569554.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3607.49cec7e9330d1f4d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3615.3280752d551adf2d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3721.f660b5b05621f5e4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3786.ae0824e683556d37.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3805.ec0340f0f6e61bbc.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4045.42a3c9fb7d932ebc.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4052.86cc820c95ad25a8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4058.3cea468f5370b7c9.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4068.ff830b92579f6b7f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/411.5679da8e6a856022.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4118.e2544434642f6640.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4139.80b0aab26d9a4601.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/423.da4e0abf5fd408dc.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4262.9d5532cb76a86371.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/431.ef6d705ac627958f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4337.3c94a6d6d61c4f56.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4357-39eb6b5934ac97db.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4382.64908590e0a18d66.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4489.7a9b45fb6f6bf491.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/450.76880cb957b128fa.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/452.14fb00ee415ad32b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4577.d1cbd95a87e2adb2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4626.0866c7ee38885775.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4627.3d7df52a668a6b57.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4713.3891f7d347513ef5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4749.25fd94a8ed476b13.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4836.afe027e38fb9a7e8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/483e0093.2a09b17ad5d1b3ed.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4852.cac6e9c5032df796.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4860.94324451a00fadc0.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4869.091903cb36ad77ad.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4888.e248e212b002f5df.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/492.ac958937dd36300f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4958.85e0dbc8b2319776.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4968.1477e29640b2deb8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4980.1300ab7d9c76e523.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4aa6d3c9.dade76a8ff4112d3.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5006.8ee1d611f529da11.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5018.c34d2a9f82e24c51.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5050.c06b2d8e12720555.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5084.9b554002148843ea.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5097.2e9a097ccfb70707.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5113.fa5291624248676b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5115.ff49cf5e2be16db4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/521.98b7995e15b59075.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5213.1a7618fcae8c5282.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/522.56063fbcf9aa8699.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5247.b304f94eb3132618.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5248.f9faaff2f0d7631f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/527-1c65afbb202752bd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/529.7d231c2076b6d77a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5305.9323b5f7efaa005e.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5317.fce75000492e9db4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5326.3be5b04850f0a2f2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5329.415b43aacdd9a471.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5331.77f0493c99857944.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5341.1fff90ab37947f62.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/541.04d938e895b7f678.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5428.fa789e4b0d61cd0d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5460.cee07b9411c5c5ca.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5472.f645717ad2edd28f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5503.75093ef3870b655f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5567.44555d5da6ed19b7.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5572.3c35c26a4867ca56.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5579.b3be6028d1833118.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5631.b8a2c0dc65737269.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5656.b743b6ab9a61eec0.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5677.c063822912e55a25.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5779.0b1a3c7d1c018a1d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5817.ae1fb69a154fbf4c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5860.7154866a5d2dd82f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5865.645e44e8e171ba9f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5906.30cce16ed88f920a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5942.cd6dfaad76581849.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5958.e2f981fa3cba5d99.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/60f90b65.d526f39688baa769.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6128.3da302fb50769250.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/62.5408e55d383a8078.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/624.7c7198473a8877d8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6264.e7bdd878d9e7a249.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6266.97409ca00a3c32d9.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6269.668be917daafccaa.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/630.87a6f22ac3e8956b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6341.35afa02112051be8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6353.93869a804ffe525b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6375.46d2897cb2526abd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6395.f113970ceec6ba91.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/63d31579-18fb2181524a9c6f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6423.d4cf9eb5b2ae6336.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6437.5eeaa7320bce1872.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6438.1c8486cc62da4117.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6451.f56cce0a07138982.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6456.f263b33ea51e4f54.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6504.0e6ae8d5bb987be6.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6560.b08504c0d99d71d4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6563.e6d3bdba9860590d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6621.639e4057d9c15bea.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6625.c0233245d2c1ef25.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6641.5487a2d68b0c52f2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6644.74de9f2de2dc75f5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6730.aac5bd02aab8258f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6824.8c40dbd3eb390403.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6831.74b4a9b75f4ff9d1.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/688.9a27292bd19bc993.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6899.ac4207b9a778bd0e.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6901.4755ed550912589c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6910.5d45b17e287dba94.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6928.d0a540480df90930.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6958.c58e8e991b201429.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6d60d248-1bbd761ee88ab2e4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/70207789-862965aac548ab2a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7046.60a892c1e506cf5f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7068.6639b51e828de233.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7172.aeda2e49d81fc0fd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7185.0210768f3918ec41.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7200.86e672d8e2c1a920.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/730.2c5e46bf8fd29fcc.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7301.43929cd9c2a5d2ea.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7335.68692b193fa0dff6.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7412.98554f6ee574e288.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7422.e4a69fce6694ba90.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7448.63e7b8d5fd090bd1.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7479.97f696c6ada04b29.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7482.ab6a217c34f6934a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7484.b91675bd38b250f8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7522.84dac217ae0701ac.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7540-38c13446d29f43f2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7556.ae47807e378de233.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/761.2ce77249f8d3a1ce.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7678.ceea70830f2dd7ff.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7684.c43e4b5ad1f9b0af.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7698.44201098b212aee8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/76ff44ea.8322bdedaee78e2d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7725.b15cb8b6e1d15403.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7855.513a507852c649f2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7910.266df3f992c16215.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7940.f490f3d5e6590e54.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7960.491bd15bef82755c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8020.795778775ed5c387.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8107.fbb6017b3e909da5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8169.4d7fd139784eb935.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8196.6c5c3dfe86e1c3ca.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8257.ee682bc2599473cb.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8305.d2c965e56fe9350c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8324.8c3edcc756f5e2f3.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8388.cc59fb03d62a71cf.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8394.d5ca17ce8f6fffb0.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8419.b11c64d18dc580b5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8478.5f4272ae9afa4061.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8480.a071150cb4eddc29.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8535.0ab856b7bf0e161b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8571.8af7983b03c09f86.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8583.4afa8c68cb867b2d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8601.520cbfc8abbfb5f8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8656.5f8b6212d2b35257.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8665.7f24febc4a78ff5e.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8687.c94010eb559245b6.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8815.81a5c5700763ca02.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8878.28a43a5fe23f5bd0.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8884.e4e411c7978b2552.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8962.db5c7728bef5ff0b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8984.dfcb15f115089c4a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9022.d161e32a6b1bcc61.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9099.8ba5be825d17456a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/914.72991ff6c9332951.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9217.40b78a38cadcd268.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/925.0cc74592f03b10e9.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9275.ac60c49c68c86e51.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/92a17e6d.da4fba322f70cd46.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/92b95f17.39f98387a9867b4a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9361.d3535e4d87c1c527.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9433.55eb6e4ea7edb262.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9436.5b2462fa3ddebb27.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9445.e29312f685c22eff.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9471.646bdfb962cdd5c2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9473.efa6db413edc23d1.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9484.e9f1cd4e3f8e75df.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9545.61026f3c11f914f2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9555.287e4e4a50087d62.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/963.da40bca273fb82c6.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9636.4d3678b9a4e0b46e.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9657.459d6300b0bc8ef8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9676.cef4d87274c64417.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/97.15df9ee2f6270421.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9754.76a3ea33dc0e9a07.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9790.7e01549d70279760.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9871.994068e90ef076a5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9887.0fbd7c3721a3c1d1.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9923.14c88b64d7749eaa.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/997.193727d4b2eede68.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9971.36f503837f73d3c2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9976.ab4ec59ede08f398.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9990.13e025853b0250b6.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9997.a844d058b46bb680.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/app/_not-found/page-ce05b36a67c37396.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/app/layout-b0d50d105c55fd6d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/app/page-7b51d29c96f44f61.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/app/run/page-c2cd4dca690d6d29.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/c06218ab.b1da50a91b579a52.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/c911d7bd.bcca2e3dda67a7a6.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/d386b14e.c746c93eac03a58e.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/e925550e.ff706051f5223d26.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/fc645be4-662fd2da08676daa.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/framework-2b8e4864be10152d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/main-33072985ea766514.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/main-app-4a8ccba13aa7606b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/pages/_app-c0ae3ec92f260128.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/pages/_error-899a04d491d7df58.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/webpack-14afc8861a1fe293.js +0 -1
- veadk/cli/studio/web/_next/static/css/366cfdd7fdd8bcac.css +0 -1
- veadk/cli/studio/web/_next/static/gvLvin_lQcpkhQupQqPu1/_buildManifest.js +0 -1
- veadk/cli/studio/web/_next/static/gvLvin_lQcpkhQupQqPu1/_ssgManifest.js +0 -1
- veadk/cli/studio/web/_next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
- veadk/cli/studio/web/_next/static/media/747892c23ea88013-s.woff2 +0 -0
- veadk/cli/studio/web/_next/static/media/8d697b304b401681-s.woff2 +0 -0
- veadk/cli/studio/web/_next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
- veadk/cli/studio/web/_next/static/media/9610d9e46709d722-s.woff2 +0 -0
- veadk/cli/studio/web/_next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
- veadk/cli/studio/web/favicon.ico +0 -0
- veadk/cli/studio/web/file.svg +0 -1
- veadk/cli/studio/web/globe.svg +0 -1
- veadk/cli/studio/web/index.html +0 -1
- veadk/cli/studio/web/index.txt +0 -43
- veadk/cli/studio/web/next.svg +0 -1
- veadk/cli/studio/web/run.html +0 -1
- veadk/cli/studio/web/run.txt +0 -44
- veadk/cli/studio/web/veadk-logo.png +0 -0
- veadk/cli/studio/web/vercel.svg +0 -1
- veadk/cli/studio/web/window.svg +0 -1
- veadk/tracing/telemetry/exporters/apiserver_exporter.py +0 -60
- veadk_python-0.2.1.dist-info/RECORD +0 -534
- veadk_python-0.2.1.dist-info/entry_points.txt +0 -2
- /veadk/{cli/services/vefaas/template → integrations/ve_apig}/__init__.py +0 -0
- /veadk/{cli/services/veapig → integrations/ve_apig}/__pycache__/apig.cpython-310.pyc +0 -0
- /veadk/{cli/services/veapig/apig.py → integrations/ve_apig/ve_apig.py} +0 -0
- /veadk/{cli/services/veapig/apig_utils.py → integrations/ve_apig/ve_apig_utils.py} +0 -0
- /veadk/{cli/studio → integrations/ve_faas}/__init__.py +0 -0
- /veadk/{cli/services/vefaas → integrations/ve_faas}/__pycache__/vefaas_utils.cpython-310.pyc +0 -0
- /veadk/{cli/studio/web → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/__init__.py +0 -0
- /veadk/{cli/services/vefaas/template → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/src/__pycache__/studio_app.cpython-310.pyc +0 -0
- /veadk/{cli/services/vefaas/vefaas_utils.py → integrations/ve_faas/ve_faas_utils.py} +0 -0
- /veadk/{cli/services/agentpilot → integrations/ve_prompt_pilot}/__pycache__/__init__.cpython-310.pyc +0 -0
- {veadk_python-0.2.1.dist-info → veadk_python-0.2.2.dist-info}/WHEEL +0 -0
- {veadk_python-0.2.1.dist-info → veadk_python-0.2.2.dist-info}/licenses/LICENSE +0 -0
- {veadk_python-0.2.1.dist-info → veadk_python-0.2.2.dist-info}/top_level.txt +0 -0
|
@@ -51,13 +51,16 @@ class ShortTermMemoryProcessor:
|
|
|
51
51
|
messages = []
|
|
52
52
|
for event in session.events:
|
|
53
53
|
content = event.content
|
|
54
|
+
if not content or not content.parts:
|
|
55
|
+
continue
|
|
54
56
|
message = {
|
|
55
57
|
"role": content.role,
|
|
56
58
|
"content": content.parts[0].text,
|
|
57
59
|
}
|
|
58
60
|
messages.append(message)
|
|
59
61
|
|
|
60
|
-
prompt = render_prompt(messages=
|
|
62
|
+
prompt = render_prompt(messages=messages)
|
|
63
|
+
|
|
61
64
|
res = completion(
|
|
62
65
|
model=getenv("MODEL_AGENT_PROVIDER") + "/" + getenv("MODEL_AGENT_NAME"),
|
|
63
66
|
base_url=getenv("MODEL_AGENT_API_BASE"),
|
|
@@ -69,7 +72,9 @@ class ShortTermMemoryProcessor:
|
|
|
69
72
|
}
|
|
70
73
|
],
|
|
71
74
|
)
|
|
72
|
-
|
|
75
|
+
logger.debug(f"Response from memory optimization model: {res}")
|
|
76
|
+
|
|
77
|
+
extracted_messages = json.loads(res.choices[0].message.content) # type: ignore
|
|
73
78
|
logger.debug(f"Abstracted messages: {extracted_messages}")
|
|
74
79
|
|
|
75
80
|
session.events = []
|
|
@@ -112,33 +112,26 @@ def render_prompt_with_jinja2(agent: Agent):
|
|
|
112
112
|
|
|
113
113
|
tools = []
|
|
114
114
|
for tool in agent.tools:
|
|
115
|
+
_tool_type = ""
|
|
116
|
+
_tools = []
|
|
115
117
|
if isinstance(tool, Callable):
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
_tool = FunctionTool(tool)
|
|
119
|
-
tools.append(
|
|
120
|
-
{
|
|
121
|
-
"name": _tool.name,
|
|
122
|
-
"description": _tool.description,
|
|
123
|
-
"arguments": str(
|
|
124
|
-
_tool._get_declaration().model_dump()["parameters"]
|
|
125
|
-
),
|
|
126
|
-
"type": type,
|
|
127
|
-
}
|
|
128
|
-
)
|
|
129
|
-
elif isinstance(tool, MCPToolset):
|
|
130
|
-
type = "tool"
|
|
118
|
+
_tool_type = "function"
|
|
119
|
+
_tools = [FunctionTool(tool)]
|
|
131
120
|
|
|
121
|
+
elif isinstance(tool, MCPToolset):
|
|
122
|
+
_tool_type = "tool"
|
|
132
123
|
_tools = asyncio.run(tool.get_tools())
|
|
133
|
-
|
|
124
|
+
|
|
125
|
+
for _tool in _tools:
|
|
126
|
+
if _tool and _tool._get_declaration():
|
|
134
127
|
tools.append(
|
|
135
128
|
{
|
|
136
129
|
"name": _tool.name,
|
|
137
130
|
"description": _tool.description,
|
|
138
131
|
"arguments": str(
|
|
139
|
-
_tool._get_declaration().model_dump()["parameters"]
|
|
132
|
+
_tool._get_declaration().model_dump()["parameters"] # type: ignore
|
|
140
133
|
),
|
|
141
|
-
"type":
|
|
134
|
+
"type": _tool_type,
|
|
142
135
|
}
|
|
143
136
|
)
|
|
144
137
|
|
|
@@ -148,7 +141,6 @@ def render_prompt_with_jinja2(agent: Agent):
|
|
|
148
141
|
"name": agent.name,
|
|
149
142
|
"model": agent.model_name,
|
|
150
143
|
"description": agent.description,
|
|
151
|
-
# "tools": str(agent.tools),
|
|
152
144
|
},
|
|
153
145
|
"tools": tools,
|
|
154
146
|
}
|
veadk/runner.py
CHANGED
|
@@ -57,12 +57,14 @@ class Runner:
|
|
|
57
57
|
self.short_term_memory = short_term_memory
|
|
58
58
|
self.session_service = short_term_memory.session_service
|
|
59
59
|
|
|
60
|
+
# prevent VeRemoteAgent has no long-term memory attr
|
|
60
61
|
if isinstance(self.agent, Agent):
|
|
61
62
|
self.long_term_memory = self.agent.long_term_memory
|
|
63
|
+
for tracer in self.agent.tracers:
|
|
64
|
+
tracer.set_app_name(self.app_name)
|
|
62
65
|
else:
|
|
63
66
|
self.long_term_memory = None
|
|
64
67
|
|
|
65
|
-
# maintain a in-memory runner for fast inference
|
|
66
68
|
self.runner = ADKRunner(
|
|
67
69
|
app_name=self.app_name,
|
|
68
70
|
agent=self.agent,
|
|
@@ -70,10 +72,6 @@ class Runner:
|
|
|
70
72
|
memory_service=self.long_term_memory,
|
|
71
73
|
)
|
|
72
74
|
|
|
73
|
-
if getattr(self.agent, "tracers", None):
|
|
74
|
-
for tracers in self.agent.tracers:
|
|
75
|
-
tracers.set_app_name(self.app_name)
|
|
76
|
-
|
|
77
75
|
def _convert_messages(self, messages) -> list:
|
|
78
76
|
if isinstance(messages, str):
|
|
79
77
|
messages = [types.Content(role="user", parts=[types.Part(text=messages)])]
|
|
@@ -126,6 +124,7 @@ class Runner:
|
|
|
126
124
|
logger.debug(f"Function call: {function_call}")
|
|
127
125
|
elif (
|
|
128
126
|
event.content is not None
|
|
127
|
+
and event.content.parts
|
|
129
128
|
and event.content.parts[0].text is not None
|
|
130
129
|
and len(event.content.parts[0].text.strip()) > 0
|
|
131
130
|
):
|
|
@@ -146,8 +145,9 @@ class Runner:
|
|
|
146
145
|
messages: RunnerMessage,
|
|
147
146
|
session_id: str,
|
|
148
147
|
stream: bool = False,
|
|
148
|
+
save_tracing_data: bool = False,
|
|
149
149
|
):
|
|
150
|
-
|
|
150
|
+
converted_messages: list = self._convert_messages(messages)
|
|
151
151
|
|
|
152
152
|
await self.short_term_memory.create_session(
|
|
153
153
|
app_name=self.app_name, user_id=self.user_id, session_id=session_id
|
|
@@ -156,23 +156,32 @@ class Runner:
|
|
|
156
156
|
logger.info("Begin to process user messages.")
|
|
157
157
|
|
|
158
158
|
final_output = ""
|
|
159
|
-
for
|
|
160
|
-
final_output = await self._run(session_id,
|
|
159
|
+
for converted_message in converted_messages:
|
|
160
|
+
final_output = await self._run(session_id, converted_message, stream)
|
|
161
161
|
|
|
162
162
|
# try to save tracing file
|
|
163
|
-
if
|
|
163
|
+
if save_tracing_data:
|
|
164
164
|
self.save_tracing_file(session_id)
|
|
165
165
|
|
|
166
166
|
return final_output
|
|
167
167
|
|
|
168
168
|
def save_tracing_file(self, session_id: str) -> str:
|
|
169
|
+
if not isinstance(self.agent, Agent):
|
|
170
|
+
logger.warning(
|
|
171
|
+
(
|
|
172
|
+
"The agent is not an instance of VeADK Agent, cannot save tracing file."
|
|
173
|
+
)
|
|
174
|
+
)
|
|
175
|
+
return ""
|
|
176
|
+
|
|
169
177
|
if not self.agent.tracers:
|
|
170
|
-
|
|
178
|
+
logger.warning("No tracer is configured in the agent.")
|
|
179
|
+
return ""
|
|
171
180
|
|
|
172
181
|
try:
|
|
173
182
|
dump_path = ""
|
|
174
183
|
for tracer in self.agent.tracers:
|
|
175
|
-
dump_path = tracer.dump(self.user_id, session_id)
|
|
184
|
+
dump_path = tracer.dump(user_id=self.user_id, session_id=session_id)
|
|
176
185
|
|
|
177
186
|
return dump_path
|
|
178
187
|
except Exception as e:
|
|
@@ -196,61 +205,69 @@ class Runner:
|
|
|
196
205
|
user_id=self.user_id,
|
|
197
206
|
session_id=session_id,
|
|
198
207
|
)
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
messages: RunnerMessage,
|
|
205
|
-
session_id: str,
|
|
206
|
-
):
|
|
207
|
-
"""non-streaming run with final event"""
|
|
208
|
-
messages: list = self._convert_messages(messages)
|
|
209
|
-
|
|
210
|
-
await self.short_term_memory.create_session(
|
|
211
|
-
app_name=self.app_name, user_id=self.user_id, session_id=session_id
|
|
212
|
-
)
|
|
213
|
-
|
|
214
|
-
logger.info("Begin to process user messages.")
|
|
215
|
-
|
|
216
|
-
final_event = ""
|
|
217
|
-
async for event in self.runner.run_async(
|
|
218
|
-
user_id=self.user_id, session_id=session_id, new_message=messages[0]
|
|
219
|
-
):
|
|
220
|
-
if event.get_function_calls():
|
|
221
|
-
for function_call in event.get_function_calls():
|
|
222
|
-
logger.debug(f"Function call: {function_call}")
|
|
223
|
-
elif (
|
|
224
|
-
not event.partial
|
|
225
|
-
and event.content.parts[0].text is not None
|
|
226
|
-
and len(event.content.parts[0].text.strip()) > 0
|
|
227
|
-
):
|
|
228
|
-
final_event = event.model_dump_json(exclude_none=True, by_alias=True)
|
|
229
|
-
|
|
230
|
-
return final_event
|
|
231
|
-
|
|
232
|
-
async def run_sse(
|
|
233
|
-
self,
|
|
234
|
-
session_id: str,
|
|
235
|
-
prompt: str,
|
|
236
|
-
):
|
|
237
|
-
message = types.Content(role="user", parts=[types.Part(text=prompt)])
|
|
238
|
-
|
|
239
|
-
await self.short_term_memory.create_session(
|
|
240
|
-
app_name=self.app_name, user_id=self.user_id, session_id=session_id
|
|
241
|
-
)
|
|
242
|
-
|
|
243
|
-
logger.info("Begin to process user messages under SSE method.")
|
|
208
|
+
if not session:
|
|
209
|
+
logger.error(
|
|
210
|
+
f"Session {session_id} not found in session service, cannot save to long-term memory."
|
|
211
|
+
)
|
|
212
|
+
return
|
|
244
213
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
214
|
+
await self.long_term_memory.add_session_to_memory(session)
|
|
215
|
+
logger.info(f"Add session `{session.id}` to long term memory.")
|
|
216
|
+
|
|
217
|
+
# [deprecated] we will not host a chat-service in VeADK, so the following two methods are deprecated
|
|
218
|
+
|
|
219
|
+
# async def run_with_final_event(
|
|
220
|
+
# self,
|
|
221
|
+
# messages: RunnerMessage,
|
|
222
|
+
# session_id: str,
|
|
223
|
+
# ):
|
|
224
|
+
# """non-streaming run with final event"""
|
|
225
|
+
# messages: list = self._convert_messages(messages)
|
|
226
|
+
|
|
227
|
+
# await self.short_term_memory.create_session(
|
|
228
|
+
# app_name=self.app_name, user_id=self.user_id, session_id=session_id
|
|
229
|
+
# )
|
|
230
|
+
|
|
231
|
+
# logger.info("Begin to process user messages.")
|
|
232
|
+
|
|
233
|
+
# final_event = ""
|
|
234
|
+
# async for event in self.runner.run_async(
|
|
235
|
+
# user_id=self.user_id, session_id=session_id, new_message=messages[0]
|
|
236
|
+
# ):
|
|
237
|
+
# if event.get_function_calls():
|
|
238
|
+
# for function_call in event.get_function_calls():
|
|
239
|
+
# logger.debug(f"Function call: {function_call}")
|
|
240
|
+
# elif (
|
|
241
|
+
# not event.partial
|
|
242
|
+
# and event.content.parts[0].text is not None
|
|
243
|
+
# and len(event.content.parts[0].text.strip()) > 0
|
|
244
|
+
# ):
|
|
245
|
+
# final_event = event.model_dump_json(exclude_none=True, by_alias=True)
|
|
246
|
+
|
|
247
|
+
# return final_event
|
|
248
|
+
|
|
249
|
+
# async def run_sse(
|
|
250
|
+
# self,
|
|
251
|
+
# session_id: str,
|
|
252
|
+
# prompt: str,
|
|
253
|
+
# ):
|
|
254
|
+
# message = types.Content(role="user", parts=[types.Part(text=prompt)])
|
|
255
|
+
|
|
256
|
+
# await self.short_term_memory.create_session(
|
|
257
|
+
# app_name=self.app_name, user_id=self.user_id, session_id=session_id
|
|
258
|
+
# )
|
|
259
|
+
|
|
260
|
+
# logger.info("Begin to process user messages under SSE method.")
|
|
261
|
+
|
|
262
|
+
# async for event in self.runner.run_async(
|
|
263
|
+
# user_id=self.user_id,
|
|
264
|
+
# session_id=session_id,
|
|
265
|
+
# new_message=message,
|
|
266
|
+
# run_config=RunConfig(streaming_mode=StreamingMode.SSE),
|
|
267
|
+
# ):
|
|
268
|
+
# # Format as SSE data
|
|
269
|
+
# sse_event = event.model_dump_json(exclude_none=True, by_alias=True)
|
|
270
|
+
# if event.get_function_calls():
|
|
271
|
+
# for function_call in event.get_function_calls():
|
|
272
|
+
# logger.debug(f"SSE function call event: {sse_event}")
|
|
273
|
+
# yield f"data: {sse_event}\n\n"
|
|
Binary file
|
|
Binary file
|
|
@@ -26,7 +26,7 @@ from typing_extensions import override
|
|
|
26
26
|
from veadk.knowledgebase import KnowledgeBase
|
|
27
27
|
|
|
28
28
|
if TYPE_CHECKING:
|
|
29
|
-
from google.adk.models import LlmRequest
|
|
29
|
+
from google.adk.models.llm_request import LlmRequest
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
knowledgebase: KnowledgeBase | None = None
|
|
@@ -85,7 +85,8 @@ async def load_knowledgebase(
|
|
|
85
85
|
Returns:
|
|
86
86
|
A list of knowledgebase results.
|
|
87
87
|
"""
|
|
88
|
-
|
|
88
|
+
|
|
89
|
+
search_knowledgebase_response = await tool_context.search_knowledgebase( # type: ignore[attr-defined]
|
|
89
90
|
query, tool_context._invocation_context.app_name
|
|
90
91
|
)
|
|
91
92
|
return LoadKnowledgebaseResponse(
|
|
Binary file
|
veadk/tracing/base_tracer.py
CHANGED
|
@@ -14,10 +14,11 @@
|
|
|
14
14
|
|
|
15
15
|
import json
|
|
16
16
|
from abc import ABC, abstractmethod
|
|
17
|
-
from typing import
|
|
17
|
+
from typing import Any, Optional
|
|
18
18
|
|
|
19
19
|
from google.adk.agents.callback_context import CallbackContext
|
|
20
|
-
from google.adk.models import LlmRequest
|
|
20
|
+
from google.adk.models.llm_request import LlmRequest
|
|
21
|
+
from google.adk.models.llm_response import LlmResponse
|
|
21
22
|
from google.adk.tools import BaseTool, ToolContext
|
|
22
23
|
from opentelemetry import trace
|
|
23
24
|
|
|
@@ -32,7 +33,7 @@ class BaseTracer(ABC):
|
|
|
32
33
|
pass
|
|
33
34
|
|
|
34
35
|
@abstractmethod
|
|
35
|
-
def dump(self) -> str: ...
|
|
36
|
+
def dump(self, user_id: str, session_id: str, path: str = "/tmp") -> str: ...
|
|
36
37
|
|
|
37
38
|
def tracer_hook_before_model(
|
|
38
39
|
self, callback_context: CallbackContext, llm_request: LlmRequest
|
|
@@ -107,22 +108,18 @@ class BaseTracer(ABC):
|
|
|
107
108
|
agent_name = callback_context.agent_name
|
|
108
109
|
attributes["agent.name"] = agent_name
|
|
109
110
|
attributes["app.name"] = app_name
|
|
111
|
+
|
|
110
112
|
# prompt
|
|
111
113
|
user_content = callback_context.user_content
|
|
114
|
+
role = None
|
|
115
|
+
content = None
|
|
112
116
|
if getattr(user_content, "role", None):
|
|
113
117
|
role = getattr(user_content, "role", None)
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
content =
|
|
118
|
-
|
|
119
|
-
)
|
|
120
|
-
if content:
|
|
121
|
-
content = json.dumps(content)
|
|
122
|
-
else:
|
|
123
|
-
content = None
|
|
124
|
-
else:
|
|
125
|
-
content = None
|
|
118
|
+
|
|
119
|
+
if user_content and getattr(user_content, "parts", None):
|
|
120
|
+
content = user_content.model_dump(exclude_none=True).get("parts", None)
|
|
121
|
+
content = json.dumps(content) if content else None
|
|
122
|
+
|
|
126
123
|
if role and content:
|
|
127
124
|
attributes["gen_ai.prompt.0.role"] = role
|
|
128
125
|
attributes["gen_ai.prompt.0.content"] = content
|
|
@@ -211,3 +208,18 @@ class BaseTracer(ABC):
|
|
|
211
208
|
|
|
212
209
|
def set_app_name(self, app_name):
|
|
213
210
|
self.app_name = app_name
|
|
211
|
+
|
|
212
|
+
def do_hooks(self, agent) -> None:
|
|
213
|
+
if not getattr(agent, "before_model_callback", None):
|
|
214
|
+
agent.before_model_callback = []
|
|
215
|
+
if not getattr(agent, "after_model_callback", None):
|
|
216
|
+
agent.after_model_callback = []
|
|
217
|
+
if not getattr(agent, "after_tool_callback", None):
|
|
218
|
+
agent.after_tool_callback = []
|
|
219
|
+
|
|
220
|
+
if self.tracer_hook_before_model not in agent.before_model_callback:
|
|
221
|
+
agent.before_model_callback.append(self.tracer_hook_before_model)
|
|
222
|
+
if self.tracer_hook_after_model not in agent.after_model_callback:
|
|
223
|
+
agent.after_model_callback.append(self.tracer_hook_after_model)
|
|
224
|
+
if self.tracer_hook_after_tool not in agent.after_tool_callback:
|
|
225
|
+
agent.after_tool_callback.append(self.tracer_hook_after_tool)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -32,18 +32,15 @@ logger = get_logger(__name__)
|
|
|
32
32
|
|
|
33
33
|
class APMPlusExporterConfig(BaseModel):
|
|
34
34
|
endpoint: str = Field(
|
|
35
|
-
...,
|
|
36
35
|
default_factory=lambda: getenv(
|
|
37
36
|
"OBSERVABILITY_OPENTELEMETRY_APMPLUS_ENDPOINT",
|
|
38
37
|
"http://apmplus-cn-beijing.volces.com:4317",
|
|
39
38
|
),
|
|
40
39
|
)
|
|
41
40
|
app_key: str = Field(
|
|
42
|
-
...,
|
|
43
41
|
default_factory=lambda: getenv("OBSERVABILITY_OPENTELEMETRY_APMPLUS_API_KEY"),
|
|
44
42
|
)
|
|
45
43
|
service_name: str = Field(
|
|
46
|
-
...,
|
|
47
44
|
default_factory=lambda: getenv(
|
|
48
45
|
"OBSERVABILITY_OPENTELEMETRY_APMPLUS_SERVICE_NAME",
|
|
49
46
|
"veadk_tracing_service",
|
|
@@ -26,20 +26,17 @@ logger = get_logger(__name__)
|
|
|
26
26
|
|
|
27
27
|
class CozeloopExporterConfig(BaseModel):
|
|
28
28
|
endpoint: str = Field(
|
|
29
|
-
...,
|
|
30
29
|
default_factory=lambda: getenv(
|
|
31
30
|
"OBSERVABILITY_OPENTELEMETRY_COZELOOP_ENDPOINT",
|
|
32
31
|
"https://api.coze.cn/v1/loop/opentelemetry/v1/traces",
|
|
33
32
|
),
|
|
34
33
|
)
|
|
35
34
|
space_id: str = Field(
|
|
36
|
-
...,
|
|
37
35
|
default_factory=lambda: getenv(
|
|
38
36
|
"OBSERVABILITY_OPENTELEMETRY_COZELOOP_SERVICE_NAME"
|
|
39
37
|
),
|
|
40
38
|
)
|
|
41
39
|
token: str = Field(
|
|
42
|
-
...,
|
|
43
40
|
default_factory=lambda: getenv("OBSERVABILITY_OPENTELEMETRY_COZELOOP_API_KEY"),
|
|
44
41
|
)
|
|
45
42
|
|
|
@@ -20,6 +20,9 @@ from pydantic import BaseModel
|
|
|
20
20
|
from typing_extensions import override
|
|
21
21
|
|
|
22
22
|
from veadk.tracing.telemetry.exporters.base_exporter import BaseExporter
|
|
23
|
+
from veadk.utils.logger import get_logger
|
|
24
|
+
|
|
25
|
+
logger = get_logger(__name__)
|
|
23
26
|
|
|
24
27
|
|
|
25
28
|
# ======== Adapted from Google ADK ========
|
|
@@ -35,10 +38,16 @@ class _InMemoryExporter(export.SpanExporter):
|
|
|
35
38
|
@override
|
|
36
39
|
def export(self, spans: typing.Sequence[ReadableSpan]) -> export.SpanExportResult:
|
|
37
40
|
for span in spans:
|
|
38
|
-
|
|
39
|
-
|
|
41
|
+
if span.context:
|
|
42
|
+
trace_id = span.context.trace_id
|
|
43
|
+
self.trace_id = trace_id
|
|
44
|
+
else:
|
|
45
|
+
logger.warning(
|
|
46
|
+
f"Span context is missing, failed to get `trace_id`. span: {span}"
|
|
47
|
+
)
|
|
48
|
+
|
|
40
49
|
if span.name == "call_llm":
|
|
41
|
-
attributes = dict(span.attributes)
|
|
50
|
+
attributes = dict(span.attributes or {})
|
|
42
51
|
prompt_token = attributes.get("gen_ai.usage.prompt_tokens", None)
|
|
43
52
|
completion_token = attributes.get(
|
|
44
53
|
"gen_ai.usage.completion_tokens", None
|
|
@@ -48,7 +57,7 @@ class _InMemoryExporter(export.SpanExporter):
|
|
|
48
57
|
if completion_token:
|
|
49
58
|
self.completion_tokens.append(completion_token)
|
|
50
59
|
if span.name == "call_llm":
|
|
51
|
-
attributes = dict(span.attributes)
|
|
60
|
+
attributes = dict(span.attributes or {})
|
|
52
61
|
session_id = attributes.get("gcp.vertex.agent.session_id", None)
|
|
53
62
|
if session_id:
|
|
54
63
|
if session_id not in self.session_trace_dict:
|
|
@@ -26,29 +26,22 @@ logger = get_logger(__name__)
|
|
|
26
26
|
|
|
27
27
|
class TLSExporterConfig(BaseModel):
|
|
28
28
|
endpoint: str = Field(
|
|
29
|
-
...,
|
|
30
29
|
default_factory=lambda: getenv(
|
|
31
30
|
"OBSERVABILITY_OPENTELEMETRY_TLS_ENDPOINT",
|
|
32
31
|
"https://tls-cn-beijing.volces.com:4318/v1/traces",
|
|
33
32
|
),
|
|
34
33
|
)
|
|
35
34
|
region: str = Field(
|
|
36
|
-
...,
|
|
37
35
|
default_factory=lambda: getenv(
|
|
38
36
|
"OBSERVABILITY_OPENTELEMETRY_TLS_REGION",
|
|
39
37
|
"cn-beijing",
|
|
40
38
|
),
|
|
41
39
|
)
|
|
42
40
|
topic_id: str = Field(
|
|
43
|
-
...,
|
|
44
41
|
default_factory=lambda: getenv("OBSERVABILITY_OPENTELEMETRY_TLS_SERVICE_NAME"),
|
|
45
42
|
)
|
|
46
|
-
access_key: str = Field(
|
|
47
|
-
|
|
48
|
-
)
|
|
49
|
-
secret_key: str = Field(
|
|
50
|
-
..., default_factory=lambda: getenv("VOLCENGINE_SECRET_KEY")
|
|
51
|
-
)
|
|
43
|
+
access_key: str = Field(default_factory=lambda: getenv("VOLCENGINE_ACCESS_KEY"))
|
|
44
|
+
secret_key: str = Field(default_factory=lambda: getenv("VOLCENGINE_SECRET_KEY"))
|
|
52
45
|
|
|
53
46
|
|
|
54
47
|
class TLSExporter(BaseModel, BaseExporter):
|
|
@@ -20,6 +20,7 @@ from typing import Any
|
|
|
20
20
|
|
|
21
21
|
from openinference.instrumentation.google_adk import GoogleADKInstrumentor
|
|
22
22
|
from opentelemetry import trace as trace_api
|
|
23
|
+
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
|
|
23
24
|
from opentelemetry.sdk import trace as trace_sdk
|
|
24
25
|
from opentelemetry.sdk.resources import Resource
|
|
25
26
|
from opentelemetry.sdk.trace import TracerProvider
|
|
@@ -28,7 +29,6 @@ from pydantic import BaseModel, ConfigDict, Field
|
|
|
28
29
|
from typing_extensions import override
|
|
29
30
|
|
|
30
31
|
from veadk.tracing.base_tracer import BaseTracer
|
|
31
|
-
from veadk.tracing.telemetry.exporters.apiserver_exporter import ApiServerExporter
|
|
32
32
|
from veadk.tracing.telemetry.exporters.apmplus_exporter import APMPlusExporter
|
|
33
33
|
from veadk.tracing.telemetry.exporters.base_exporter import BaseExporter
|
|
34
34
|
from veadk.tracing.telemetry.exporters.inmemory_exporter import InMemoryExporter
|
|
@@ -96,48 +96,34 @@ class OpentelemetryTracer(BaseModel, BaseTracer):
|
|
|
96
96
|
GoogleADKInstrumentor().instrument()
|
|
97
97
|
|
|
98
98
|
def _init_tracer_provider(self) -> None:
|
|
99
|
-
#
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
"Global tracer provider has not been set. Create tracer provider and set it now."
|
|
105
|
-
)
|
|
106
|
-
# 1.1 init tracer provider
|
|
107
|
-
tracer_provider = trace_sdk.TracerProvider()
|
|
108
|
-
trace_api.set_tracer_provider(tracer_provider)
|
|
109
|
-
global_tracer_provider = trace_api.get_tracer_provider()
|
|
99
|
+
# set provider anyway
|
|
100
|
+
# finally, get global provider
|
|
101
|
+
tracer_provider = trace_sdk.TracerProvider()
|
|
102
|
+
trace_api.set_tracer_provider(tracer_provider)
|
|
103
|
+
global_tracer_provider: TracerProvider = trace_api.get_tracer_provider() # type: ignore
|
|
110
104
|
|
|
111
105
|
have_apmplus_exporter = False
|
|
112
|
-
# 2. check if apmplus exporter is already exist
|
|
113
106
|
for processor in global_tracer_provider._active_span_processor._span_processors:
|
|
114
107
|
if isinstance(processor, (BatchSpanProcessor, SimpleSpanProcessor)):
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
exporter_endpoint = processor.span_exporter._endpoint
|
|
118
|
-
if "apmplus" in exporter_endpoint:
|
|
108
|
+
if isinstance(processor.span_exporter, OTLPSpanExporter):
|
|
109
|
+
if "apmplus" in processor.span_exporter._endpoint:
|
|
119
110
|
have_apmplus_exporter = True
|
|
120
|
-
|
|
121
|
-
# log a warning and pass this exporter
|
|
122
|
-
logger.warning(
|
|
123
|
-
f"Exporter {processor.span_exporter} has no endpoint."
|
|
124
|
-
)
|
|
125
|
-
|
|
126
|
-
# 3. add exporters to global tracer_provider
|
|
127
|
-
# range over a copy of exporters to avoid index issues
|
|
111
|
+
|
|
128
112
|
if have_apmplus_exporter:
|
|
129
113
|
self.exporters = [
|
|
130
114
|
e for e in self.exporters if not isinstance(e, APMPlusExporter)
|
|
131
115
|
]
|
|
132
116
|
|
|
133
|
-
for exporter in self.exporters
|
|
117
|
+
for exporter in self.exporters:
|
|
134
118
|
processor, resource_attributes = exporter.get_processor()
|
|
135
119
|
if resource_attributes is not None:
|
|
136
120
|
update_resource_attributions(
|
|
137
121
|
global_tracer_provider, resource_attributes
|
|
138
122
|
)
|
|
139
123
|
global_tracer_provider.add_span_processor(processor)
|
|
140
|
-
logger.debug(
|
|
124
|
+
logger.debug(
|
|
125
|
+
f"Add exporter `{exporter.__class__.__name__}` to OpentelemetryTracer."
|
|
126
|
+
)
|
|
141
127
|
self._processors.append(processor)
|
|
142
128
|
logger.debug(f"Init OpentelemetryTracer with {len(self.exporters)} exporters.")
|
|
143
129
|
|
|
@@ -198,9 +184,7 @@ class OpentelemetryTracer(BaseModel, BaseTracer):
|
|
|
198
184
|
self._trace_file_path = file_path
|
|
199
185
|
|
|
200
186
|
for exporter in self.exporters:
|
|
201
|
-
if not isinstance(exporter, InMemoryExporter)
|
|
202
|
-
exporter, ApiServerExporter
|
|
203
|
-
):
|
|
187
|
+
if not isinstance(exporter, InMemoryExporter):
|
|
204
188
|
exporter.export()
|
|
205
189
|
logger.info(
|
|
206
190
|
f"OpenTelemetryTracer tracing done, trace id: {self._trace_id} (hex)"
|
veadk/types.py
CHANGED
|
@@ -12,7 +12,10 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
-
from pydantic import BaseModel
|
|
15
|
+
from pydantic import BaseModel, Field
|
|
16
|
+
|
|
17
|
+
from veadk.agent import Agent
|
|
18
|
+
from veadk.memory.short_term_memory import ShortTermMemory
|
|
16
19
|
|
|
17
20
|
|
|
18
21
|
class MediaMessage(BaseModel):
|
|
@@ -21,3 +24,19 @@ class MediaMessage(BaseModel):
|
|
|
21
24
|
|
|
22
25
|
media: str
|
|
23
26
|
"""Media file (e.g., `.pdf`, `.docx`, `.png`, `.jpg`, `.jpeg`, `.mp4`, `.mp3`, `.wav`, `.txt`) path"""
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class AgentRunConfig(BaseModel):
|
|
30
|
+
"""Configuration for running an agent on VeFaaS platform."""
|
|
31
|
+
|
|
32
|
+
model_config = {"arbitrary_types_allowed": True}
|
|
33
|
+
|
|
34
|
+
app_name: str = Field(
|
|
35
|
+
default="veadk_vefaas_app", description="The name of the application"
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
agent: Agent = Field(..., description="The root agent instance")
|
|
39
|
+
|
|
40
|
+
short_term_memory: ShortTermMemory = Field(
|
|
41
|
+
default_factory=ShortTermMemory, description="The short-term memory instance"
|
|
42
|
+
)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|