veadk-python 0.2.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__/version.cpython-310.pyc +0 -0
- veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py +2 -4
- veadk/tracing/telemetry/__pycache__/opentelemetry_tracer.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/__pycache__/inmemory_exporter.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/inmemory_exporter.py +0 -3
- veadk/tracing/telemetry/opentelemetry_tracer.py +35 -33
- veadk/version.py +1 -1
- {veadk_python-0.2.0.dist-info → veadk_python-0.2.1.dist-info}/METADATA +1 -1
- {veadk_python-0.2.0.dist-info → veadk_python-0.2.1.dist-info}/RECORD +13 -13
- {veadk_python-0.2.0.dist-info → veadk_python-0.2.1.dist-info}/WHEEL +0 -0
- {veadk_python-0.2.0.dist-info → veadk_python-0.2.1.dist-info}/entry_points.txt +0 -0
- {veadk_python-0.2.0.dist-info → veadk_python-0.2.1.dist-info}/licenses/LICENSE +0 -0
- {veadk_python-0.2.0.dist-info → veadk_python-0.2.1.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
@@ -52,7 +52,7 @@ class DeepevalEvaluator(BaseEvaluator):
|
|
|
52
52
|
"https://ark.cn-beijing.volces.com/api/v3/",
|
|
53
53
|
),
|
|
54
54
|
name: str = "veadk_deepeval_evaluator",
|
|
55
|
-
prometheus_config: PrometheusPushgatewayConfig = None,
|
|
55
|
+
prometheus_config: PrometheusPushgatewayConfig | None = None,
|
|
56
56
|
):
|
|
57
57
|
super().__init__(agent=agent, name=name)
|
|
58
58
|
|
|
@@ -73,11 +73,9 @@ class DeepevalEvaluator(BaseEvaluator):
|
|
|
73
73
|
eval_id: str = f"test_{formatted_timestamp()}",
|
|
74
74
|
):
|
|
75
75
|
"""Target to Google ADK, we will use the same evaluation case format as Google ADK."""
|
|
76
|
-
for metric in metrics:
|
|
77
|
-
if not metric.model:
|
|
78
|
-
metric.model = self.judge_model
|
|
79
76
|
# Get evaluation data by parsing eval set file
|
|
80
77
|
self.generate_eval_data(eval_set_file_path)
|
|
78
|
+
|
|
81
79
|
# Get actual data by running agent
|
|
82
80
|
logger.info("Start to run agent for actual data.")
|
|
83
81
|
await self._run_agent_for_actual_data()
|
|
Binary file
|
|
Binary file
|
|
@@ -19,12 +19,11 @@ import time
|
|
|
19
19
|
from typing import Any
|
|
20
20
|
|
|
21
21
|
from openinference.instrumentation.google_adk import GoogleADKInstrumentor
|
|
22
|
-
from opentelemetry.sdk import trace as trace_sdk
|
|
23
22
|
from opentelemetry import trace as trace_api
|
|
23
|
+
from opentelemetry.sdk import trace as trace_sdk
|
|
24
24
|
from opentelemetry.sdk.resources import Resource
|
|
25
25
|
from opentelemetry.sdk.trace import TracerProvider
|
|
26
26
|
from opentelemetry.sdk.trace.export import BatchSpanProcessor, SimpleSpanProcessor
|
|
27
|
-
|
|
28
27
|
from pydantic import BaseModel, ConfigDict, Field
|
|
29
28
|
from typing_extensions import override
|
|
30
29
|
|
|
@@ -62,28 +61,19 @@ class OpentelemetryTracer(BaseModel, BaseTracer):
|
|
|
62
61
|
|
|
63
62
|
def model_post_init(self, context: Any, /) -> None:
|
|
64
63
|
self._processors = []
|
|
65
|
-
self._inmemory_exporter: InMemoryExporter = None
|
|
66
|
-
|
|
67
|
-
#
|
|
68
|
-
have_inmemory_exporter = False
|
|
69
|
-
have_apiserver_exporter = False
|
|
64
|
+
self._inmemory_exporter: InMemoryExporter | None = None
|
|
65
|
+
|
|
66
|
+
# InMemoryExporter is a default exporter for exporting local tracing file
|
|
70
67
|
for exporter in self.exporters:
|
|
71
68
|
if isinstance(exporter, InMemoryExporter):
|
|
72
|
-
have_inmemory_exporter = True
|
|
73
69
|
self._inmemory_exporter = exporter
|
|
74
|
-
elif isinstance(exporter, ApiServerExporter):
|
|
75
|
-
have_apiserver_exporter = True
|
|
76
|
-
self._apiserver_exporter = exporter
|
|
77
|
-
|
|
78
|
-
if not have_inmemory_exporter:
|
|
79
|
-
inmemory_exporter = InMemoryExporter()
|
|
80
|
-
self.exporters.append(inmemory_exporter)
|
|
81
|
-
self._inmemory_exporter = inmemory_exporter
|
|
82
|
-
if not have_apiserver_exporter:
|
|
83
|
-
apiserver_exporter = ApiServerExporter()
|
|
84
|
-
self.exporters.append(apiserver_exporter)
|
|
85
|
-
self._apiserver_exporter = apiserver_exporter
|
|
86
70
|
|
|
71
|
+
if self._inmemory_exporter is None:
|
|
72
|
+
self._inmemory_exporter = InMemoryExporter()
|
|
73
|
+
self.exporters.append(self._inmemory_exporter)
|
|
74
|
+
# ========================================================================
|
|
75
|
+
|
|
76
|
+
# Process meter-related attributes
|
|
87
77
|
self._meter_contexts = []
|
|
88
78
|
self._meter_uploaders = []
|
|
89
79
|
for exporter in self.exporters:
|
|
@@ -94,25 +84,24 @@ class OpentelemetryTracer(BaseModel, BaseTracer):
|
|
|
94
84
|
for meter_context in self._meter_contexts:
|
|
95
85
|
meter_uploader = MeterUploader(meter_context)
|
|
96
86
|
self._meter_uploaders.append(meter_uploader)
|
|
87
|
+
# ================================
|
|
97
88
|
|
|
98
89
|
# init tracer provider
|
|
90
|
+
# VeADK operates on global OpenTelemetry provider, hence return nothing
|
|
99
91
|
self._init_tracer_provider()
|
|
100
92
|
|
|
101
93
|
# just for debug
|
|
102
94
|
self._trace_file_path = ""
|
|
103
95
|
|
|
104
|
-
# patch this before starting instrumentation
|
|
105
|
-
# enable_veadk_tracing(self.dump)
|
|
106
|
-
|
|
107
96
|
GoogleADKInstrumentor().instrument()
|
|
108
97
|
|
|
109
|
-
def _init_tracer_provider(self):
|
|
98
|
+
def _init_tracer_provider(self) -> None:
|
|
110
99
|
# 1. get global trace provider
|
|
111
100
|
global_tracer_provider = trace_api.get_tracer_provider()
|
|
112
101
|
|
|
113
102
|
if not isinstance(global_tracer_provider, TracerProvider):
|
|
114
103
|
logger.info(
|
|
115
|
-
|
|
104
|
+
"Global tracer provider has not been set. Create tracer provider and set it now."
|
|
116
105
|
)
|
|
117
106
|
# 1.1 init tracer provider
|
|
118
107
|
tracer_provider = trace_sdk.TracerProvider()
|
|
@@ -123,17 +112,25 @@ class OpentelemetryTracer(BaseModel, BaseTracer):
|
|
|
123
112
|
# 2. check if apmplus exporter is already exist
|
|
124
113
|
for processor in global_tracer_provider._active_span_processor._span_processors:
|
|
125
114
|
if isinstance(processor, (BatchSpanProcessor, SimpleSpanProcessor)):
|
|
126
|
-
#
|
|
127
|
-
|
|
128
|
-
|
|
115
|
+
# try to get endpoint, in case of exporter has no _endpoint attribute
|
|
116
|
+
try:
|
|
117
|
+
exporter_endpoint = processor.span_exporter._endpoint
|
|
118
|
+
if "apmplus" in exporter_endpoint:
|
|
119
|
+
have_apmplus_exporter = True
|
|
120
|
+
except AttributeError:
|
|
121
|
+
# log a warning and pass this exporter
|
|
122
|
+
logger.warning(
|
|
123
|
+
f"Exporter {processor.span_exporter} has no endpoint."
|
|
124
|
+
)
|
|
129
125
|
|
|
130
126
|
# 3. add exporters to global tracer_provider
|
|
131
127
|
# range over a copy of exporters to avoid index issues
|
|
128
|
+
if have_apmplus_exporter:
|
|
129
|
+
self.exporters = [
|
|
130
|
+
e for e in self.exporters if not isinstance(e, APMPlusExporter)
|
|
131
|
+
]
|
|
132
|
+
|
|
132
133
|
for exporter in self.exporters[:]:
|
|
133
|
-
if have_apmplus_exporter and isinstance(exporter, APMPlusExporter):
|
|
134
|
-
# apmplus exporter has been int in global tracer provider, need to remove from exporters.
|
|
135
|
-
self.exporters.remove(exporter)
|
|
136
|
-
continue
|
|
137
134
|
processor, resource_attributes = exporter.get_processor()
|
|
138
135
|
if resource_attributes is not None:
|
|
139
136
|
update_resource_attributions(
|
|
@@ -144,7 +141,6 @@ class OpentelemetryTracer(BaseModel, BaseTracer):
|
|
|
144
141
|
self._processors.append(processor)
|
|
145
142
|
logger.debug(f"Init OpentelemetryTracer with {len(self.exporters)} exporters.")
|
|
146
143
|
|
|
147
|
-
|
|
148
144
|
@override
|
|
149
145
|
def dump(
|
|
150
146
|
self,
|
|
@@ -152,6 +148,12 @@ class OpentelemetryTracer(BaseModel, BaseTracer):
|
|
|
152
148
|
session_id: str,
|
|
153
149
|
path: str = "/tmp",
|
|
154
150
|
) -> str:
|
|
151
|
+
if not self._inmemory_exporter:
|
|
152
|
+
logger.warning(
|
|
153
|
+
"InMemoryExporter is not initialized. Please check your tracer exporters."
|
|
154
|
+
)
|
|
155
|
+
return ""
|
|
156
|
+
|
|
155
157
|
prompt_tokens = self._inmemory_exporter._real_exporter.prompt_tokens
|
|
156
158
|
completion_tokens = self._inmemory_exporter._real_exporter.completion_tokens
|
|
157
159
|
|
veadk/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: veadk-python
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: Volcengine agent development kit, integrations with Volcengine cloud services.
|
|
5
5
|
Author-email: Yaozheng Fang <fangyozheng@gmail.com>, Guodong Li <cu.eric.lee@gmail.com>, Zhi Han <sliverydayday@gmail.com>, Meng Wang <mengwangwm@gmail.com>
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -4,14 +4,14 @@ veadk/config.py,sha256=UFUgzL4fTRlM_LIyutP50dvxtKOuFeMhL5TPEOO7r2k,4109
|
|
|
4
4
|
veadk/consts.py,sha256=DIVr-sXQahrlJoPiTfsDL0y_pX8w-LLXHDsubL5w13k,802
|
|
5
5
|
veadk/runner.py,sha256=dRp4Qws_m7CJZ8zCsQ36kklGmUWBtLJnUgHj9eBZJZE,9049
|
|
6
6
|
veadk/types.py,sha256=pFwBNu93xldy23j4tycpdpKUvpeg_8Ho5hhf-DCsKQg,864
|
|
7
|
-
veadk/version.py,sha256=
|
|
7
|
+
veadk/version.py,sha256=wz7JV-NDeTza7ICAj0QLylkGkfJudZdTdvWKGp7pJZ0,653
|
|
8
8
|
veadk/__pycache__/__init__.cpython-310.pyc,sha256=v0cSDrRHlquyZln9_R2jx6Wv_Pujx04sLZzBk11dLeM,525
|
|
9
9
|
veadk/__pycache__/agent.cpython-310.pyc,sha256=7CvnelBRN-zt_Jb6LJUON9PTmTYsxayks-Irh3TIfv0,7581
|
|
10
10
|
veadk/__pycache__/config.cpython-310.pyc,sha256=bw0rq7_E755cNXE3gCblQcrYlFSdH3DTFnIBQVeGcgs,3220
|
|
11
11
|
veadk/__pycache__/consts.cpython-310.pyc,sha256=xxHPN1lv6ORHp3SyxIp4MPFTwSM8XkW44DGzsf4QB4I,321
|
|
12
12
|
veadk/__pycache__/runner.cpython-310.pyc,sha256=rg8MRn6WU58AE56CekPqOM_phCFHOgODr-rzwzDXpgE,6126
|
|
13
13
|
veadk/__pycache__/types.cpython-310.pyc,sha256=s9SBY3yiOEm5zuPugvJnuYWNdVTWJv8ioLOv40okJ6I,412
|
|
14
|
-
veadk/__pycache__/version.cpython-310.pyc,sha256=
|
|
14
|
+
veadk/__pycache__/version.cpython-310.pyc,sha256=Y13TKX-01Df6C7exvvT92umdtfPjQ9PF7nvmo6m8FiE,165
|
|
15
15
|
veadk/a2a/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
|
|
16
16
|
veadk/a2a/agent_card.py,sha256=lhtgW1acMpxYUdULHEZwVFXOi6Xh4lNkf4S7QIhbFFI,1525
|
|
17
17
|
veadk/a2a/remote_ve_agent.py,sha256=l7qqEShvuKRnPtLZfVKFdma1-Xtr7Wk0k6XtFkMDSSU,1256
|
|
@@ -439,7 +439,7 @@ veadk/evaluation/adk_evaluator/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh
|
|
|
439
439
|
veadk/evaluation/adk_evaluator/adk_evaluator.py,sha256=v3IiIFyg6S1Ik9TAYo-3ZaF_JvEhAXQtwmqkv8rL6Rc,10193
|
|
440
440
|
veadk/evaluation/adk_evaluator/__pycache__/__init__.cpython-310.pyc,sha256=qHSnTNUwWv_RrGxWvTHSbwDqKikXYVf-7yyzgPeRljY,174
|
|
441
441
|
veadk/evaluation/deepeval_evaluator/__init__.py,sha256=lLGtRvWhwDy4u7hmtZxZbPmdMzM58pSjEwEF34NqW-4,718
|
|
442
|
-
veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py,sha256=
|
|
442
|
+
veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py,sha256=rbEn0tKFqWSMSF8mpcgD0YVSHeHzU5acej7q6DDzQQY,8442
|
|
443
443
|
veadk/evaluation/deepeval_evaluator/__pycache__/__init__.cpython-310.pyc,sha256=S4zNa-BCsyL7xBDoMMUxVki492LcCitIke4wvwywXmc,261
|
|
444
444
|
veadk/evaluation/deepeval_evaluator/__pycache__/deepeval_evaluator.cpython-310.pyc,sha256=PlbOq3bSpDHFS5QFFl8aPMTOcDJAJ7MhsJIS1tPuPaw,5267
|
|
445
445
|
veadk/evaluation/utils/prometheus.py,sha256=4Jhx5T8ibdcY6EdpOaTFqBJRIKFMCbx7qlDZP00X-a0,3868
|
|
@@ -493,22 +493,22 @@ veadk/tracing/base_tracer.py,sha256=8Al5erGk-tJ-7qJsbC0e050eR4SAOk3e2OL3dgLncjk,
|
|
|
493
493
|
veadk/tracing/__pycache__/__init__.cpython-310.pyc,sha256=jMzJwkEztEGTn9vCjIJfPrB4VQyc3Z8fi4pEUXYyWS8,157
|
|
494
494
|
veadk/tracing/__pycache__/base_tracer.cpython-310.pyc,sha256=_EHjlUlH84rhL1OJEsh9lBwoT13XR2MW7g6qN6ssZDA,4416
|
|
495
495
|
veadk/tracing/telemetry/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
|
|
496
|
-
veadk/tracing/telemetry/opentelemetry_tracer.py,sha256=
|
|
496
|
+
veadk/tracing/telemetry/opentelemetry_tracer.py,sha256=W4_Z5hBpLgwbWjV_DPYhmQCVDgrZ9zJMuDnQ6dkbp60,8415
|
|
497
497
|
veadk/tracing/telemetry/__pycache__/__init__.cpython-310.pyc,sha256=AwKg0L0Ii4rvjSndNNJHS3YYvJymicd36IVfrjEHzxc,167
|
|
498
|
-
veadk/tracing/telemetry/__pycache__/opentelemetry_tracer.cpython-310.pyc,sha256=
|
|
498
|
+
veadk/tracing/telemetry/__pycache__/opentelemetry_tracer.cpython-310.pyc,sha256=Y0c58qf20FtDkMHpLuMwQY0FoUlOgYrELhQORjAdAbs,5702
|
|
499
499
|
veadk/tracing/telemetry/exporters/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
|
|
500
500
|
veadk/tracing/telemetry/exporters/apiserver_exporter.py,sha256=Xn7CJASHjWMiSJZ7J6hEmK66P6h6jVx7xVH627IVhUM,2239
|
|
501
501
|
veadk/tracing/telemetry/exporters/apmplus_exporter.py,sha256=qC49saKDKZnCRy-y11xoR8iFco3iwzB08QPYRDYABcg,3707
|
|
502
502
|
veadk/tracing/telemetry/exporters/base_exporter.py,sha256=c4Py27xPt-FhvKnOMrCj-3GBpj2cmjrm8mkOtDpvDRg,890
|
|
503
503
|
veadk/tracing/telemetry/exporters/cozeloop_exporter.py,sha256=a2oUjR01k0LkeXZ56AG7FuuCK_qnQ0Zg5VpDkm_y1NQ,2386
|
|
504
|
-
veadk/tracing/telemetry/exporters/inmemory_exporter.py,sha256=
|
|
504
|
+
veadk/tracing/telemetry/exporters/inmemory_exporter.py,sha256=ChNG3pCB9D9zr42GruDHxhfcIdidVXQqeGfjpnKsjJI,3227
|
|
505
505
|
veadk/tracing/telemetry/exporters/tls_exporter.py,sha256=GEHKyNDdWuPNhG7aHsIq3cTN99Fc_caMrEv-FfULb6Y,2677
|
|
506
506
|
veadk/tracing/telemetry/exporters/__pycache__/__init__.cpython-310.pyc,sha256=wI_WBNa7P0nVDc5HUZriRqr4chtdQ-YvnkxC9K7orKc,177
|
|
507
507
|
veadk/tracing/telemetry/exporters/__pycache__/apiserver_exporter.cpython-310.pyc,sha256=Hfrj2XvLyCtm4TWtYRrs6pFTLtu3_lCkK6QNKFUPRGo,2176
|
|
508
508
|
veadk/tracing/telemetry/exporters/__pycache__/apmplus_exporter.cpython-310.pyc,sha256=8sM8NDZWnCT4262g54p4rNRvuTU3EzVzZ9_U_bvWt94,3410
|
|
509
509
|
veadk/tracing/telemetry/exporters/__pycache__/base_exporter.cpython-310.pyc,sha256=OBr1qAJnArckgL0gZrh0xFfFlcDmxxXpdfNiGloJnBE,867
|
|
510
510
|
veadk/tracing/telemetry/exporters/__pycache__/cozeloop_exporter.cpython-310.pyc,sha256=7mRzr-ahhg9Ts8_HlfFE9phCVnWOkbdyRVVK8CEzidk,2344
|
|
511
|
-
veadk/tracing/telemetry/exporters/__pycache__/inmemory_exporter.cpython-310.pyc,sha256=
|
|
511
|
+
veadk/tracing/telemetry/exporters/__pycache__/inmemory_exporter.cpython-310.pyc,sha256=hv8CIPEqlC6mQmEtm21x1FXVhZ36kqpBB3eEYL4YBcI,3084
|
|
512
512
|
veadk/tracing/telemetry/exporters/__pycache__/tls_exporter.cpython-310.pyc,sha256=_qblkapkb-7hutrshQugTTdKasdBLFKP13MoC29jOZI,2626
|
|
513
513
|
veadk/tracing/telemetry/metrics/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
|
|
514
514
|
veadk/tracing/telemetry/metrics/opentelemetry_metrics.py,sha256=0VcEfQqPF17tgGZrUbF9JCbvzO-_o4cycid2j1DWAow,2715
|
|
@@ -526,9 +526,9 @@ veadk/utils/__pycache__/mcp_utils.cpython-310.pyc,sha256=Ju1AxX9uw1jyfssci5Fya8t
|
|
|
526
526
|
veadk/utils/__pycache__/misc.cpython-310.pyc,sha256=HB9waD1DEzY1bVQDpWmR6ABF2aDentKNeNEuEtsBQjY,943
|
|
527
527
|
veadk/utils/__pycache__/patches.cpython-310.pyc,sha256=1TjcvbZAAzRP5lIXLPi7bJTAxXmKWTgi_vXAR6wS0-8,1476
|
|
528
528
|
veadk/utils/__pycache__/volcengine_sign.cpython-310.pyc,sha256=KPU675rYh3l4JkUwT9OO26yjTW5HLgI9fGRKG93oYiI,3219
|
|
529
|
-
veadk_python-0.2.
|
|
530
|
-
veadk_python-0.2.
|
|
531
|
-
veadk_python-0.2.
|
|
532
|
-
veadk_python-0.2.
|
|
533
|
-
veadk_python-0.2.
|
|
534
|
-
veadk_python-0.2.
|
|
529
|
+
veadk_python-0.2.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
530
|
+
veadk_python-0.2.1.dist-info/METADATA,sha256=3JKlfPm2e3AUEgaoP1nGX-V6z5xOpQhJe2M-u_Ajgd0,4338
|
|
531
|
+
veadk_python-0.2.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
532
|
+
veadk_python-0.2.1.dist-info/entry_points.txt,sha256=su1TJC5YpYPk1o4I5uKOI8pjaR0wujhnjJeqQ-yk65U,45
|
|
533
|
+
veadk_python-0.2.1.dist-info/top_level.txt,sha256=Qqi3ycJ4anKiZWBXtUBIy8zK9ZuXJsFa05oFq8O8qqY,6
|
|
534
|
+
veadk_python-0.2.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|