From 312908280737c136f3541ceecdd9ba06311f6a25 Mon Sep 17 00:00:00 2001 From: "hanzhi.421" Date: Wed, 6 Aug 2025 10:00:15 +0800 Subject: [PATCH] fix(tracer): agent on vefaas without tracer callback --- veadk/agent.py | 18 ++++++++++++------ veadk/cli/services/vefaas/template/src/app.py | 1 + 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/veadk/agent.py b/veadk/agent.py index b7c09a5e..93cb98e0 100644 --- a/veadk/agent.py +++ b/veadk/agent.py @@ -114,18 +114,24 @@ def model_post_init(self, __context: Any) -> None: self.tools.append(load_memory) - if self.tracers: - self.before_model_callback = [] - self.after_model_callback = [] - for tracer in self.tracers: - self.before_model_callback.append(tracer.llm_metrics_hook) - self.after_model_callback.append(tracer.token_metrics_hook) + self.before_model_callback = [] + self.after_model_callback = [] + self.update_tracers_callback() logger.info(f"Agent `{self.name}` init done.") logger.debug( f"Agent: {self.model_dump(include={'name', 'model_name', 'model_api_base', 'tools', 'serve_url'})}" ) + def update_tracers_callback(self) -> None: + """Update tracer callbacks with tracers.""" + for tracer in self.tracers: + # Add tracer callbacks if not already added + if tracer.llm_metrics_hook not in self.before_model_callback: + self.before_model_callback.append(tracer.llm_metrics_hook) + if tracer.token_metrics_hook not in self.after_model_callback: + self.after_model_callback.append(tracer.token_metrics_hook) + async def _run( self, runner, diff --git a/veadk/cli/services/vefaas/template/src/app.py b/veadk/cli/services/vefaas/template/src/app.py index 493ab2a5..ace348b2 100644 --- a/veadk/cli/services/vefaas/template/src/app.py +++ b/veadk/cli/services/vefaas/template/src/app.py @@ -21,6 +21,7 @@ SERVER_HOST = os.getenv("SERVER_HOST") AGENT.tracers.extend(TRACERS) +AGENT.update_tracers_callback() app = init_app( server_url=SERVER_HOST,