Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 12 additions & 6 deletions veadk/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Comment on lines +128 to +134
Copy link

Copilot AI Aug 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using not in for list membership checking has O(n) complexity. Consider using a set to track added callbacks for O(1) lookups, especially if the number of tracers could be large.

Suggested change
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)
before_set = set(self.before_model_callback)
after_set = set(self.after_model_callback)
for tracer in self.tracers:
# Add tracer callbacks if not already added
if tracer.llm_metrics_hook not in before_set:
self.before_model_callback.append(tracer.llm_metrics_hook)
before_set.add(tracer.llm_metrics_hook)
if tracer.token_metrics_hook not in after_set:
self.after_model_callback.append(tracer.token_metrics_hook)
after_set.add(tracer.token_metrics_hook)

Copilot uses AI. Check for mistakes.
Comment on lines +128 to +134
Copy link

Copilot AI Aug 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using not in for list membership checking has O(n) complexity. Consider using a set to track added callbacks for O(1) lookups, especially if the number of tracers could be large.

Suggested change
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)
before_set = set(self.before_model_callback)
after_set = set(self.after_model_callback)
for tracer in self.tracers:
# Add tracer callbacks if not already added
if tracer.llm_metrics_hook not in before_set:
self.before_model_callback.append(tracer.llm_metrics_hook)
before_set.add(tracer.llm_metrics_hook)
if tracer.token_metrics_hook not in after_set:
self.after_model_callback.append(tracer.token_metrics_hook)
after_set.add(tracer.token_metrics_hook)

Copilot uses AI. Check for mistakes.
async def _run(
self,
runner,
Expand Down
1 change: 1 addition & 0 deletions veadk/cli/services/vefaas/template/src/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down