veadk-python 0.1.0__py3-none-any.whl → 0.2.1__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/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/__pycache__/agent.cpython-310.pyc +0 -0
- veadk/__pycache__/config.cpython-310.pyc +0 -0
- veadk/__pycache__/consts.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__/__init__.cpython-310.pyc +0 -0
- veadk/a2a/__pycache__/agent_card.cpython-310.pyc +0 -0
- veadk/a2a/__pycache__/remote_ve_agent.cpython-310.pyc +0 -0
- veadk/a2a/remote_ve_agent.py +14 -0
- veadk/agent.py +9 -3
- veadk/cli/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/cli/__pycache__/main.cpython-310.pyc +0 -0
- veadk/cli/main.py +108 -7
- veadk/cli/services/agentpilot/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/cli/services/agentpilot/__pycache__/agentpilot.cpython-310.pyc +0 -0
- veadk/cli/services/veapig/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/cli/services/veapig/__pycache__/apig.cpython-310.pyc +0 -0
- veadk/cli/services/vefaas/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/cli/services/vefaas/__pycache__/vefaas.cpython-310.pyc +0 -0
- veadk/cli/services/vefaas/__pycache__/vefaas_utils.cpython-310.pyc +0 -0
- veadk/cli/services/vefaas/template/README.md +37 -0
- veadk/cli/services/vefaas/template/__init__.py +13 -0
- veadk/cli/services/vefaas/template/config.yaml.example +19 -0
- veadk/cli/services/vefaas/template/deploy.py +25 -11
- veadk/cli/services/vefaas/template/src/__init__.py +14 -0
- veadk/cli/services/vefaas/template/src/__pycache__/agent.cpython-310.pyc +0 -0
- veadk/cli/services/vefaas/template/src/__pycache__/studio_app.cpython-310.pyc +0 -0
- veadk/cli/services/vefaas/template/src/agent.py +25 -0
- veadk/cli/services/vefaas/template/src/app.py +48 -8
- veadk/cli/services/vefaas/template/src/requirements.txt +6 -0
- veadk/cli/services/vefaas/template/src/run.sh +63 -0
- veadk/cli/services/vefaas/template/src/studio_app.py +47 -0
- veadk/cli/services/vefaas/vefaas.py +153 -101
- 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 +305 -145
- veadk/cli/studio/models.py +76 -0
- veadk/cli/studio/studio_processor.py +127 -0
- veadk/cli/studio/web/404.html +1 -0
- veadk/cli/studio/web/__init__.py +13 -0
- veadk/cli/studio/web/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/cli/studio/web/_next/static/chunks/1012.1c22f40693022876.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1017.577d2551c3a2b396.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1044.7c49605a0f9b5d5c.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1067.71aee8d185b3a9d7.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1088.8f7f3c71458d301b.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1092.7b553ab1ec1737bf.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1117.8c537e259adccbe2.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1142.1faf8d46ccf4030c.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1146.25bf08c82f4ad1c5.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1192.55e7712b3dc8b6a8.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1200.1038681512a9f69a.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1265.e055670c82b2d131.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1275.322d8bf8a580b859.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/140.d7e90f5e12cf288c.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1421.7fff0e9f0677f79b.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1469.16c1e07a7c0f9817.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1480.3c94a6d6d61c4f56.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1507.4c7617217de3bef8.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1523.1740f3d9d913fe76.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1526.5fb34657a70589b5.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1563.6c364e96b33f3328.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/157.2e3f508bc115c15c.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1577.b6cebda169ac9c75.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1622.a611b4dab478587d.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1685.db5d4efe2f0e3767.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1687.a10254d4e1dd84c0.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1826.da2ac0fcfb59cfae.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1832.f81112d6166a9563.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1851.1d0bdfdf5fa89313.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/189.c602a68aadf321e4.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1899.dd303f08095745bc.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/193.1e81c5b253db2ee7.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1936.8fad6d3898c86483.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1942.165056b632c269d4.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/1974.ee28ba5ac111af70.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2.c2afe2e24520b5de.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2006.298ac00a777dc313.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2063.69ba443b7901194c.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2067-e02b0bc96d886930.js +91 -0
- veadk/cli/studio/web/_next/static/chunks/2119.4595d21bc0340c5b.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/212.0a8d6163667d9369.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2190.5549f7a57901bd46.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2193.51ce38cc9e965abd.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2202.a6c08676680e55ad.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2247.af410bd18c38e538.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2313.6932520daf0fa88c.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2316.c9eafa57971eebc8.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2324.766859688506ac0d.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2328.131b0296bc19ba4e.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2332.b9b7ac0b386a4a28.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2344.cc417c70cb6dbc51.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2347.9f442b75b11de668.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2356.f6b4ac7eb50edb44.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2370.044b34646bc58363.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2378.2005af4d2bf100dd.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2437.68534e42d45c5c61.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2449.db460ea54b851bc1.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2455.153b04863d2ae9dc.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2484.139843b3f1cc8ea5.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2500.e2b8da0d1401bd5f.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2513.a7056ff98b04c4cd.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2533.5e35d247414428d0.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2541.3e5a23b461d7a9fd.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2545.0e4e3a784391205b.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2558.17eda1052d7c8c1f.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2559.7432df2540cfff07.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2578.1be0687e71bc7731.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2601.aa7e57bdf472372c.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/261-19b52c2c85aefb5d.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2642.9ea0966ca6bd8ace.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2669.e90ab188be48154e.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2737.4f5c7f7b9293ae65.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2804.b801cadc26133d92.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2817.8584109b4bc979e8.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/282.cfff86fab979470f.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2822.12cdf0520b2d321a.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/288.5c1053dbdc74212b.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2964.a531dbf5eb867f3d.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/2f7605f3.0531565b22967bb4.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3080.9aada68cdc9ad5c2.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3090.a9e7f71df818f607.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3103.b7cdb76d87ac0fdd.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/311.2737abd09304ba1b.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3110.84511591e516221b.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3126.307ac469edcf6ec9.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/320.a3c0085ebf05b7da.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/322.668c1a20cc012c68.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3341.a0f06b1edc2332fb.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3357.ced93e6bf8e56762.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3386.53f3aa4ff0dd0170.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3391.402e02fd7c297ff8.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3392.5172b1d190ff0e8c.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/33fb68d2.aacf24a5979288bd.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3429.74dcaa985d188e43.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3433.737c3d948bdda1da.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3435.1798454b9a5b69ca.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3481.a916f933c4e534b8.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3602.bdf28129f1569554.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3607.49cec7e9330d1f4d.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3615.3280752d551adf2d.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3721.f660b5b05621f5e4.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3786.ae0824e683556d37.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/3805.ec0340f0f6e61bbc.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4045.42a3c9fb7d932ebc.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4052.86cc820c95ad25a8.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4058.3cea468f5370b7c9.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4068.ff830b92579f6b7f.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/411.5679da8e6a856022.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4118.e2544434642f6640.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4139.80b0aab26d9a4601.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/423.da4e0abf5fd408dc.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4262.9d5532cb76a86371.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/431.ef6d705ac627958f.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4337.3c94a6d6d61c4f56.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4357-39eb6b5934ac97db.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4382.64908590e0a18d66.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4489.7a9b45fb6f6bf491.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/450.76880cb957b128fa.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/452.14fb00ee415ad32b.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4577.d1cbd95a87e2adb2.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4626.0866c7ee38885775.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4627.3d7df52a668a6b57.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4713.3891f7d347513ef5.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4749.25fd94a8ed476b13.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4836.afe027e38fb9a7e8.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/483e0093.2a09b17ad5d1b3ed.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4852.cac6e9c5032df796.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4860.94324451a00fadc0.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4869.091903cb36ad77ad.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4888.e248e212b002f5df.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/492.ac958937dd36300f.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4958.85e0dbc8b2319776.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4968.1477e29640b2deb8.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4980.1300ab7d9c76e523.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/4aa6d3c9.dade76a8ff4112d3.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5006.8ee1d611f529da11.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5018.c34d2a9f82e24c51.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5050.c06b2d8e12720555.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5084.9b554002148843ea.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5097.2e9a097ccfb70707.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5113.fa5291624248676b.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5115.ff49cf5e2be16db4.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/521.98b7995e15b59075.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5213.1a7618fcae8c5282.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/522.56063fbcf9aa8699.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5247.b304f94eb3132618.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5248.f9faaff2f0d7631f.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/527-1c65afbb202752bd.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/529.7d231c2076b6d77a.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5305.9323b5f7efaa005e.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5317.fce75000492e9db4.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5326.3be5b04850f0a2f2.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5329.415b43aacdd9a471.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5331.77f0493c99857944.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5341.1fff90ab37947f62.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/541.04d938e895b7f678.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5428.fa789e4b0d61cd0d.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5460.cee07b9411c5c5ca.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5472.f645717ad2edd28f.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5503.75093ef3870b655f.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5567.44555d5da6ed19b7.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5572.3c35c26a4867ca56.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5579.b3be6028d1833118.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5631.b8a2c0dc65737269.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5656.b743b6ab9a61eec0.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5677.c063822912e55a25.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5779.0b1a3c7d1c018a1d.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5817.ae1fb69a154fbf4c.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5860.7154866a5d2dd82f.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5865.645e44e8e171ba9f.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5906.30cce16ed88f920a.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5942.cd6dfaad76581849.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/5958.e2f981fa3cba5d99.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/60f90b65.d526f39688baa769.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6128.3da302fb50769250.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/62.5408e55d383a8078.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/624.7c7198473a8877d8.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6264.e7bdd878d9e7a249.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6266.97409ca00a3c32d9.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6269.668be917daafccaa.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/630.87a6f22ac3e8956b.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6341.35afa02112051be8.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6353.93869a804ffe525b.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6375.46d2897cb2526abd.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6395.f113970ceec6ba91.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/63d31579-18fb2181524a9c6f.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6423.d4cf9eb5b2ae6336.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6437.5eeaa7320bce1872.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6438.1c8486cc62da4117.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6451.f56cce0a07138982.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6456.f263b33ea51e4f54.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6504.0e6ae8d5bb987be6.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6560.b08504c0d99d71d4.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6563.e6d3bdba9860590d.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6621.639e4057d9c15bea.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6625.c0233245d2c1ef25.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6641.5487a2d68b0c52f2.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6644.74de9f2de2dc75f5.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6730.aac5bd02aab8258f.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6824.8c40dbd3eb390403.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6831.74b4a9b75f4ff9d1.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/688.9a27292bd19bc993.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6899.ac4207b9a778bd0e.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6901.4755ed550912589c.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6910.5d45b17e287dba94.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6928.d0a540480df90930.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6958.c58e8e991b201429.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/6d60d248-1bbd761ee88ab2e4.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/70207789-862965aac548ab2a.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7046.60a892c1e506cf5f.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7068.6639b51e828de233.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7172.aeda2e49d81fc0fd.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7185.0210768f3918ec41.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7200.86e672d8e2c1a920.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/730.2c5e46bf8fd29fcc.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7301.43929cd9c2a5d2ea.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7335.68692b193fa0dff6.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7412.98554f6ee574e288.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7422.e4a69fce6694ba90.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7448.63e7b8d5fd090bd1.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7479.97f696c6ada04b29.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7482.ab6a217c34f6934a.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7484.b91675bd38b250f8.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7522.84dac217ae0701ac.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7540-38c13446d29f43f2.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7556.ae47807e378de233.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/761.2ce77249f8d3a1ce.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7678.ceea70830f2dd7ff.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7684.c43e4b5ad1f9b0af.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7698.44201098b212aee8.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/76ff44ea.8322bdedaee78e2d.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7725.b15cb8b6e1d15403.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7855.513a507852c649f2.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7910.266df3f992c16215.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7940.f490f3d5e6590e54.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/7960.491bd15bef82755c.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8020.795778775ed5c387.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8107.fbb6017b3e909da5.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8169.4d7fd139784eb935.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8196.6c5c3dfe86e1c3ca.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8257.ee682bc2599473cb.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8305.d2c965e56fe9350c.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8324.8c3edcc756f5e2f3.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8388.cc59fb03d62a71cf.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8394.d5ca17ce8f6fffb0.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8419.b11c64d18dc580b5.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8478.5f4272ae9afa4061.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8480.a071150cb4eddc29.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8535.0ab856b7bf0e161b.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8571.8af7983b03c09f86.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8583.4afa8c68cb867b2d.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8601.520cbfc8abbfb5f8.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8656.5f8b6212d2b35257.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8665.7f24febc4a78ff5e.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8687.c94010eb559245b6.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8815.81a5c5700763ca02.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8878.28a43a5fe23f5bd0.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8884.e4e411c7978b2552.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8962.db5c7728bef5ff0b.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/8984.dfcb15f115089c4a.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9022.d161e32a6b1bcc61.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9099.8ba5be825d17456a.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/914.72991ff6c9332951.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9217.40b78a38cadcd268.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/925.0cc74592f03b10e9.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9275.ac60c49c68c86e51.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/92a17e6d.da4fba322f70cd46.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/92b95f17.39f98387a9867b4a.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9361.d3535e4d87c1c527.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9433.55eb6e4ea7edb262.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9436.5b2462fa3ddebb27.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9445.e29312f685c22eff.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9471.646bdfb962cdd5c2.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9473.efa6db413edc23d1.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9484.e9f1cd4e3f8e75df.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9545.61026f3c11f914f2.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9555.287e4e4a50087d62.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/963.da40bca273fb82c6.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9636.4d3678b9a4e0b46e.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9657.459d6300b0bc8ef8.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9676.cef4d87274c64417.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/97.15df9ee2f6270421.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9754.76a3ea33dc0e9a07.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9790.7e01549d70279760.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9871.994068e90ef076a5.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9887.0fbd7c3721a3c1d1.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9923.14c88b64d7749eaa.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/997.193727d4b2eede68.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9971.36f503837f73d3c2.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9976.ab4ec59ede08f398.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9990.13e025853b0250b6.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/9997.a844d058b46bb680.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/app/_not-found/page-ce05b36a67c37396.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/app/layout-b0d50d105c55fd6d.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/app/page-7b51d29c96f44f61.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/app/run/page-c2cd4dca690d6d29.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/c06218ab.b1da50a91b579a52.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/c911d7bd.bcca2e3dda67a7a6.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/d386b14e.c746c93eac03a58e.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/e925550e.ff706051f5223d26.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/fc645be4-662fd2da08676daa.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/framework-2b8e4864be10152d.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/main-33072985ea766514.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/main-app-4a8ccba13aa7606b.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/pages/_app-c0ae3ec92f260128.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/pages/_error-899a04d491d7df58.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- veadk/cli/studio/web/_next/static/chunks/webpack-14afc8861a1fe293.js +1 -0
- veadk/cli/studio/web/_next/static/css/366cfdd7fdd8bcac.css +1 -0
- veadk/cli/studio/web/_next/static/gvLvin_lQcpkhQupQqPu1/_buildManifest.js +1 -0
- veadk/cli/studio/web/_next/static/gvLvin_lQcpkhQupQqPu1/_ssgManifest.js +1 -0
- 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 +1 -0
- veadk/cli/studio/web/globe.svg +1 -0
- veadk/cli/studio/web/index.html +1 -0
- veadk/cli/studio/web/index.txt +43 -0
- veadk/cli/studio/web/next.svg +1 -0
- veadk/cli/studio/web/run.html +1 -0
- veadk/cli/studio/web/run.txt +44 -0
- veadk/cli/studio/web/veadk-logo.png +0 -0
- veadk/cli/studio/web/vercel.svg +1 -0
- veadk/cli/studio/web/window.svg +1 -0
- veadk/cloud/__pycache__/__init__.cpython-310.pyc +0 -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 +104 -43
- veadk/cloud/cloud_app.py +82 -14
- veadk/database/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/database/__pycache__/base_database.cpython-310.pyc +0 -0
- veadk/database/__pycache__/database_adapter.cpython-310.pyc +0 -0
- veadk/database/__pycache__/database_factory.cpython-310.pyc +0 -0
- veadk/database/__pycache__/local_database.cpython-310.pyc +0 -0
- veadk/database/database_adapter.py +280 -0
- veadk/database/database_factory.py +3 -3
- veadk/database/kv/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/database/relational/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/database/vector/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/database/vector/__pycache__/opensearch_vector_database.cpython-310.pyc +0 -0
- veadk/database/vector/__pycache__/type.cpython-310.pyc +0 -0
- veadk/database/vector/opensearch_vector_database.py +50 -2
- veadk/database/viking/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/database/viking/viking_database.py +24 -6
- veadk/database/viking/viking_memory_db.py +26 -22
- veadk/evaluation/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/evaluation/__pycache__/base_evaluator.cpython-310.pyc +0 -0
- veadk/evaluation/__pycache__/eval_set_file_loader.cpython-310.pyc +0 -0
- veadk/evaluation/__pycache__/eval_set_recorder.cpython-310.pyc +0 -0
- veadk/evaluation/__pycache__/types.cpython-310.pyc +0 -0
- veadk/evaluation/adk_evaluator/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/evaluation/base_evaluator.py +130 -3
- veadk/evaluation/deepeval_evaluator/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/evaluation/deepeval_evaluator/__pycache__/deepeval_evaluator.cpython-310.pyc +0 -0
- veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py +13 -26
- veadk/evaluation/types.py +33 -0
- veadk/evaluation/utils/__pycache__/prometheus.cpython-310.pyc +0 -0
- veadk/evaluation/utils/prometheus.py +19 -23
- veadk/knowledgebase/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/knowledgebase/__pycache__/knowledgebase.cpython-310.pyc +0 -0
- veadk/knowledgebase/__pycache__/knowledgebase_database_adapter.cpython-310.pyc +0 -0
- veadk/knowledgebase/knowledgebase.py +30 -29
- veadk/memory/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/memory/__pycache__/long_term_memory.cpython-310.pyc +0 -0
- veadk/memory/__pycache__/memory_database_adapter.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 +73 -37
- veadk/prompts/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/prompts/__pycache__/agent_default_prompt.cpython-310.pyc +0 -0
- veadk/prompts/__pycache__/prompt_memory_processor.cpython-310.pyc +0 -0
- veadk/prompts/__pycache__/prompt_optimization.cpython-310.pyc +0 -0
- veadk/runner.py +4 -0
- veadk/tools/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/tools/__pycache__/demo_tools.cpython-310.pyc +0 -0
- veadk/tools/__pycache__/load_knowledgebase_tool.cpython-310.pyc +0 -0
- veadk/tools/builtin_tools/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/tools/builtin_tools/__pycache__/lark.cpython-310.pyc +0 -0
- veadk/tools/builtin_tools/__pycache__/web_search.cpython-310.pyc +0 -0
- veadk/tools/builtin_tools/las.py +3 -2
- veadk/{cloud/template/app.py → tools/builtin_tools/mcp_router.py} +5 -13
- veadk/tools/load_knowledgebase_tool.py +3 -5
- veadk/tools/sandbox/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/tracing/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/tracing/__pycache__/base_tracer.cpython-310.pyc +0 -0
- veadk/tracing/base_tracer.py +44 -3
- veadk/tracing/telemetry/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/__pycache__/opentelemetry_tracer.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/__pycache__/apiserver_exporter.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/inmemory_exporter.py +0 -3
- veadk/tracing/telemetry/metrics/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/metrics/__pycache__/opentelemetry_metrics.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/opentelemetry_tracer.py +73 -29
- veadk/utils/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/utils/__pycache__/logger.cpython-310.pyc +0 -0
- veadk/utils/__pycache__/mcp_utils.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/__pycache__/volcengine_sign.cpython-310.pyc +0 -0
- veadk/utils/mcp_utils.py +44 -0
- veadk/version.py +1 -1
- {veadk_python-0.1.0.dist-info → veadk_python-0.2.1.dist-info}/METADATA +14 -5
- veadk_python-0.2.1.dist-info/RECORD +534 -0
- veadk/cli/services/vefaas/template/src/config.py +0 -58
- veadk/cli/studio/agent_processor.py +0 -247
- veadk/cli/studio/model.py +0 -116
- veadk/cloud/template/config.py +0 -55
- veadk/knowledgebase/knowledgebase_database_adapter.py +0 -259
- veadk/memory/memory_database_adapter.py +0 -235
- veadk_python-0.1.0.dist-info/RECORD +0 -110
- {veadk_python-0.1.0.dist-info → veadk_python-0.2.1.dist-info}/WHEEL +0 -0
- {veadk_python-0.1.0.dist-info → veadk_python-0.2.1.dist-info}/entry_points.txt +0 -0
- {veadk_python-0.1.0.dist-info → veadk_python-0.2.1.dist-info}/licenses/LICENSE +0 -0
- {veadk_python-0.1.0.dist-info → veadk_python-0.2.1.dist-info}/top_level.txt +0 -0
|
@@ -14,28 +14,36 @@
|
|
|
14
14
|
|
|
15
15
|
from typing import BinaryIO, Literal, TextIO
|
|
16
16
|
|
|
17
|
+
from veadk.database.database_adapter import get_knowledgebase_database_adapter
|
|
17
18
|
from veadk.database.database_factory import DatabaseFactory
|
|
18
19
|
from veadk.utils.logger import get_logger
|
|
19
20
|
|
|
20
|
-
from .knowledgebase_database_adapter import get_knowledgebase_adapter
|
|
21
|
-
|
|
22
21
|
logger = get_logger(__name__)
|
|
23
22
|
|
|
24
23
|
|
|
24
|
+
def build_knowledgebase_index(app_name: str):
|
|
25
|
+
return f"veadk_kb_{app_name}"
|
|
26
|
+
|
|
27
|
+
|
|
25
28
|
class KnowledgeBase:
|
|
26
29
|
def __init__(
|
|
27
30
|
self,
|
|
28
31
|
backend: Literal["local", "opensearch", "viking", "redis", "mysql"] = "local",
|
|
29
|
-
top_k: int =
|
|
32
|
+
top_k: int = 10,
|
|
30
33
|
db_config=None,
|
|
31
34
|
):
|
|
32
|
-
logger.
|
|
35
|
+
logger.info(
|
|
36
|
+
f"Initializing knowledgebase: backend={backend} top_k={top_k} db_config={db_config}"
|
|
37
|
+
)
|
|
38
|
+
|
|
33
39
|
self.backend = backend
|
|
34
40
|
self.top_k = top_k
|
|
35
41
|
|
|
36
42
|
self.db_client = DatabaseFactory.create(backend=backend, config=db_config)
|
|
37
|
-
self.adapter =
|
|
38
|
-
|
|
43
|
+
self.adapter = get_knowledgebase_database_adapter(self.db_client)
|
|
44
|
+
|
|
45
|
+
logger.info(
|
|
46
|
+
f"Initialized knowledgebase: db_client={self.db_client} adapter={self.adapter}"
|
|
39
47
|
)
|
|
40
48
|
|
|
41
49
|
def add(
|
|
@@ -46,38 +54,31 @@ class KnowledgeBase:
|
|
|
46
54
|
):
|
|
47
55
|
"""
|
|
48
56
|
Add documents to the vector database.
|
|
49
|
-
You can only upload files or file characters when the adapter type
|
|
57
|
+
You can only upload files or file characters when the adapter type used is vikingdb.
|
|
50
58
|
In addition, if you upload data of the bytes type,
|
|
51
59
|
for example, if you read the file stream of a pdf, then you need to pass an additional parameter file_ext = '.pdf'.
|
|
52
60
|
"""
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
61
|
+
if self.backend != "viking" and not (
|
|
62
|
+
isinstance(data, str) or isinstance(data, list)
|
|
63
|
+
):
|
|
64
|
+
raise ValueError(
|
|
65
|
+
"Only vikingdb supports uploading files or file characters."
|
|
66
|
+
)
|
|
57
67
|
|
|
58
|
-
|
|
59
|
-
"""Retrieve documents similar to the query text in the vector database.
|
|
68
|
+
index = build_knowledgebase_index(app_name)
|
|
60
69
|
|
|
61
|
-
|
|
62
|
-
query (str): The query text to be retrieved (e.g., "Who proposed the Turing machine model?")
|
|
70
|
+
logger.info(f"Adding documents to knowledgebase: index={index}")
|
|
63
71
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
72
|
+
self.adapter.add(data=data, index=index)
|
|
73
|
+
|
|
74
|
+
def search(self, query: str, app_name: str, top_k: int = None) -> list[str]:
|
|
67
75
|
top_k = self.top_k if top_k is None else top_k
|
|
68
76
|
|
|
69
|
-
|
|
70
|
-
|
|
77
|
+
logger.info(
|
|
78
|
+
f"Searching knowledgebase: app_name={app_name} query={query} top_k={top_k}"
|
|
71
79
|
)
|
|
80
|
+
index = build_knowledgebase_index(app_name)
|
|
81
|
+
result = self.adapter.query(query=query, index=index, top_k=top_k)
|
|
72
82
|
if len(result) == 0:
|
|
73
83
|
logger.warning(f"No documents found in knowledgebase. Query: {query}")
|
|
74
84
|
return result
|
|
75
|
-
|
|
76
|
-
def delete(self, app_name: str, user_id: str, session_id: str):
|
|
77
|
-
"""Delete documents in the vector database.
|
|
78
|
-
Args:
|
|
79
|
-
app_name (str): The name of the application
|
|
80
|
-
user_id (str): The user ID
|
|
81
|
-
session_id (str): The session ID
|
|
82
|
-
"""
|
|
83
|
-
self.adapter.delete(app_name=app_name, user_id=user_id, session_id=session_id)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
veadk/memory/long_term_memory.py
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
import json
|
|
17
17
|
from typing import Literal
|
|
18
18
|
|
|
19
|
+
from google.adk.events.event import Event
|
|
19
20
|
from google.adk.memory.base_memory_service import (
|
|
20
21
|
BaseMemoryService,
|
|
21
22
|
SearchMemoryResponse,
|
|
@@ -25,67 +26,103 @@ from google.adk.sessions import Session
|
|
|
25
26
|
from google.genai import types
|
|
26
27
|
from typing_extensions import override
|
|
27
28
|
|
|
28
|
-
from veadk.config import getenv
|
|
29
29
|
from veadk.database import DatabaseFactory
|
|
30
|
+
from veadk.database.database_adapter import get_long_term_memory_database_adapter
|
|
30
31
|
from veadk.utils.logger import get_logger
|
|
31
32
|
|
|
32
|
-
from .memory_database_adapter import get_memory_adapter
|
|
33
|
-
|
|
34
33
|
logger = get_logger(__name__)
|
|
35
34
|
|
|
36
35
|
|
|
36
|
+
def build_long_term_memory_index(app_name: str, user_id: str):
|
|
37
|
+
return f"{app_name}_{user_id}"
|
|
38
|
+
|
|
39
|
+
|
|
37
40
|
class LongTermMemory(BaseMemoryService):
|
|
38
41
|
def __init__(
|
|
39
42
|
self,
|
|
40
43
|
backend: Literal[
|
|
41
44
|
"local", "opensearch", "redis", "mysql", "viking"
|
|
42
45
|
] = "opensearch",
|
|
43
|
-
top_k: int =
|
|
46
|
+
top_k: int = 5,
|
|
44
47
|
):
|
|
45
48
|
if backend == "viking":
|
|
46
49
|
backend = "viking_mem"
|
|
47
50
|
self.top_k = top_k
|
|
48
51
|
self.backend = backend
|
|
49
52
|
|
|
53
|
+
logger.info(
|
|
54
|
+
f"Initializing long term memory: backend={self.backend} top_k={self.top_k}"
|
|
55
|
+
)
|
|
56
|
+
|
|
50
57
|
self.db_client = DatabaseFactory.create(
|
|
51
58
|
backend=backend,
|
|
52
59
|
)
|
|
53
|
-
|
|
60
|
+
self.adapter = get_long_term_memory_database_adapter(self.db_client)
|
|
61
|
+
|
|
62
|
+
logger.info(
|
|
63
|
+
f"Initialized long term memory: db_client={self.db_client} adapter={self.adapter}"
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
def _filter_and_convert_events(self, events: list[Event]) -> list[str]:
|
|
67
|
+
final_events = []
|
|
68
|
+
for event in events:
|
|
69
|
+
# filter: bad event
|
|
70
|
+
if not event.content or not event.content.parts:
|
|
71
|
+
continue
|
|
72
|
+
|
|
73
|
+
# filter: only add user event to memory to enhance retrieve performance
|
|
74
|
+
if not event.author == "user":
|
|
75
|
+
continue
|
|
76
|
+
|
|
77
|
+
# filter: discard function call and function response
|
|
78
|
+
if not event.content.parts[0].text:
|
|
79
|
+
continue
|
|
80
|
+
|
|
81
|
+
# convert: to string-format for storage
|
|
82
|
+
message = event.content.model_dump(exclude_none=True, mode="json")
|
|
54
83
|
|
|
55
|
-
|
|
84
|
+
final_events.append(json.dumps(message, ensure_ascii=False))
|
|
85
|
+
return final_events
|
|
56
86
|
|
|
57
87
|
@override
|
|
58
88
|
async def add_session_to_memory(
|
|
59
89
|
self,
|
|
60
90
|
session: Session,
|
|
61
91
|
):
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if not event.content or not event.content.parts:
|
|
65
|
-
continue
|
|
92
|
+
event_strings = self._filter_and_convert_events(session.events)
|
|
93
|
+
index = build_long_term_memory_index(session.app_name, session.user_id)
|
|
66
94
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
95
|
+
logger.info(
|
|
96
|
+
f"Adding {len(event_strings)} events to long term memory: index={index}"
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
# check if viking memory database, should give a user id: if/else
|
|
100
|
+
if self.backend == "viking_mem":
|
|
101
|
+
self.adapter.add(data=event_strings, index=index, user_id=session.user_id)
|
|
102
|
+
else:
|
|
103
|
+
self.adapter.add(data=event_strings, index=index)
|
|
104
|
+
|
|
105
|
+
logger.info(
|
|
106
|
+
f"Added {len(event_strings)} events to long term memory: index={index}"
|
|
78
107
|
)
|
|
79
108
|
|
|
80
109
|
@override
|
|
81
110
|
async def search_memory(self, *, app_name: str, user_id: str, query: str):
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
111
|
+
index = build_long_term_memory_index(app_name, user_id)
|
|
112
|
+
|
|
113
|
+
logger.info(
|
|
114
|
+
f"Searching long term memory: query={query} index={index} top_k={self.top_k}"
|
|
86
115
|
)
|
|
87
|
-
|
|
88
|
-
|
|
116
|
+
|
|
117
|
+
# user id if viking memory db
|
|
118
|
+
if self.backend == "viking_mem":
|
|
119
|
+
memory_chunks = self.adapter.query(
|
|
120
|
+
query=query, index=index, top_k=self.top_k, user_id=user_id
|
|
121
|
+
)
|
|
122
|
+
else:
|
|
123
|
+
memory_chunks = self.adapter.query(
|
|
124
|
+
query=query, index=index, top_k=self.top_k
|
|
125
|
+
)
|
|
89
126
|
|
|
90
127
|
memory_events = []
|
|
91
128
|
for memory in memory_chunks:
|
|
@@ -94,26 +131,25 @@ class LongTermMemory(BaseMemoryService):
|
|
|
94
131
|
try:
|
|
95
132
|
text = memory_dict["parts"][0]["text"]
|
|
96
133
|
role = memory_dict["role"]
|
|
97
|
-
except KeyError as
|
|
98
|
-
|
|
99
|
-
|
|
134
|
+
except KeyError as _:
|
|
135
|
+
# prevent not a standard text-based event
|
|
136
|
+
logger.warning(
|
|
137
|
+
f"Memory content: {memory_dict}. Skip return this memory."
|
|
100
138
|
)
|
|
101
139
|
continue
|
|
102
140
|
except json.JSONDecodeError:
|
|
141
|
+
# prevent the memory string is not dumped by `Event` class
|
|
103
142
|
text = memory
|
|
104
143
|
role = "user"
|
|
144
|
+
|
|
105
145
|
memory_events.append(
|
|
106
146
|
MemoryEntry(
|
|
107
147
|
author="user",
|
|
108
148
|
content=types.Content(parts=[types.Part(text=text)], role=role),
|
|
109
149
|
)
|
|
110
150
|
)
|
|
111
|
-
return SearchMemoryResponse(memories=memory_events)
|
|
112
151
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
self.adapter.delete(
|
|
116
|
-
app_name=app_name,
|
|
117
|
-
user_id=user_id,
|
|
118
|
-
session_id="", # session_id is not used in the adapter delete method
|
|
152
|
+
logger.info(
|
|
153
|
+
f"Return {len(memory_events)} memory events for query: {query} index={index}"
|
|
119
154
|
)
|
|
155
|
+
return SearchMemoryResponse(memories=memory_events)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
veadk/runner.py
CHANGED
|
@@ -70,6 +70,10 @@ class Runner:
|
|
|
70
70
|
memory_service=self.long_term_memory,
|
|
71
71
|
)
|
|
72
72
|
|
|
73
|
+
if getattr(self.agent, "tracers", None):
|
|
74
|
+
for tracers in self.agent.tracers:
|
|
75
|
+
tracers.set_app_name(self.app_name)
|
|
76
|
+
|
|
73
77
|
def _convert_messages(self, messages) -> list:
|
|
74
78
|
if isinstance(messages, str):
|
|
75
79
|
messages = [types.Content(role="user", parts=[types.Part(text=messages)])]
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
veadk/tools/builtin_tools/las.py
CHANGED
|
@@ -12,12 +12,13 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
-
from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset
|
|
15
|
+
from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset
|
|
16
16
|
|
|
17
17
|
from veadk.config import getenv
|
|
18
|
+
from veadk.utils.mcp_utils import get_mcp_params
|
|
18
19
|
|
|
19
20
|
url = getenv("TOOL_LAS_URL")
|
|
20
21
|
dataset_id = getenv("TOOL_LAS_DATASET_ID")
|
|
21
22
|
|
|
22
23
|
|
|
23
|
-
las = MCPToolset(connection_params=
|
|
24
|
+
las = MCPToolset(connection_params=get_mcp_params(url=url))
|
|
@@ -12,19 +12,11 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
-
import
|
|
15
|
+
from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset
|
|
16
16
|
|
|
17
|
-
from config import
|
|
17
|
+
from veadk.config import getenv
|
|
18
|
+
from veadk.utils.mcp_utils import get_mcp_params
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
url = getenv("TOOL_MCP_ROUTER_URL")
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
AGENT.tracers = TRACERS
|
|
24
|
-
|
|
25
|
-
app = init_app(
|
|
26
|
-
server_url=SERVER_HOST,
|
|
27
|
-
app_name=APP_NAME,
|
|
28
|
-
agent=AGENT,
|
|
29
|
-
short_term_memory=SHORT_TERM_MEMORY,
|
|
30
|
-
)
|
|
22
|
+
mcp_router = MCPToolset(connection_params=get_mcp_params(url=url))
|
|
@@ -51,11 +51,11 @@ class SearchKnowledgebaseResponse(BaseModel):
|
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
async def search_knowledgebase(
|
|
54
|
-
self, query: str, app_name: str
|
|
54
|
+
self, query: str, app_name: str
|
|
55
55
|
) -> SearchKnowledgebaseResponse:
|
|
56
56
|
"""Searches the knowledgebase of the current user."""
|
|
57
57
|
if isinstance(knowledgebase, KnowledgeBase):
|
|
58
|
-
res = knowledgebase.search(query, app_name=app_name
|
|
58
|
+
res = knowledgebase.search(query, app_name=app_name)
|
|
59
59
|
entry_list = []
|
|
60
60
|
for r in res:
|
|
61
61
|
entry_list.append(KnowledgebaseEntry(content=r))
|
|
@@ -86,9 +86,7 @@ async def load_knowledgebase(
|
|
|
86
86
|
A list of knowledgebase results.
|
|
87
87
|
"""
|
|
88
88
|
search_knowledgebase_response = await tool_context.search_knowledgebase(
|
|
89
|
-
query,
|
|
90
|
-
tool_context._invocation_context.app_name,
|
|
91
|
-
tool_context._invocation_context.user_id,
|
|
89
|
+
query, tool_context._invocation_context.app_name
|
|
92
90
|
)
|
|
93
91
|
return LoadKnowledgebaseResponse(
|
|
94
92
|
knowledges=search_knowledgebase_response.knowledges
|
|
Binary file
|
|
Binary file
|
|
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 Optional
|
|
17
|
+
from typing import Optional, Any
|
|
18
18
|
|
|
19
19
|
from google.adk.agents.callback_context import CallbackContext
|
|
20
20
|
from google.adk.models import LlmRequest, LlmResponse
|
|
21
|
+
from google.adk.tools import BaseTool, ToolContext
|
|
21
22
|
from opentelemetry import trace
|
|
22
23
|
|
|
23
24
|
from veadk.utils.logger import get_logger
|
|
@@ -27,20 +28,24 @@ logger = get_logger(__name__)
|
|
|
27
28
|
|
|
28
29
|
class BaseTracer(ABC):
|
|
29
30
|
def __init__(self, name: str):
|
|
31
|
+
self.app_name = "veadk_app_name"
|
|
30
32
|
pass
|
|
31
33
|
|
|
32
34
|
@abstractmethod
|
|
33
35
|
def dump(self) -> str: ...
|
|
34
36
|
|
|
35
|
-
def
|
|
37
|
+
def tracer_hook_before_model(
|
|
36
38
|
self, callback_context: CallbackContext, llm_request: LlmRequest
|
|
37
39
|
) -> Optional[LlmResponse]:
|
|
40
|
+
"""agent run stage"""
|
|
38
41
|
trace.get_tracer("gcp.vertex.agent")
|
|
39
42
|
span = trace.get_current_span()
|
|
40
43
|
# logger.debug(f"llm_request: {llm_request}")
|
|
41
44
|
|
|
42
45
|
req = llm_request.model_dump()
|
|
43
46
|
|
|
47
|
+
app_name = getattr(self, "app_name", "veadk_app")
|
|
48
|
+
agent_name = callback_context.agent_name
|
|
44
49
|
model_name = req.get("model", "unknown")
|
|
45
50
|
max_tokens = (
|
|
46
51
|
None
|
|
@@ -59,6 +64,8 @@ class BaseTracer(ABC):
|
|
|
59
64
|
)
|
|
60
65
|
|
|
61
66
|
attributes = {}
|
|
67
|
+
attributes["agent.name"] = agent_name
|
|
68
|
+
attributes["app.name"] = app_name
|
|
62
69
|
attributes["gen_ai.system"] = "veadk"
|
|
63
70
|
if model_name:
|
|
64
71
|
attributes["gen_ai.request.model"] = model_name
|
|
@@ -84,9 +91,10 @@ class BaseTracer(ABC):
|
|
|
84
91
|
for k, v in attributes.items():
|
|
85
92
|
span.set_attribute(k, v)
|
|
86
93
|
|
|
87
|
-
def
|
|
94
|
+
def tracer_hook_after_model(
|
|
88
95
|
self, callback_context: CallbackContext, llm_response: LlmResponse
|
|
89
96
|
) -> Optional[LlmResponse]:
|
|
97
|
+
"""call llm stage"""
|
|
90
98
|
trace.get_tracer("gcp.vertex.agent")
|
|
91
99
|
span = trace.get_current_span()
|
|
92
100
|
# logger.debug(f"llm_response: {llm_response}")
|
|
@@ -95,6 +103,10 @@ class BaseTracer(ABC):
|
|
|
95
103
|
# Refined: collect all attributes, use set_attributes, print for debugging
|
|
96
104
|
attributes = {}
|
|
97
105
|
|
|
106
|
+
app_name = getattr(self, "app_name", "veadk_app")
|
|
107
|
+
agent_name = callback_context.agent_name
|
|
108
|
+
attributes["agent.name"] = agent_name
|
|
109
|
+
attributes["app.name"] = app_name
|
|
98
110
|
# prompt
|
|
99
111
|
user_content = callback_context.user_content
|
|
100
112
|
if getattr(user_content, "role", None):
|
|
@@ -170,3 +182,32 @@ class BaseTracer(ABC):
|
|
|
170
182
|
# Fallback for OpenTelemetry versions without set_attributes
|
|
171
183
|
for k, v in attributes.items():
|
|
172
184
|
span.set_attribute(k, v)
|
|
185
|
+
|
|
186
|
+
def tracer_hook_after_tool(
|
|
187
|
+
self,
|
|
188
|
+
tool: BaseTool,
|
|
189
|
+
args: dict[str, Any],
|
|
190
|
+
tool_context: ToolContext,
|
|
191
|
+
tool_response: dict,
|
|
192
|
+
):
|
|
193
|
+
trace.get_tracer("gcp.vertex.agent")
|
|
194
|
+
span = trace.get_current_span()
|
|
195
|
+
agent_name = tool_context.agent_name
|
|
196
|
+
tool_name = tool.name
|
|
197
|
+
app_name = getattr(self, "app_name", "veadk_app")
|
|
198
|
+
attributes = {
|
|
199
|
+
"agent.name": agent_name,
|
|
200
|
+
"app.name": app_name,
|
|
201
|
+
"tool.name": tool_name,
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
# Set all attributes at once if possible, else fallback to individual
|
|
205
|
+
if hasattr(span, "set_attributes"):
|
|
206
|
+
span.set_attributes(attributes)
|
|
207
|
+
else:
|
|
208
|
+
# Fallback for OpenTelemetry versions without set_attributes
|
|
209
|
+
for k, v in attributes.items():
|
|
210
|
+
span.set_attribute(k, v)
|
|
211
|
+
|
|
212
|
+
def set_app_name(self, app_name):
|
|
213
|
+
self.app_name = app_name
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|